From 146ca66c3ee7985862834ea2046b57ce4e2741d8 Mon Sep 17 00:00:00 2001 From: pineappleEA Date: Sun, 30 May 2021 08:36:49 +0200 Subject: [PATCH] early-access version 1730 --- README.md | 2 +- externals/dynarmic/.clang-format | 218 + externals/dynarmic/CMakeLists.txt | 4 +- externals/dynarmic/README.md | 43 +- externals/dynarmic/externals/CMakeLists.txt | 7 + externals/dynarmic/externals/README.md | 6 + .../dynarmic/externals/zycore/.gitignore | 100 + .../dynarmic/externals/zycore/CMakeLists.txt | 266 + .../externals/zycore/CMakeLists.txt.in | 15 + externals/dynarmic/externals/zycore/LICENSE | 23 + externals/dynarmic/externals/zycore/README.md | 25 + .../zycore/cmake/zycore-config.cmake.in | 8 + .../externals/zycore/examples/String.c | 192 + .../externals/zycore/examples/Vector.c | 395 + .../zycore/include/Zycore/API/Memory.h | 134 + .../zycore/include/Zycore/API/Process.h | 67 + .../include/Zycore/API/Synchronization.h | 133 + .../zycore/include/Zycore/API/Terminal.h | 163 + .../zycore/include/Zycore/API/Thread.h | 244 + .../zycore/include/Zycore/Allocator.h | 143 + .../zycore/include/Zycore/ArgParse.h | 173 + .../externals/zycore/include/Zycore/Bitset.h | 484 + .../zycore/include/Zycore/Comparison.h | 316 + .../externals/zycore/include/Zycore/Defines.h | 443 + .../externals/zycore/include/Zycore/Format.h | 286 + .../externals/zycore/include/Zycore/LibC.h | 511 + .../externals/zycore/include/Zycore/List.h | 574 + .../externals/zycore/include/Zycore/Object.h | 84 + .../externals/zycore/include/Zycore/Status.h | 287 + .../externals/zycore/include/Zycore/String.h | 1012 ++ .../externals/zycore/include/Zycore/Types.h | 195 + .../externals/zycore/include/Zycore/Vector.h | 723 + .../externals/zycore/include/Zycore/Zycore.h | 111 + .../externals/zycore/resources/VersionInfo.rc | Bin 0 -> 4500 bytes .../externals/zycore/src/API/Memory.c | 128 + .../externals/zycore/src/API/Process.c | 68 + .../zycore/src/API/Synchronization.c | 200 + .../externals/zycore/src/API/Terminal.c | 156 + .../externals/zycore/src/API/Thread.c | 194 + .../dynarmic/externals/zycore/src/Allocator.c | 134 + .../dynarmic/externals/zycore/src/ArgParse.c | 279 + .../dynarmic/externals/zycore/src/Bitset.c | 670 + .../dynarmic/externals/zycore/src/Format.c | 507 + .../dynarmic/externals/zycore/src/List.c | 673 + .../dynarmic/externals/zycore/src/String.c | 1098 ++ .../dynarmic/externals/zycore/src/Vector.c | 848 ++ .../dynarmic/externals/zycore/src/Zycore.c | 38 + .../externals/zycore/tests/ArgParse.cpp | 320 + .../externals/zycore/tests/String.cpp | 69 + .../externals/zycore/tests/Vector.cpp | 505 + .../dynarmic/externals/zydis/.gitattributes | 1 + .../externals/zydis/.github/FUNDING.yml | 1 + .../zydis/.github/workflows/main.yml | 69 + externals/dynarmic/externals/zydis/.gitignore | 101 + .../dynarmic/externals/zydis/.gitmodules | 3 + .../dynarmic/externals/zydis/CMakeLists.txt | 296 + externals/dynarmic/externals/zydis/Doxyfile | 2471 ++++ .../dynarmic/externals/zydis/Doxyfile-mcss | 7 + externals/dynarmic/externals/zydis/LICENSE | 23 + externals/dynarmic/externals/zydis/README.md | 178 + .../zydis/assets/ZydisExportConfigSample.h | 41 + .../zydis/assets/ZydisFuzz_seed_corpus.zip | Bin 0 -> 371379 bytes .../zydis/assets/screenshots/ZydisInfo.png | Bin 0 -> 59059 bytes .../zydis/assets/version-bump-checklist.txt | 4 + .../zydis/cmake/zydis-config.cmake.in | 8 + .../externals/zydis/examples/Formatter01.c | 163 + .../externals/zydis/examples/Formatter02.c | 265 + .../externals/zydis/examples/Formatter03.c | 126 + .../externals/zydis/examples/README.md | 23 + .../externals/zydis/examples/ZydisPerfTest.c | 578 + .../externals/zydis/examples/ZydisWinKernel.c | 189 + externals/dynarmic/externals/zydis/files.dox | 12 + .../externals/zydis/include/Zydis/Decoder.h | 237 + .../zydis/include/Zydis/DecoderTypes.h | 1551 +++ .../externals/zydis/include/Zydis/Formatter.h | 1179 ++ .../zydis/include/Zydis/FormatterBuffer.h | 306 + .../include/Zydis/Generated/EnumISAExt.h | 98 + .../include/Zydis/Generated/EnumISASet.h | 184 + .../Zydis/Generated/EnumInstructionCategory.h | 117 + .../include/Zydis/Generated/EnumMnemonic.h | 1643 +++ .../include/Zydis/Generated/EnumRegister.h | 301 + .../include/Zydis/Internal/DecoderData.h | 331 + .../include/Zydis/Internal/FormatterATT.h | 178 + .../include/Zydis/Internal/FormatterBase.h | 318 + .../include/Zydis/Internal/FormatterIntel.h | 267 + .../zydis/include/Zydis/Internal/SharedData.h | 975 ++ .../zydis/include/Zydis/Internal/String.h | 464 + .../externals/zydis/include/Zydis/MetaInfo.h | 88 + .../externals/zydis/include/Zydis/Mnemonic.h | 88 + .../externals/zydis/include/Zydis/Register.h | 293 + .../zydis/include/Zydis/SharedTypes.h | 480 + .../zydis/include/Zydis/ShortString.h | 90 + .../externals/zydis/include/Zydis/Status.h | 159 + .../externals/zydis/include/Zydis/Utils.h | 275 + .../externals/zydis/include/Zydis/Zydis.h | 169 + .../dynarmic/externals/zydis/msvc/README.md | 17 + .../externals/zydis/msvc/ZycoreExportConfig.h | 42 + .../dynarmic/externals/zydis/msvc/Zydis.sln | 458 + .../externals/zydis/msvc/ZydisExportConfig.h | 42 + .../msvc/dependencies/zycore/Zycore.vcxproj | 893 ++ .../zycore/Zycore.vcxproj.filters | 79 + .../zydis/msvc/examples/Formatter01.vcxproj | 818 ++ .../msvc/examples/Formatter01.vcxproj.filters | 95 + .../zydis/msvc/examples/Formatter02.vcxproj | 818 ++ .../msvc/examples/Formatter02.vcxproj.filters | 95 + .../zydis/msvc/examples/Formatter03.vcxproj | 818 ++ .../msvc/examples/Formatter03.vcxproj.filters | 95 + .../zydis/msvc/examples/ZydisPerfTest.vcxproj | 818 ++ .../examples/ZydisPerfTest.vcxproj.filters | 95 + .../msvc/examples/ZydisWinKernel.vcxproj | 245 + .../examples/ZydisWinKernel.vcxproj.filters | 95 + .../zydis/msvc/tools/ZydisDisasm.vcxproj | 818 ++ .../msvc/tools/ZydisDisasm.vcxproj.filters | 95 + .../zydis/msvc/tools/ZydisFuzzIn.vcxproj | 818 ++ .../msvc/tools/ZydisFuzzIn.vcxproj.filters | 95 + .../zydis/msvc/tools/ZydisInfo.vcxproj | 818 ++ .../msvc/tools/ZydisInfo.vcxproj.filters | 95 + .../externals/zydis/msvc/zydis/Zydis.vcxproj | 916 ++ .../zydis/msvc/zydis/Zydis.vcxproj.filters | 161 + .../externals/zydis/resources/VersionInfo.rc | Bin 0 -> 4504 bytes .../dynarmic/externals/zydis/src/Decoder.c | 4941 +++++++ .../externals/zydis/src/DecoderData.c | 174 + .../dynarmic/externals/zydis/src/Formatter.c | 646 + .../externals/zydis/src/FormatterATT.c | 395 + .../externals/zydis/src/FormatterBase.c | 756 + .../externals/zydis/src/FormatterBuffer.c | 191 + .../externals/zydis/src/FormatterIntel.c | 442 + .../zydis/src/Generated/AccessedFlags.inc | 77 + .../zydis/src/Generated/DecoderTables.inc | 6929 +++++++++ .../src/Generated/EncodableInstructions.inc | 11552 ++++++++++++++++ .../zydis/src/Generated/EnumISAExt.inc | 86 + .../zydis/src/Generated/EnumISASet.inc | 172 + .../src/Generated/EnumInstructionCategory.inc | 105 + .../zydis/src/Generated/EnumMnemonic.inc | 1631 +++ .../zydis/src/Generated/EnumRegister.inc | 289 + .../zydis/src/Generated/FormatterStrings.inc | 694 + .../src/Generated/InstructionDefinitions.inc | 7255 ++++++++++ .../src/Generated/InstructionEncodings.inc | 23 + .../src/Generated/OperandDefinitions.inc | 6850 +++++++++ .../dynarmic/externals/zydis/src/MetaInfo.c | 68 + .../dynarmic/externals/zydis/src/Mnemonic.c | 52 + .../dynarmic/externals/zydis/src/Register.c | 303 + .../dynarmic/externals/zydis/src/SharedData.c | 187 + .../dynarmic/externals/zydis/src/String.c | 362 + .../dynarmic/externals/zydis/src/Utils.c | 368 + .../dynarmic/externals/zydis/src/Zydis.c | 73 + .../externals/zydis/tests/cases/3dnow_000.in | 1 + .../externals/zydis/tests/cases/3dnow_001.in | 1 + .../externals/zydis/tests/cases/3dnow_002.in | 1 + .../externals/zydis/tests/cases/3dnow_003.in | 1 + .../externals/zydis/tests/cases/3dnow_004.in | 1 + .../externals/zydis/tests/cases/3dnow_005.in | 1 + .../externals/zydis/tests/cases/3dnow_006.in | 1 + .../externals/zydis/tests/cases/3dnow_007.in | 1 + .../externals/zydis/tests/cases/3dnow_008.in | 1 + .../externals/zydis/tests/cases/3dnow_009.in | 1 + .../externals/zydis/tests/cases/3dnow_010.in | 1 + .../externals/zydis/tests/cases/3dnow_011.in | 1 + .../externals/zydis/tests/cases/3dnow_012.in | 1 + .../externals/zydis/tests/cases/3dnow_013.in | 1 + .../externals/zydis/tests/cases/3dnow_014.in | 1 + .../externals/zydis/tests/cases/3dnow_015.in | 1 + .../externals/zydis/tests/cases/3dnow_016.in | 1 + .../externals/zydis/tests/cases/3dnow_017.in | 1 + .../externals/zydis/tests/cases/3dnow_018.in | 1 + .../externals/zydis/tests/cases/3dnow_019.in | 1 + .../externals/zydis/tests/cases/3dnow_020.in | 1 + .../externals/zydis/tests/cases/3dnow_021.in | 1 + .../externals/zydis/tests/cases/3dnow_022.in | 1 + .../externals/zydis/tests/cases/3dnow_023.in | 1 + .../externals/zydis/tests/cases/3dnow_024.in | 1 + .../zydis/tests/cases/default_000.in | 1 + .../zydis/tests/cases/default_001.in | 1 + .../zydis/tests/cases/default_002.in | 1 + .../zydis/tests/cases/default_003.in | 1 + .../zydis/tests/cases/default_004.in | 1 + .../zydis/tests/cases/default_005.in | 1 + .../zydis/tests/cases/default_006.in | 1 + .../zydis/tests/cases/default_007.in | 1 + .../zydis/tests/cases/default_008.in | 1 + .../zydis/tests/cases/default_009.in | 1 + .../zydis/tests/cases/default_010.in | 1 + .../zydis/tests/cases/default_011.in | 1 + .../zydis/tests/cases/default_012.in | 1 + .../zydis/tests/cases/default_013.in | 1 + .../zydis/tests/cases/default_014.in | 1 + .../zydis/tests/cases/default_015.in | 1 + .../zydis/tests/cases/default_016.in | 1 + .../zydis/tests/cases/default_017.in | 1 + .../zydis/tests/cases/default_018.in | 1 + .../zydis/tests/cases/default_019.in | 1 + .../zydis/tests/cases/default_020.in | 1 + .../zydis/tests/cases/default_021.in | 1 + .../zydis/tests/cases/default_022.in | 1 + .../zydis/tests/cases/default_023.in | 1 + .../zydis/tests/cases/default_024.in | 1 + .../externals/zydis/tests/cases/evex_000.in | 1 + .../externals/zydis/tests/cases/evex_001.in | 1 + .../externals/zydis/tests/cases/evex_002.in | 1 + .../externals/zydis/tests/cases/evex_003.in | 1 + .../externals/zydis/tests/cases/evex_004.in | 1 + .../externals/zydis/tests/cases/evex_005.in | 1 + .../externals/zydis/tests/cases/evex_006.in | 1 + .../externals/zydis/tests/cases/evex_007.in | 1 + .../externals/zydis/tests/cases/evex_008.in | 1 + .../externals/zydis/tests/cases/evex_009.in | 1 + .../externals/zydis/tests/cases/evex_010.in | 1 + .../externals/zydis/tests/cases/evex_011.in | 1 + .../externals/zydis/tests/cases/evex_012.in | 1 + .../externals/zydis/tests/cases/evex_013.in | 1 + .../externals/zydis/tests/cases/evex_014.in | 1 + .../externals/zydis/tests/cases/evex_015.in | 1 + .../externals/zydis/tests/cases/evex_016.in | 1 + .../externals/zydis/tests/cases/evex_017.in | 1 + .../externals/zydis/tests/cases/evex_018.in | 1 + .../externals/zydis/tests/cases/evex_019.in | 1 + .../externals/zydis/tests/cases/evex_020.in | 1 + .../externals/zydis/tests/cases/evex_021.in | 1 + .../externals/zydis/tests/cases/evex_022.in | 1 + .../externals/zydis/tests/cases/evex_023.in | 1 + .../externals/zydis/tests/cases/evex_024.in | 1 + .../externals/zydis/tests/cases/mvex_000.in | 1 + .../externals/zydis/tests/cases/mvex_001.in | 1 + .../externals/zydis/tests/cases/mvex_002.in | 1 + .../externals/zydis/tests/cases/mvex_003.in | 1 + .../externals/zydis/tests/cases/mvex_004.in | 1 + .../externals/zydis/tests/cases/mvex_005.in | 1 + .../externals/zydis/tests/cases/mvex_006.in | 1 + .../externals/zydis/tests/cases/mvex_007.in | 1 + .../externals/zydis/tests/cases/mvex_008.in | 1 + .../externals/zydis/tests/cases/mvex_009.in | 1 + .../externals/zydis/tests/cases/mvex_010.in | 1 + .../externals/zydis/tests/cases/mvex_011.in | 1 + .../externals/zydis/tests/cases/mvex_012.in | 1 + .../externals/zydis/tests/cases/mvex_013.in | 1 + .../externals/zydis/tests/cases/mvex_014.in | 1 + .../externals/zydis/tests/cases/mvex_015.in | 1 + .../externals/zydis/tests/cases/mvex_016.in | 1 + .../externals/zydis/tests/cases/mvex_017.in | 1 + .../externals/zydis/tests/cases/mvex_018.in | 1 + .../externals/zydis/tests/cases/mvex_019.in | 1 + .../externals/zydis/tests/cases/mvex_020.in | 1 + .../externals/zydis/tests/cases/mvex_021.in | 1 + .../externals/zydis/tests/cases/mvex_022.in | 1 + .../externals/zydis/tests/cases/mvex_023.in | 1 + .../externals/zydis/tests/cases/mvex_024.in | 1 + .../externals/zydis/tests/cases/vexc4_000.in | 1 + .../externals/zydis/tests/cases/vexc4_001.in | 1 + .../externals/zydis/tests/cases/vexc4_002.in | 1 + .../externals/zydis/tests/cases/vexc4_003.in | 1 + .../externals/zydis/tests/cases/vexc4_004.in | 1 + .../externals/zydis/tests/cases/vexc4_005.in | 1 + .../externals/zydis/tests/cases/vexc4_006.in | 1 + .../externals/zydis/tests/cases/vexc4_007.in | 1 + .../externals/zydis/tests/cases/vexc4_008.in | 1 + .../externals/zydis/tests/cases/vexc4_009.in | 1 + .../externals/zydis/tests/cases/vexc4_010.in | 1 + .../externals/zydis/tests/cases/vexc4_011.in | 1 + .../externals/zydis/tests/cases/vexc4_012.in | 1 + .../externals/zydis/tests/cases/vexc4_013.in | 1 + .../externals/zydis/tests/cases/vexc4_014.in | 1 + .../externals/zydis/tests/cases/vexc4_015.in | 1 + .../externals/zydis/tests/cases/vexc4_016.in | 1 + .../externals/zydis/tests/cases/vexc4_017.in | 1 + .../externals/zydis/tests/cases/vexc4_018.in | 1 + .../externals/zydis/tests/cases/vexc4_019.in | 1 + .../externals/zydis/tests/cases/vexc4_020.in | 1 + .../externals/zydis/tests/cases/vexc4_021.in | 1 + .../externals/zydis/tests/cases/vexc4_022.in | 1 + .../externals/zydis/tests/cases/vexc4_023.in | 1 + .../externals/zydis/tests/cases/vexc4_024.in | 1 + .../externals/zydis/tests/cases/vexc5_000.in | 1 + .../externals/zydis/tests/cases/vexc5_001.in | 1 + .../externals/zydis/tests/cases/vexc5_002.in | 1 + .../externals/zydis/tests/cases/vexc5_003.in | 1 + .../externals/zydis/tests/cases/vexc5_004.in | 1 + .../externals/zydis/tests/cases/vexc5_005.in | 1 + .../externals/zydis/tests/cases/vexc5_006.in | 1 + .../externals/zydis/tests/cases/vexc5_007.in | 1 + .../externals/zydis/tests/cases/vexc5_008.in | 1 + .../externals/zydis/tests/cases/vexc5_009.in | 1 + .../externals/zydis/tests/cases/vexc5_010.in | 1 + .../externals/zydis/tests/cases/vexc5_011.in | 1 + .../externals/zydis/tests/cases/vexc5_012.in | 1 + .../externals/zydis/tests/cases/vexc5_013.in | 1 + .../externals/zydis/tests/cases/vexc5_014.in | 1 + .../externals/zydis/tests/cases/vexc5_015.in | 1 + .../externals/zydis/tests/cases/vexc5_016.in | 1 + .../externals/zydis/tests/cases/vexc5_017.in | 1 + .../externals/zydis/tests/cases/vexc5_018.in | 1 + .../externals/zydis/tests/cases/vexc5_019.in | 1 + .../externals/zydis/tests/cases/vexc5_020.in | 1 + .../externals/zydis/tests/cases/vexc5_021.in | 1 + .../externals/zydis/tests/cases/vexc5_022.in | 1 + .../externals/zydis/tests/cases/vexc5_023.in | 1 + .../externals/zydis/tests/cases/vexc5_024.in | 1 + .../externals/zydis/tests/cases/xop_000.in | 1 + .../externals/zydis/tests/cases/xop_001.in | 1 + .../externals/zydis/tests/cases/xop_002.in | 1 + .../externals/zydis/tests/cases/xop_003.in | 1 + .../externals/zydis/tests/cases/xop_004.in | 1 + .../externals/zydis/tests/cases/xop_005.in | 1 + .../externals/zydis/tests/cases/xop_006.in | 1 + .../externals/zydis/tests/cases/xop_007.in | 1 + .../externals/zydis/tests/cases/xop_008.in | 1 + .../externals/zydis/tests/cases/xop_009.in | 1 + .../externals/zydis/tests/cases/xop_010.in | 1 + .../externals/zydis/tests/cases/xop_011.in | 1 + .../externals/zydis/tests/cases/xop_012.in | 1 + .../externals/zydis/tests/cases/xop_013.in | 1 + .../externals/zydis/tests/cases/xop_014.in | 1 + .../externals/zydis/tests/cases/xop_015.in | 1 + .../externals/zydis/tests/cases/xop_016.in | 1 + .../externals/zydis/tests/cases/xop_017.in | 1 + .../externals/zydis/tests/cases/xop_018.in | 1 + .../externals/zydis/tests/cases/xop_019.in | 1 + .../externals/zydis/tests/cases/xop_020.in | 1 + .../externals/zydis/tests/cases/xop_021.in | 1 + .../externals/zydis/tests/cases/xop_022.in | 1 + .../externals/zydis/tests/cases/xop_023.in | 1 + .../externals/zydis/tests/cases/xop_024.in | 1 + .../externals/zydis/tests/regression.py | 72 + .../externals/zydis/tools/ZydisDisasm.c | 162 + .../externals/zydis/tools/ZydisFuzzIn.c | 330 + .../externals/zydis/tools/ZydisInfo.c | 1174 ++ .../dynarmic/externals/zydis/tools/ZydisPE.c | 1188 ++ .../dynarmic/src/dynarmic/CMakeLists.txt | 388 + .../src/dynarmic/backend/x64/a32_emit_x64.cpp | 1687 +++ .../src/dynarmic/backend/x64/a32_emit_x64.h | 136 + .../dynarmic/backend/x64/a32_interface.cpp | 331 + .../src/dynarmic/backend/x64/a32_jitstate.cpp | 205 + .../src/dynarmic/backend/x64/a32_jitstate.h | 99 + .../src/dynarmic/backend/x64/a64_emit_x64.cpp | 1488 ++ .../src/dynarmic/backend/x64/a64_emit_x64.h | 134 + .../dynarmic/backend/x64/a64_interface.cpp | 404 + .../src/dynarmic/backend/x64/a64_jitstate.cpp | 115 + .../src/dynarmic/backend/x64/a64_jitstate.h | 85 + .../dynarmic/src/dynarmic/backend/x64/abi.cpp | 135 + .../dynarmic/src/dynarmic/backend/x64/abi.h | 131 + .../dynarmic/backend/x64/block_of_code.cpp | 393 + .../src/dynarmic/backend/x64/block_of_code.h | 179 + .../backend/x64/block_range_information.cpp | 44 + .../backend/x64/block_range_information.h | 29 + .../src/dynarmic/backend/x64/callback.cpp | 41 + .../src/dynarmic/backend/x64/callback.h | 64 + .../dynarmic/backend/x64/constant_pool.cpp | 36 + .../src/dynarmic/backend/x64/constant_pool.h | 40 + .../src/dynarmic/backend/x64/constants.h | 45 + .../src/dynarmic/backend/x64/devirtualize.h | 81 + .../src/dynarmic/backend/x64/emit_x64.cpp | 350 + .../src/dynarmic/backend/x64/emit_x64.h | 130 + .../src/dynarmic/backend/x64/emit_x64_aes.cpp | 108 + .../dynarmic/backend/x64/emit_x64_crc32.cpp | 148 + .../backend/x64/emit_x64_data_processing.cpp | 1635 +++ .../backend/x64/emit_x64_floating_point.cpp | 1938 +++ .../dynarmic/backend/x64/emit_x64_packed.cpp | 712 + .../backend/x64/emit_x64_saturation.cpp | 315 + .../src/dynarmic/backend/x64/emit_x64_sm4.cpp | 20 + .../dynarmic/backend/x64/emit_x64_vector.cpp | 5031 +++++++ .../x64/emit_x64_vector_floating_point.cpp | 1761 +++ .../x64/emit_x64_vector_saturation.cpp | 339 + .../dynarmic/backend/x64/exception_handler.h | 37 + .../backend/x64/exception_handler_generic.cpp | 28 + .../backend/x64/exception_handler_macos.cpp | 227 + .../backend/x64/exception_handler_posix.cpp | 207 + .../backend/x64/exception_handler_windows.cpp | 261 + .../backend/x64/exclusive_monitor.cpp | 60 + .../src/dynarmic/backend/x64/host_feature.h | 65 + .../src/dynarmic/backend/x64/hostloc.cpp | 25 + .../src/dynarmic/backend/x64/hostloc.h | 148 + .../src/dynarmic/backend/x64/jitstate_info.h | 36 + .../src/dynarmic/backend/x64/nzcv_util.h | 53 + .../dynarmic/src/dynarmic/backend/x64/oparg.h | 80 + .../src/dynarmic/backend/x64/perf_map.cpp | 95 + .../src/dynarmic/backend/x64/perf_map.h | 25 + .../src/dynarmic/backend/x64/reg_alloc.cpp | 721 + .../src/dynarmic/backend/x64/reg_alloc.h | 174 + .../src/dynarmic/backend/x64/stack_layout.h | 39 + .../dynarmic/src/dynarmic/common/assert.cpp | 21 + .../dynarmic/src/dynarmic/common/assert.h | 71 + .../dynarmic/src/dynarmic/common/bit_util.h | 248 + .../dynarmic/src/dynarmic/common/cast_util.h | 45 + .../src/dynarmic/common/common_types.h | 28 + .../src/dynarmic/common/crypto/aes.cpp | 180 + .../dynarmic/src/dynarmic/common/crypto/aes.h | 23 + .../src/dynarmic/common/crypto/crc32.cpp | 168 + .../src/dynarmic/common/crypto/crc32.h | 40 + .../src/dynarmic/common/crypto/sm4.cpp | 54 + .../dynarmic/src/dynarmic/common/crypto/sm4.h | 14 + .../dynarmic/src/dynarmic/common/fp/fpcr.h | 208 + .../dynarmic/src/dynarmic/common/fp/fpsr.h | 160 + .../dynarmic/src/dynarmic/common/fp/fused.cpp | 90 + .../dynarmic/src/dynarmic/common/fp/fused.h | 15 + .../dynarmic/src/dynarmic/common/fp/info.h | 138 + .../src/dynarmic/common/fp/mantissa_util.h | 46 + .../dynarmic/src/dynarmic/common/fp/op.h | 17 + .../src/dynarmic/common/fp/op/FPCompare.cpp | 40 + .../src/dynarmic/common/fp/op/FPCompare.h | 16 + .../src/dynarmic/common/fp/op/FPConvert.cpp | 90 + .../src/dynarmic/common/fp/op/FPConvert.h | 17 + .../src/dynarmic/common/fp/op/FPMulAdd.cpp | 80 + .../src/dynarmic/common/fp/op/FPMulAdd.h | 16 + .../src/dynarmic/common/fp/op/FPNeg.h | 17 + .../dynarmic/common/fp/op/FPRSqrtEstimate.cpp | 58 + .../dynarmic/common/fp/op/FPRSqrtEstimate.h | 16 + .../common/fp/op/FPRSqrtStepFused.cpp | 57 + .../dynarmic/common/fp/op/FPRSqrtStepFused.h | 16 + .../dynarmic/common/fp/op/FPRecipEstimate.cpp | 99 + .../dynarmic/common/fp/op/FPRecipEstimate.h | 16 + .../dynarmic/common/fp/op/FPRecipExponent.cpp | 58 + .../dynarmic/common/fp/op/FPRecipExponent.h | 16 + .../common/fp/op/FPRecipStepFused.cpp | 56 + .../dynarmic/common/fp/op/FPRecipStepFused.h | 16 + .../src/dynarmic/common/fp/op/FPRoundInt.cpp | 96 + .../src/dynarmic/common/fp/op/FPRoundInt.h | 19 + .../src/dynarmic/common/fp/op/FPToFixed.cpp | 102 + .../src/dynarmic/common/fp/op/FPToFixed.h | 19 + .../dynarmic/common/fp/process_exception.cpp | 58 + .../dynarmic/common/fp/process_exception.h | 24 + .../src/dynarmic/common/fp/process_nan.cpp | 92 + .../src/dynarmic/common/fp/process_nan.h | 25 + .../src/dynarmic/common/fp/rounding_mode.h | 27 + .../src/dynarmic/common/fp/unpacked.cpp | 192 + .../src/dynarmic/common/fp/unpacked.h | 88 + .../dynarmic/src/dynarmic/common/fp/util.h | 99 + .../src/dynarmic/common/intrusive_list.h | 379 + .../src/dynarmic/common/iterator_util.h | 35 + .../src/dynarmic/common/llvm_disassemble.cpp | 123 + .../src/dynarmic/common/llvm_disassemble.h | 18 + .../src/dynarmic/common/lut_from_list.h | 37 + .../dynarmic/src/dynarmic/common/macro_util.h | 15 + .../src/dynarmic/common/math_util.cpp | 68 + .../dynarmic/src/dynarmic/common/math_util.h | 47 + .../src/dynarmic/common/memory_pool.cpp | 44 + .../src/dynarmic/common/memory_pool.h | 45 + .../dynarmic/src/dynarmic/common/safe_ops.h | 114 + .../dynarmic/src/dynarmic/common/scope_exit.h | 86 + .../src/dynarmic/common/string_util.h | 15 + .../dynarmic/src/dynarmic/common/u128.cpp | 142 + externals/dynarmic/src/dynarmic/common/u128.h | 98 + .../dynarmic/src/dynarmic/common/unlikely.h | 12 + .../src/dynarmic/common/variant_util.h | 29 + .../src/dynarmic/common/x64_disassemble.cpp | 35 + .../src/dynarmic/common/x64_disassemble.h | 14 + .../src/dynarmic/frontend/A32/FPSCR.h | 190 + .../src/dynarmic/frontend/A32/ITState.h | 63 + .../dynarmic/src/dynarmic/frontend/A32/PSR.h | 223 + .../src/dynarmic/frontend/A32/decoder/arm.h | 53 + .../src/dynarmic/frontend/A32/decoder/arm.inc | 316 + .../src/dynarmic/frontend/A32/decoder/asimd.h | 77 + .../dynarmic/frontend/A32/decoder/asimd.inc | 167 + .../dynarmic/frontend/A32/decoder/thumb16.h | 38 + .../dynarmic/frontend/A32/decoder/thumb16.inc | 98 + .../dynarmic/frontend/A32/decoder/thumb32.h | 37 + .../dynarmic/frontend/A32/decoder/thumb32.inc | 290 + .../src/dynarmic/frontend/A32/decoder/vfp.h | 57 + .../src/dynarmic/frontend/A32/decoder/vfp.inc | 71 + .../frontend/A32/disassembler/disassembler.h | 17 + .../A32/disassembler/disassembler_arm.cpp | 1583 +++ .../A32/disassembler/disassembler_thumb.cpp | 397 + .../src/dynarmic/frontend/A32/ir_emitter.cpp | 433 + .../src/dynarmic/frontend/A32/ir_emitter.h | 112 + .../frontend/A32/location_descriptor.cpp | 24 + .../frontend/A32/location_descriptor.h | 153 + .../A32/translate/conditional_state.cpp | 80 + .../A32/translate/conditional_state.h | 33 + .../impl/asimd_load_store_structures.cpp | 374 + .../A32/translate/impl/asimd_misc.cpp | 90 + .../impl/asimd_one_reg_modified_immediate.cpp | 111 + .../A32/translate/impl/asimd_three_regs.cpp | 891 ++ .../translate/impl/asimd_two_regs_misc.cpp | 719 + .../translate/impl/asimd_two_regs_scalar.cpp | 197 + .../translate/impl/asimd_two_regs_shift.cpp | 347 + .../frontend/A32/translate/impl/barrier.cpp | 27 + .../frontend/A32/translate/impl/branch.cpp | 87 + .../A32/translate/impl/coprocessor.cpp | 166 + .../frontend/A32/translate/impl/crc32.cpp | 95 + .../A32/translate/impl/data_processing.cpp | 1236 ++ .../frontend/A32/translate/impl/divide.cpp | 40 + .../translate/impl/exception_generating.cpp | 44 + .../frontend/A32/translate/impl/extension.cpp | 229 + .../frontend/A32/translate/impl/hint.cpp | 69 + .../A32/translate/impl/load_store.cpp | 934 ++ .../frontend/A32/translate/impl/misc.cpp | 178 + .../frontend/A32/translate/impl/multiply.cpp | 610 + .../frontend/A32/translate/impl/packing.cpp | 46 + .../frontend/A32/translate/impl/parallel.cpp | 537 + .../frontend/A32/translate/impl/reversal.cpp | 89 + .../frontend/A32/translate/impl/saturated.cpp | 285 + .../translate/impl/status_register_access.cpp | 120 + .../A32/translate/impl/synchronization.cpp | 437 + .../frontend/A32/translate/impl/thumb16.cpp | 1054 ++ .../A32/translate/impl/thumb32_branch.cpp | 88 + .../A32/translate/impl/thumb32_control.cpp | 126 + .../translate/impl/thumb32_coprocessor.cpp | 75 + ...b32_data_processing_modified_immediate.cpp | 283 + ...data_processing_plain_binary_immediate.cpp | 231 + .../impl/thumb32_data_processing_register.cpp | 208 + ...umb32_data_processing_shifted_register.cpp | 292 + .../A32/translate/impl/thumb32_load_byte.cpp | 198 + .../translate/impl/thumb32_load_halfword.cpp | 138 + .../impl/thumb32_load_store_dual.cpp | 256 + .../impl/thumb32_load_store_multiple.cpp | 148 + .../A32/translate/impl/thumb32_load_word.cpp | 134 + .../translate/impl/thumb32_long_multiply.cpp | 222 + .../A32/translate/impl/thumb32_misc.cpp | 157 + .../A32/translate/impl/thumb32_multiply.cpp | 312 + .../A32/translate/impl/thumb32_parallel.cpp | 521 + .../impl/thumb32_store_single_data_item.cpp | 223 + .../frontend/A32/translate/impl/translate.cpp | 109 + .../frontend/A32/translate/impl/translate.h | 962 ++ .../frontend/A32/translate/impl/vfp.cpp | 1489 ++ .../frontend/A32/translate/translate.cpp | 27 + .../frontend/A32/translate/translate.h | 51 + .../frontend/A32/translate/translate_arm.cpp | 96 + .../A32/translate/translate_callbacks.h | 25 + .../A32/translate/translate_thumb.cpp | 197 + .../src/dynarmic/frontend/A32/types.cpp | 80 + .../src/dynarmic/frontend/A32/types.h | 149 + .../src/dynarmic/frontend/A64/decoder/a64.h | 82 + .../src/dynarmic/frontend/A64/decoder/a64.inc | 1029 ++ .../src/dynarmic/frontend/A64/ir_emitter.cpp | 264 + .../src/dynarmic/frontend/A64/ir_emitter.h | 99 + .../frontend/A64/location_descriptor.cpp | 19 + .../frontend/A64/location_descriptor.h | 106 + .../frontend/A64/translate/impl/branch.cpp | 128 + .../translate/impl/data_processing_addsub.cpp | 330 + .../impl/data_processing_bitfield.cpp | 155 + .../data_processing_conditional_compare.cpp | 62 + .../data_processing_conditional_select.cpp | 58 + .../translate/impl/data_processing_crc32.cpp | 76 + .../impl/data_processing_logical.cpp | 236 + .../impl/data_processing_multiply.cpp | 100 + .../translate/impl/data_processing_pcrel.cpp | 24 + .../impl/data_processing_register.cpp | 139 + .../translate/impl/data_processing_shift.cpp | 58 + .../translate/impl/exception_generating.cpp | 22 + .../translate/impl/floating_point_compare.cpp | 38 + .../floating_point_conditional_compare.cpp | 35 + .../floating_point_conditional_select.cpp | 24 + .../floating_point_conversion_fixed_point.cpp | 114 + .../floating_point_conversion_integer.cpp | 199 + ...ing_point_data_processing_one_register.cpp | 186 + ...g_point_data_processing_three_register.cpp | 66 + ...ing_point_data_processing_two_register.cpp | 145 + .../frontend/A64/translate/impl/impl.cpp | 406 + .../frontend/A64/translate/impl/impl.h | 1084 ++ .../translate/impl/load_store_exclusive.cpp | 209 + .../impl/load_store_load_literal.cpp | 55 + .../impl/load_store_multiple_structures.cpp | 134 + .../impl/load_store_no_allocate_pair.cpp | 22 + .../impl/load_store_register_immediate.cpp | 249 + .../impl/load_store_register_pair.cpp | 154 + .../load_store_register_register_offset.cpp | 160 + .../impl/load_store_register_unprivileged.cpp | 149 + .../impl/load_store_single_structure.cpp | 224 + .../frontend/A64/translate/impl/move_wide.cpp | 59 + .../A64/translate/impl/simd_across_lanes.cpp | 237 + .../frontend/A64/translate/impl/simd_aes.cpp | 46 + .../frontend/A64/translate/impl/simd_copy.cpp | 158 + .../impl/simd_crypto_four_register.cpp | 52 + .../impl/simd_crypto_three_register.cpp | 102 + .../A64/translate/impl/simd_extract.cpp | 27 + .../impl/simd_modified_immediate.cpp | 129 + .../A64/translate/impl/simd_permute.cpp | 113 + .../translate/impl/simd_scalar_pairwise.cpp | 80 + .../impl/simd_scalar_shift_by_immediate.cpp | 352 + .../translate/impl/simd_scalar_three_same.cpp | 437 + .../impl/simd_scalar_two_register_misc.cpp | 331 + .../impl/simd_scalar_x_indexed_element.cpp | 172 + .../frontend/A64/translate/impl/simd_sha.cpp | 261 + .../A64/translate/impl/simd_sha512.cpp | 300 + .../impl/simd_shift_by_immediate.cpp | 401 + .../A64/translate/impl/simd_table_lookup.cpp | 38 + .../translate/impl/simd_three_different.cpp | 263 + .../A64/translate/impl/simd_three_same.cpp | 1248 ++ .../translate/impl/simd_three_same_extra.cpp | 174 + .../translate/impl/simd_two_register_misc.cpp | 884 ++ .../impl/simd_vector_x_indexed_element.cpp | 418 + .../frontend/A64/translate/impl/sys_dc.cpp | 51 + .../frontend/A64/translate/impl/sys_ic.cpp | 25 + .../frontend/A64/translate/impl/system.cpp | 161 + .../A64/translate/impl/system_flag_format.cpp | 46 + .../impl/system_flag_manipulation.cpp | 62 + .../frontend/A64/translate/translate.cpp | 66 + .../frontend/A64/translate/translate.h | 58 + .../src/dynarmic/frontend/A64/types.cpp | 43 + .../src/dynarmic/frontend/A64/types.h | 128 + .../frontend/decoder/decoder_detail.h | 180 + .../src/dynarmic/frontend/decoder/matcher.h | 76 + .../dynarmic/src/dynarmic/frontend/imm.cpp | 67 + .../dynarmic/src/dynarmic/frontend/imm.h | 164 + .../dynarmic/src/dynarmic/interface/A32/a32.h | 105 + .../src/dynarmic/interface/A32/arch_version.h | 23 + .../src/dynarmic/interface/A32/config.h | 217 + .../src/dynarmic/interface/A32/context.h | 45 + .../src/dynarmic/interface/A32/coprocessor.h | 110 + .../dynarmic/interface/A32/coprocessor_util.h | 31 + .../src/dynarmic/interface/A32/disassembler.h | 18 + .../dynarmic/src/dynarmic/interface/A64/a64.h | 129 + .../src/dynarmic/interface/A64/config.h | 270 + .../dynarmic/interface/exclusive_monitor.h | 81 + .../dynarmic/interface/optimization_flags.h | 74 + .../dynarmic/src/dynarmic/ir/basic_block.cpp | 245 + .../dynarmic/src/dynarmic/ir/basic_block.h | 167 + externals/dynarmic/src/dynarmic/ir/cond.h | 31 + .../dynarmic/src/dynarmic/ir/ir_emitter.cpp | 2676 ++++ .../dynarmic/src/dynarmic/ir/ir_emitter.h | 421 + .../src/dynarmic/ir/location_descriptor.cpp | 19 + .../src/dynarmic/ir/location_descriptor.h | 55 + .../src/dynarmic/ir/microinstruction.cpp | 746 + .../src/dynarmic/ir/microinstruction.h | 165 + .../dynarmic/src/dynarmic/ir/opcodes.cpp | 79 + externals/dynarmic/src/dynarmic/ir/opcodes.h | 48 + .../dynarmic/src/dynarmic/ir/opcodes.inc | 717 + .../ir/opt/a32_constant_memory_reads_pass.cpp | 77 + .../ir/opt/a32_get_set_elimination_pass.cpp | 219 + .../ir/opt/a64_callback_config_pass.cpp | 56 + .../ir/opt/a64_get_set_elimination_pass.cpp | 160 + .../ir/opt/a64_merge_interpret_blocks.cpp | 52 + .../ir/opt/constant_propagation_pass.cpp | 541 + .../ir/opt/dead_code_elimination_pass.cpp | 22 + .../dynarmic/ir/opt/identity_removal_pass.cpp | 45 + .../dynarmic/src/dynarmic/ir/opt/ir_matcher.h | 127 + .../dynarmic/src/dynarmic/ir/opt/passes.h | 33 + .../src/dynarmic/ir/opt/verification_pass.cpp | 46 + externals/dynarmic/src/dynarmic/ir/terminal.h | 131 + externals/dynarmic/src/dynarmic/ir/type.cpp | 50 + externals/dynarmic/src/dynarmic/ir/type.h | 53 + externals/dynarmic/src/dynarmic/ir/value.cpp | 235 + externals/dynarmic/src/dynarmic/ir/value.h | 180 + externals/dynarmic/tests/A32/fuzz_arm.cpp | 141 +- externals/dynarmic/tests/A32/fuzz_thumb.cpp | 255 +- .../tests/A32/test_arm_disassembler.cpp | 2 +- .../tests/A32/test_arm_instructions.cpp | 316 +- .../tests/A32/test_thumb_instructions.cpp | 77 +- externals/dynarmic/tests/A32/testenv.h | 100 +- externals/dynarmic/tests/A64/a64.cpp | 376 +- .../dynarmic/tests/A64/fuzz_with_unicorn.cpp | 188 +- .../tests/A64/misaligned_page_table.cpp | 9 +- externals/dynarmic/tests/A64/testenv.h | 105 +- .../dynarmic/tests/A64/verify_unicorn.cpp | 21 +- externals/dynarmic/tests/CMakeLists.txt | 9 +- externals/dynarmic/tests/cpu_info.cpp | 119 +- externals/dynarmic/tests/decoder_tests.cpp | 22 +- externals/dynarmic/tests/fp/FPToFixed.cpp | 14 +- externals/dynarmic/tests/fp/FPValue.cpp | 2 +- .../dynarmic/tests/fp/mantissa_util_tests.cpp | 12 +- .../dynarmic/tests/fp/unpacked_tests.cpp | 24 +- externals/dynarmic/tests/fuzz_util.cpp | 13 +- externals/dynarmic/tests/fuzz_util.h | 2 +- externals/dynarmic/tests/print_info.cpp | 93 +- externals/dynarmic/tests/rand_int.h | 2 +- externals/dynarmic/tests/rsqrt_test.cpp | 151 + externals/dynarmic/tests/rsqrt_test_fn.s | 303 + .../tests/unicorn_emu/a32_unicorn.cpp | 147 +- .../dynarmic/tests/unicorn_emu/a32_unicorn.h | 17 +- .../tests/unicorn_emu/a64_unicorn.cpp | 36 +- .../dynarmic/tests/unicorn_emu/a64_unicorn.h | 12 +- src/core/arm/dynarmic/arm_dynarmic_32.cpp | 6 +- src/core/arm/dynarmic/arm_dynarmic_32.h | 6 +- src/core/arm/dynarmic/arm_dynarmic_64.cpp | 4 +- src/core/arm/dynarmic/arm_dynarmic_64.h | 2 +- src/core/arm/dynarmic/arm_dynarmic_cp15.h | 2 +- src/core/arm/dynarmic/arm_exclusive_monitor.h | 2 +- .../service/am/applets/software_keyboard.cpp | 25 +- src/core/hle/service/ldn/ldn.cpp | 141 + src/yuzu/applets/software_keyboard.cpp | 25 +- 668 files changed, 155049 insertions(+), 791 deletions(-) create mode 100755 externals/dynarmic/.clang-format create mode 100755 externals/dynarmic/externals/zycore/.gitignore create mode 100755 externals/dynarmic/externals/zycore/CMakeLists.txt create mode 100755 externals/dynarmic/externals/zycore/CMakeLists.txt.in create mode 100755 externals/dynarmic/externals/zycore/LICENSE create mode 100755 externals/dynarmic/externals/zycore/README.md create mode 100755 externals/dynarmic/externals/zycore/cmake/zycore-config.cmake.in create mode 100755 externals/dynarmic/externals/zycore/examples/String.c create mode 100755 externals/dynarmic/externals/zycore/examples/Vector.c create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/API/Memory.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/API/Process.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/API/Synchronization.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/API/Terminal.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/API/Thread.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Allocator.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/ArgParse.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Bitset.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Comparison.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Defines.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Format.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/LibC.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/List.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Object.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Status.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/String.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Types.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Vector.h create mode 100755 externals/dynarmic/externals/zycore/include/Zycore/Zycore.h create mode 100755 externals/dynarmic/externals/zycore/resources/VersionInfo.rc create mode 100755 externals/dynarmic/externals/zycore/src/API/Memory.c create mode 100755 externals/dynarmic/externals/zycore/src/API/Process.c create mode 100755 externals/dynarmic/externals/zycore/src/API/Synchronization.c create mode 100755 externals/dynarmic/externals/zycore/src/API/Terminal.c create mode 100755 externals/dynarmic/externals/zycore/src/API/Thread.c create mode 100755 externals/dynarmic/externals/zycore/src/Allocator.c create mode 100755 externals/dynarmic/externals/zycore/src/ArgParse.c create mode 100755 externals/dynarmic/externals/zycore/src/Bitset.c create mode 100755 externals/dynarmic/externals/zycore/src/Format.c create mode 100755 externals/dynarmic/externals/zycore/src/List.c create mode 100755 externals/dynarmic/externals/zycore/src/String.c create mode 100755 externals/dynarmic/externals/zycore/src/Vector.c create mode 100755 externals/dynarmic/externals/zycore/src/Zycore.c create mode 100755 externals/dynarmic/externals/zycore/tests/ArgParse.cpp create mode 100755 externals/dynarmic/externals/zycore/tests/String.cpp create mode 100755 externals/dynarmic/externals/zycore/tests/Vector.cpp create mode 100755 externals/dynarmic/externals/zydis/.gitattributes create mode 100755 externals/dynarmic/externals/zydis/.github/FUNDING.yml create mode 100755 externals/dynarmic/externals/zydis/.github/workflows/main.yml create mode 100755 externals/dynarmic/externals/zydis/.gitignore create mode 100755 externals/dynarmic/externals/zydis/.gitmodules create mode 100755 externals/dynarmic/externals/zydis/CMakeLists.txt create mode 100755 externals/dynarmic/externals/zydis/Doxyfile create mode 100755 externals/dynarmic/externals/zydis/Doxyfile-mcss create mode 100755 externals/dynarmic/externals/zydis/LICENSE create mode 100755 externals/dynarmic/externals/zydis/README.md create mode 100755 externals/dynarmic/externals/zydis/assets/ZydisExportConfigSample.h create mode 100755 externals/dynarmic/externals/zydis/assets/ZydisFuzz_seed_corpus.zip create mode 100755 externals/dynarmic/externals/zydis/assets/screenshots/ZydisInfo.png create mode 100755 externals/dynarmic/externals/zydis/assets/version-bump-checklist.txt create mode 100755 externals/dynarmic/externals/zydis/cmake/zydis-config.cmake.in create mode 100755 externals/dynarmic/externals/zydis/examples/Formatter01.c create mode 100755 externals/dynarmic/externals/zydis/examples/Formatter02.c create mode 100755 externals/dynarmic/externals/zydis/examples/Formatter03.c create mode 100755 externals/dynarmic/externals/zydis/examples/README.md create mode 100755 externals/dynarmic/externals/zydis/examples/ZydisPerfTest.c create mode 100755 externals/dynarmic/externals/zydis/examples/ZydisWinKernel.c create mode 100755 externals/dynarmic/externals/zydis/files.dox create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Decoder.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/DecoderTypes.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Formatter.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/FormatterBuffer.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumISAExt.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumISASet.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumInstructionCategory.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumMnemonic.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumRegister.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Internal/DecoderData.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterATT.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterBase.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterIntel.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Internal/SharedData.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Internal/String.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/MetaInfo.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Mnemonic.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Register.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/SharedTypes.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/ShortString.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Status.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Utils.h create mode 100755 externals/dynarmic/externals/zydis/include/Zydis/Zydis.h create mode 100755 externals/dynarmic/externals/zydis/msvc/README.md create mode 100755 externals/dynarmic/externals/zydis/msvc/ZycoreExportConfig.h create mode 100755 externals/dynarmic/externals/zydis/msvc/Zydis.sln create mode 100755 externals/dynarmic/externals/zydis/msvc/ZydisExportConfig.h create mode 100755 externals/dynarmic/externals/zydis/msvc/dependencies/zycore/Zycore.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/dependencies/zycore/Zycore.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/Formatter01.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/Formatter01.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/Formatter02.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/Formatter02.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/Formatter03.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/Formatter03.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/ZydisPerfTest.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/ZydisPerfTest.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/ZydisWinKernel.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/examples/ZydisWinKernel.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/tools/ZydisDisasm.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/tools/ZydisDisasm.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/tools/ZydisFuzzIn.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/tools/ZydisFuzzIn.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/tools/ZydisInfo.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/tools/ZydisInfo.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/msvc/zydis/Zydis.vcxproj create mode 100755 externals/dynarmic/externals/zydis/msvc/zydis/Zydis.vcxproj.filters create mode 100755 externals/dynarmic/externals/zydis/resources/VersionInfo.rc create mode 100755 externals/dynarmic/externals/zydis/src/Decoder.c create mode 100755 externals/dynarmic/externals/zydis/src/DecoderData.c create mode 100755 externals/dynarmic/externals/zydis/src/Formatter.c create mode 100755 externals/dynarmic/externals/zydis/src/FormatterATT.c create mode 100755 externals/dynarmic/externals/zydis/src/FormatterBase.c create mode 100755 externals/dynarmic/externals/zydis/src/FormatterBuffer.c create mode 100755 externals/dynarmic/externals/zydis/src/FormatterIntel.c create mode 100755 externals/dynarmic/externals/zydis/src/Generated/AccessedFlags.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/DecoderTables.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/EncodableInstructions.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/EnumISAExt.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/EnumISASet.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/EnumInstructionCategory.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/EnumMnemonic.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/EnumRegister.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/FormatterStrings.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/InstructionDefinitions.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/InstructionEncodings.inc create mode 100755 externals/dynarmic/externals/zydis/src/Generated/OperandDefinitions.inc create mode 100755 externals/dynarmic/externals/zydis/src/MetaInfo.c create mode 100755 externals/dynarmic/externals/zydis/src/Mnemonic.c create mode 100755 externals/dynarmic/externals/zydis/src/Register.c create mode 100755 externals/dynarmic/externals/zydis/src/SharedData.c create mode 100755 externals/dynarmic/externals/zydis/src/String.c create mode 100755 externals/dynarmic/externals/zydis/src/Utils.c create mode 100755 externals/dynarmic/externals/zydis/src/Zydis.c create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_000.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_001.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_002.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_003.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_004.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_005.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_006.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_007.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_008.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_009.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_010.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_011.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_012.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_013.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_014.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_015.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_016.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_017.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_018.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_019.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_020.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_021.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_022.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_023.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/3dnow_024.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_000.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_001.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_002.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_003.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_004.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_005.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_006.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_007.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_008.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_009.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_010.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_011.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_012.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_013.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_014.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_015.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_016.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_017.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_018.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_019.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_020.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_021.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_022.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_023.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/default_024.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_000.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_001.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_002.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_003.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_004.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_005.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_006.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_007.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_008.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_009.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_010.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_011.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_012.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_013.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_014.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_015.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_016.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_017.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_018.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_019.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_020.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_021.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_022.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_023.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/evex_024.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_000.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_001.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_002.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_003.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_004.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_005.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_006.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_007.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_008.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_009.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_010.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_011.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_012.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_013.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_014.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_015.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_016.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_017.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_018.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_019.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_020.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_021.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_022.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_023.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/mvex_024.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_000.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_001.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_002.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_003.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_004.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_005.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_006.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_007.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_008.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_009.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_010.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_011.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_012.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_013.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_014.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_015.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_016.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_017.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_018.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_019.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_020.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_021.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_022.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_023.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc4_024.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_000.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_001.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_002.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_003.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_004.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_005.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_006.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_007.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_008.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_009.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_010.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_011.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_012.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_013.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_014.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_015.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_016.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_017.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_018.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_019.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_020.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_021.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_022.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_023.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/vexc5_024.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_000.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_001.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_002.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_003.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_004.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_005.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_006.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_007.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_008.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_009.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_010.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_011.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_012.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_013.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_014.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_015.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_016.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_017.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_018.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_019.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_020.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_021.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_022.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_023.in create mode 100755 externals/dynarmic/externals/zydis/tests/cases/xop_024.in create mode 100755 externals/dynarmic/externals/zydis/tests/regression.py create mode 100755 externals/dynarmic/externals/zydis/tools/ZydisDisasm.c create mode 100755 externals/dynarmic/externals/zydis/tools/ZydisFuzzIn.c create mode 100755 externals/dynarmic/externals/zydis/tools/ZydisInfo.c create mode 100755 externals/dynarmic/externals/zydis/tools/ZydisPE.c create mode 100755 externals/dynarmic/src/dynarmic/CMakeLists.txt create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a32_interface.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a32_jitstate.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a32_jitstate.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a64_interface.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a64_jitstate.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/a64_jitstate.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/abi.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/abi.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/block_of_code.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/block_of_code.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/block_range_information.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/block_range_information.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/callback.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/callback.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/constant_pool.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/constant_pool.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/constants.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/devirtualize.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_aes.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_crc32.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_floating_point.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_packed.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_saturation.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_sm4.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector_floating_point.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector_saturation.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/exception_handler.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/exception_handler_generic.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/exception_handler_macos.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/exception_handler_posix.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/exception_handler_windows.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/exclusive_monitor.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/host_feature.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/hostloc.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/hostloc.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/jitstate_info.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/nzcv_util.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/oparg.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/perf_map.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/perf_map.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/reg_alloc.cpp create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/reg_alloc.h create mode 100755 externals/dynarmic/src/dynarmic/backend/x64/stack_layout.h create mode 100755 externals/dynarmic/src/dynarmic/common/assert.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/assert.h create mode 100755 externals/dynarmic/src/dynarmic/common/bit_util.h create mode 100755 externals/dynarmic/src/dynarmic/common/cast_util.h create mode 100755 externals/dynarmic/src/dynarmic/common/common_types.h create mode 100755 externals/dynarmic/src/dynarmic/common/crypto/aes.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/crypto/aes.h create mode 100755 externals/dynarmic/src/dynarmic/common/crypto/crc32.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/crypto/crc32.h create mode 100755 externals/dynarmic/src/dynarmic/common/crypto/sm4.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/crypto/sm4.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/fpcr.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/fpsr.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/fused.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/fused.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/info.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/mantissa_util.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPCompare.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPCompare.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPConvert.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPConvert.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPMulAdd.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPMulAdd.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPNeg.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtEstimate.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtEstimate.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtStepFused.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtStepFused.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRecipEstimate.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRecipEstimate.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRecipExponent.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRecipExponent.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRecipStepFused.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRecipStepFused.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRoundInt.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPRoundInt.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPToFixed.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/op/FPToFixed.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/process_exception.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/process_exception.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/process_nan.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/process_nan.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/rounding_mode.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/unpacked.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/fp/unpacked.h create mode 100755 externals/dynarmic/src/dynarmic/common/fp/util.h create mode 100755 externals/dynarmic/src/dynarmic/common/intrusive_list.h create mode 100755 externals/dynarmic/src/dynarmic/common/iterator_util.h create mode 100755 externals/dynarmic/src/dynarmic/common/llvm_disassemble.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/llvm_disassemble.h create mode 100755 externals/dynarmic/src/dynarmic/common/lut_from_list.h create mode 100755 externals/dynarmic/src/dynarmic/common/macro_util.h create mode 100755 externals/dynarmic/src/dynarmic/common/math_util.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/math_util.h create mode 100755 externals/dynarmic/src/dynarmic/common/memory_pool.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/memory_pool.h create mode 100755 externals/dynarmic/src/dynarmic/common/safe_ops.h create mode 100755 externals/dynarmic/src/dynarmic/common/scope_exit.h create mode 100755 externals/dynarmic/src/dynarmic/common/string_util.h create mode 100755 externals/dynarmic/src/dynarmic/common/u128.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/u128.h create mode 100755 externals/dynarmic/src/dynarmic/common/unlikely.h create mode 100755 externals/dynarmic/src/dynarmic/common/variant_util.h create mode 100755 externals/dynarmic/src/dynarmic/common/x64_disassemble.cpp create mode 100755 externals/dynarmic/src/dynarmic/common/x64_disassemble.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/FPSCR.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/ITState.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/PSR.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/arm.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/arm.inc create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/asimd.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/asimd.inc create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb16.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb16.inc create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb32.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb32.inc create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/vfp.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/decoder/vfp.inc create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler_arm.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler_thumb.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/ir_emitter.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/ir_emitter.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/location_descriptor.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/location_descriptor.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_load_store_structures.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_misc.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_one_reg_modified_immediate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_three_regs.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_misc.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_scalar.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_shift.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/barrier.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/branch.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/coprocessor.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/crc32.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/data_processing.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/divide.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/exception_generating.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/extension.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/hint.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/load_store.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/misc.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/multiply.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/packing.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/parallel.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/reversal.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/saturated.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/status_register_access.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/synchronization.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb16.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_branch.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_control.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_coprocessor.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_data_processing_modified_immediate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_data_processing_plain_binary_immediate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_data_processing_register.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_data_processing_shifted_register.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_load_byte.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_load_halfword.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_load_store_dual.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_load_store_multiple.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_load_word.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_long_multiply.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_misc.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_multiply.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_parallel.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/thumb32_store_single_data_item.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/translate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/translate.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/vfp.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/translate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/translate.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_arm.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_callbacks.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_thumb.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/types.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A32/types.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/decoder/a64.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/decoder/a64.inc create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/ir_emitter.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/ir_emitter.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/location_descriptor.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/location_descriptor.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/branch.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_addsub.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_bitfield.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_conditional_compare.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_conditional_select.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_crc32.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_logical.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_multiply.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_pcrel.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_register.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_shift.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/exception_generating.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_compare.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conditional_compare.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conditional_select.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conversion_integer.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_exclusive.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_load_literal.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_multiple_structures.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_no_allocate_pair.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_immediate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_pair.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_register_offset.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_unprivileged.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_single_structure.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/move_wide.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_across_lanes.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_aes.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_copy.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_crypto_four_register.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_crypto_three_register.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_extract.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_modified_immediate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_permute.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_pairwise.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_three_same.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_sha.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_sha512.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_shift_by_immediate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_table_lookup.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_different.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_same.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_same_extra.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_two_register_misc.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/sys_dc.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/sys_ic.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system_flag_format.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system_flag_manipulation.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/translate.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/translate/translate.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/types.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/A64/types.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/decoder/decoder_detail.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/decoder/matcher.h create mode 100755 externals/dynarmic/src/dynarmic/frontend/imm.cpp create mode 100755 externals/dynarmic/src/dynarmic/frontend/imm.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A32/a32.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A32/arch_version.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A32/config.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A32/context.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A32/coprocessor.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A32/coprocessor_util.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A32/disassembler.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A64/a64.h create mode 100755 externals/dynarmic/src/dynarmic/interface/A64/config.h create mode 100755 externals/dynarmic/src/dynarmic/interface/exclusive_monitor.h create mode 100755 externals/dynarmic/src/dynarmic/interface/optimization_flags.h create mode 100755 externals/dynarmic/src/dynarmic/ir/basic_block.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/basic_block.h create mode 100755 externals/dynarmic/src/dynarmic/ir/cond.h create mode 100755 externals/dynarmic/src/dynarmic/ir/ir_emitter.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/ir_emitter.h create mode 100755 externals/dynarmic/src/dynarmic/ir/location_descriptor.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/location_descriptor.h create mode 100755 externals/dynarmic/src/dynarmic/ir/microinstruction.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/microinstruction.h create mode 100755 externals/dynarmic/src/dynarmic/ir/opcodes.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opcodes.h create mode 100755 externals/dynarmic/src/dynarmic/ir/opcodes.inc create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/a32_constant_memory_reads_pass.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/a32_get_set_elimination_pass.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/a64_callback_config_pass.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/a64_get_set_elimination_pass.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/a64_merge_interpret_blocks.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/constant_propagation_pass.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/dead_code_elimination_pass.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/identity_removal_pass.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/ir_matcher.h create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/passes.h create mode 100755 externals/dynarmic/src/dynarmic/ir/opt/verification_pass.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/terminal.h create mode 100755 externals/dynarmic/src/dynarmic/ir/type.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/type.h create mode 100755 externals/dynarmic/src/dynarmic/ir/value.cpp create mode 100755 externals/dynarmic/src/dynarmic/ir/value.h create mode 100755 externals/dynarmic/tests/rsqrt_test.cpp create mode 100755 externals/dynarmic/tests/rsqrt_test_fn.s diff --git a/README.md b/README.md index 31ab43a1f..f348e997b 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ yuzu emulator early access ============= -This is the source code for early-access 1725. +This is the source code for early-access 1730. ## Legal Notice diff --git a/externals/dynarmic/.clang-format b/externals/dynarmic/.clang-format new file mode 100755 index 000000000..5c5555eae --- /dev/null +++ b/externals/dynarmic/.clang-format @@ -0,0 +1,218 @@ +--- +Language: Cpp +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveMacros: None +AlignConsecutiveAssignments: None +AlignConsecutiveBitFields: None +AlignConsecutiveDeclarations: None +AlignConsecutiveMacros: None +AlignEscapedNewlines: Right +AlignOperands: AlignAfterOperator +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: true +AllowAllConstructorInitializersOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortEnumsOnASingleLine: true +AllowShortBlocksOnASingleLine: Empty +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: Inline +AllowShortLambdasOnASingleLine: All +AllowShortIfStatementsOnASingleLine: Never +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: true +AlwaysBreakTemplateDeclarations: Yes +AttributeMacros: + - __capability +BinPackArguments: true +BinPackParameters: false +BitFieldColonSpacing: Both +BraceWrapping: + AfterCaseLabel: false + AfterClass: false + AfterControlStatement: Never + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + BeforeLambdaBody: false + BeforeWhile: false + IndentBraces: false + SplitEmptyFunction: false + SplitEmptyRecord: false + SplitEmptyNamespace: false +BreakBeforeBinaryOperators: All +BreakBeforeBraces: Custom +BreakBeforeConceptDeclarations: true +BreakBeforeTernaryOperators: true +BreakBeforeInheritanceComma: false +BreakConstructorInitializersBeforeComma: true +BreakConstructorInitializers: BeforeComma +BreakInheritanceList: BeforeComma +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 0 +CommentPragmas: '^ IWYU pragma:' +CompactNamespaces: false +ConstructorInitializerAllOnOneLineOrOnePerLine: true +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DeriveLineEnding: true +DerivePointerAlignment: false +DisableFormat: false +# EmptyLineAfterAccessModifier: Leave +EmptyLineBeforeAccessModifier: Always +ExperimentalAutoDetectBinPacking: false +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH +IncludeBlocks: Regroup +IncludeCategories: + - Regex: '^' + Priority: 1 + SortPriority: 0 + CaseSensitive: false + - Regex: '(^)|(^)|(^)' + Priority: 1 + SortPriority: 0 + CaseSensitive: false + - Regex: '^<([^\.])*>$' + Priority: 2 + SortPriority: 0 + CaseSensitive: false + - Regex: '^<.*\.' + Priority: 3 + SortPriority: 0 + CaseSensitive: false + - Regex: '.*' + Priority: 4 + SortPriority: 0 + CaseSensitive: false +IncludeIsMainRegex: '([-_](test|unittest))?$' +IncludeIsMainSourceRegex: '' +# IndentAccessModifiers: false +IndentCaseBlocks: false +IndentCaseLabels: false +IndentExternBlock: NoIndent +IndentGotoLabels: false +IndentPPDirectives: AfterHash +IndentRequires: false +IndentWidth: 4 +IndentWrappedFunctionNames: false +# InsertTrailingCommas: None +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +NamespaceMacros: +ObjCBinPackProtocolList: Never +ObjCBlockIndentWidth: 2 +ObjCBreakBeforeNestedBlockParam: true +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 1 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 200 +PenaltyIndentedWhitespace: 0 +PointerAlignment: Left +RawStringFormats: + - Language: Cpp + Delimiters: + - cc + - CC + - cpp + - Cpp + - CPP + - 'c++' + - 'C++' + CanonicalDelimiter: '' + BasedOnStyle: google + - Language: TextProto + Delimiters: + - pb + - PB + - proto + - PROTO + EnclosingFunctions: + - EqualsProto + - EquivToProto + - PARSE_PARTIAL_TEXT_PROTO + - PARSE_TEST_PROTO + - PARSE_TEXT_PROTO + - ParseTextOrDie + - ParseTextProtoOrDie + - ParseTestProto + - ParsePartialTestProto + CanonicalDelimiter: '' + BasedOnStyle: google +ReflowComments: true +# ShortNamespaceLines: 5 +SortIncludes: true +SortJavaStaticImport: Before +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false +SpaceAroundPointerQualifiers: Default +SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceAroundPointerQualifiers: Default +SpaceBeforeRangeBasedForLoopColon: true +SpaceBeforeSquareBrackets: false +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 2 +SpacesInAngles: false +SpacesInConditionalStatement: false +SpacesInCStyleCastParentheses: false +SpacesInConditionalStatement: false +SpacesInContainerLiterals: false +# SpacesInLineCommentPrefix: -1 +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Latest +StatementAttributeLikeMacros: + - Q_EMIT +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION +TabWidth: 4 +TypenameMacros: +UseCRLF: false +UseTab: Never +WhitespaceSensitiveMacros: + - STRINGIZE + - PP_STRINGIZE + - BOOST_PP_STRINGIZE + - NS_SWIFT_NAME + - CF_SWIFT_NAME + - FCODE + - ICODE +... + diff --git a/externals/dynarmic/CMakeLists.txt b/externals/dynarmic/CMakeLists.txt index e51b764ae..c62398ee0 100755 --- a/externals/dynarmic/CMakeLists.txt +++ b/externals/dynarmic/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.8) -project(dynarmic C CXX) +project(dynarmic C CXX ASM) # Determine if we're built as a subproject (using add_subdirectory) # or if this is the master project. @@ -140,7 +140,7 @@ endif() add_subdirectory(externals) # Dynarmic project files -add_subdirectory(src) +add_subdirectory(src/dynarmic) if (DYNARMIC_TESTS) add_subdirectory(tests) endif() diff --git a/externals/dynarmic/README.md b/externals/dynarmic/README.md index 3202a1413..b5b5533a3 100755 --- a/externals/dynarmic/README.md +++ b/externals/dynarmic/README.md @@ -7,7 +7,8 @@ A dynamic recompiler for ARM. ### Supported guest architectures -* ARMv6K +* ARMv6K, ARMv7A +* 32-bit ARMv8 * 64-bit ARMv8 ### Supported host architectures @@ -16,6 +17,15 @@ A dynamic recompiler for ARM. There are no plans to support x86-32. +Projects using Dynarmic +----------------------- + +* [Citra - Nintendo 3DS emulator](https://citra-emu.org) +* [yuzu - Nintendo Switch emulator](https://yuzu-emu.org) +* [EKA2L1 - An Experimental Symbian OS emulator](https://github.com/EKA2L1/EKA2L1) +* [Vita3K - An Experimental PSVita emulator](https://vita3k.org) +* [unidbg - Android native library emulation, with experimental iOS emulation](https://github.com/zhkl0228/unidbg) + Alternatives to Dynarmic ------------------------ @@ -84,8 +94,8 @@ The below is a minimal example. Bring-your-own memory system. #include #include -#include -#include +#include "dynarmic/interface/A32/a32.h" +#include "dynarmic/interface/A32/config.h" using u8 = std::uint8_t; using u16 = std::uint16_t; @@ -350,3 +360,30 @@ THE POSSIBILITY OF SUCH DAMAGE. 損害、間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害について、 一切責任を負わないものとします。 ``` + +### zydis + +``` +The MIT License (MIT) + +Copyright (c) 2014-2020 Florian Bernd +Copyright (c) 2014-2020 Joel Höner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` diff --git a/externals/dynarmic/externals/CMakeLists.txt b/externals/dynarmic/externals/CMakeLists.txt index e5bbb9362..9419e1da6 100755 --- a/externals/dynarmic/externals/CMakeLists.txt +++ b/externals/dynarmic/externals/CMakeLists.txt @@ -40,3 +40,10 @@ if (NOT TARGET xbyak) target_compile_definitions(xbyak INTERFACE XBYAK_NO_OP_NAMES) endif() endif() + +# zydis + +option(ZYDIS_BUILD_TOOLS "" OFF) +option(ZYDIS_BUILD_EXAMPLES "" OFF) +set(ZYDIS_ZYCORE_PATH "${CMAKE_CURRENT_LIST_DIR}/zycore" CACHE PATH "") +add_subdirectory(zydis) diff --git a/externals/dynarmic/externals/README.md b/externals/dynarmic/externals/README.md index c1caca557..94ba26b0b 100755 --- a/externals/dynarmic/externals/README.md +++ b/externals/dynarmic/externals/README.md @@ -8,6 +8,8 @@ git remote add externals-mp https://github.com/MerryMage/mp.git --no-tags git remote add externals-robin-map https://github.com/Tessil/robin-map.git --no-tags git remote add externals-vixl https://git.linaro.org/arm/vixl.git --no-tags git remote add externals-xbyak https://github.com/herumi/xbyak.git --no-tags +git remote add externals-zycore https://github.com/zyantific/zycore-c.git --no-tags +git remote add externals-zydis https://github.com/zyantific/zydis.git --no-tags ``` ## Updating @@ -20,9 +22,13 @@ git fetch externals-mp git fetch externals-robin-map git fetch externals-vixl git fetch externals-xbyak +git fetch externals-zycore +git fetch externals-zydis git subtree pull --squash --prefix=externals/fmt externals-fmt git subtree pull --squash --prefix=externals/mp externals-mp git subtree pull --squash --prefix=externals/robin-map externals-robin-map git subtree pull --squash --prefix=externals/vixl/vixl externals-vixl git subtree pull --squash --prefix=externals/xbyak externals-xbyak +git subtree pull --squash --prefix=externals/zycore externals-zycore +git subtree pull --squash --prefix=externals/zydis externals-zydis ``` diff --git a/externals/dynarmic/externals/zycore/.gitignore b/externals/dynarmic/externals/zycore/.gitignore new file mode 100755 index 000000000..8941d9733 --- /dev/null +++ b/externals/dynarmic/externals/zycore/.gitignore @@ -0,0 +1,100 @@ +# Created by https://www.gitignore.io/api/c,c++,cmake + +### C ### +# Object files +*.o +*.ko +*.obj +*.elf + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su + + +### C++ ### +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + + +### CMake ### +CMakeCache.txt +CMakeFiles +CMakeScripts +Makefile +cmake_install.cmake +install_manifest.txt +CTestTestfile.cmake + + +# MacOS +.DS_Store + +build* + +# MSVC +.vs +*.vcxproj.user +*.suo +*.sdf +*.opensdf +*.VC.db +*.VC.opendb +msvc/**/obj/ +msvc/**/bin/ + +doc/html + +/.vscode +/.idea +/cmake-build-* diff --git a/externals/dynarmic/externals/zycore/CMakeLists.txt b/externals/dynarmic/externals/zycore/CMakeLists.txt new file mode 100755 index 000000000..ad01d6507 --- /dev/null +++ b/externals/dynarmic/externals/zycore/CMakeLists.txt @@ -0,0 +1,266 @@ +if (TARGET Zycore) + return() +endif () + +cmake_minimum_required(VERSION 3.1 FATAL_ERROR) +include(GenerateExportHeader) +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + +project(Zycore VERSION 1.0.0.0 LANGUAGES C CXX) + +# =============================================================================================== # +# Overridable options # +# =============================================================================================== # + +# Global configuration +option(ZYAN_WHOLE_PROGRAM_OPTIMIZATION + "Enable whole program optimization (all targets)" + OFF) +option(ZYAN_NO_LIBC + "Don't use any C standard library functions (for exotic build-envs like kernel drivers)" + OFF) +option(ZYAN_DEV_MODE + "Enable developer mode (-Wall, -Werror, ...)" + OFF) + +# Build configuration +option(ZYCORE_BUILD_SHARED_LIB + "Build shared library" + OFF) +option(ZYCORE_BUILD_EXAMPLES + "Build examples" + OFF) +option(ZYCORE_BUILD_TESTS + "Build tests" + OFF) + +# =============================================================================================== # +# GoogleTest # +# =============================================================================================== # + +# Download and unpack googletest +if (ZYCORE_BUILD_TESTS) + if (NOT DEFINED ZYCORE_DOWNLOADED_GTEST) + configure_file("CMakeLists.txt.in" "${CMAKE_BINARY_DIR}/gtest/download/CMakeLists.txt") + execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . + RESULT_VARIABLE result + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/gtest/download") + if (result) + message(FATAL_ERROR "CMake step for googletest failed: ${result}") + endif() + execute_process(COMMAND ${CMAKE_COMMAND} --build . + RESULT_VARIABLE result + WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/gtest/download") + if (result) + message(FATAL_ERROR "Build step for googletest failed: ${result}") + endif() + + set(ZYCORE_DOWNLOADED_GTEST TRUE CACHE BOOL "") + mark_as_advanced(ZYCORE_DOWNLOADED_GTEST) + endif () + + set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) + + add_subdirectory("${CMAKE_BINARY_DIR}/gtest/src" "${CMAKE_BINARY_DIR}/gtest/build" + EXCLUDE_FROM_ALL) +endif () + +# =============================================================================================== # +# Exported functions # +# =============================================================================================== # + +function (zyan_set_common_flags target) + if (NOT MSVC) + target_compile_options("${target}" PRIVATE "-std=c99") + endif () + + if (ZYAN_DEV_MODE) + # If in developer mode, be pedantic. + if (MSVC) + target_compile_options("${target}" PUBLIC "/WX" "/W4") + else () + target_compile_options("${target}" PUBLIC "-Wall" "-pedantic" "-Wextra" "-Werror") + endif () + endif () +endfunction () + +function (zyan_set_source_group target) + if (ZYAN_DEV_MODE) + if (((CMAKE_MAJOR_VERSION GREATER 3) OR (CMAKE_MAJOR_VERSION EQUAL 3)) AND + ((CMAKE_MINOR_VERSION GREATER 8) OR (CMAKE_MINOR_VERSION EQUAL 8))) + # Mirror directory structure in project files + get_property("TARGET_SOURCE_FILES" TARGET "${target}" PROPERTY SOURCES) + source_group(TREE "${CMAKE_CURRENT_LIST_DIR}" FILES ${TARGET_SOURCE_FILES}) + endif () + endif () +endfunction () + +function (zyan_maybe_enable_wpo target) + if (ZYAN_WHOLE_PROGRAM_OPTIMIZATION AND MSVC) + set_target_properties("${target}" PROPERTIES COMPILE_FLAGS "/GL") + set_target_properties("${target}" PROPERTIES LINK_FLAGS_RELEASE "/LTCG") + endif () +endfunction () + +function (zyan_maybe_enable_wpo_for_lib target) + if (ZYAN_WHOLE_PROGRAM_OPTIMIZATION AND MSVC) + set_target_properties("${target}" PROPERTIES COMPILE_FLAGS "/GL") + set_target_properties("${target}" PROPERTIES LINK_FLAGS_RELEASE "/LTCG") + set_target_properties("${target}" PROPERTIES STATIC_LIBRARY_FLAGS_RELEASE "/LTCG") + endif () +endfunction () + +# =============================================================================================== # +# Library configuration # +# =============================================================================================== # + +if (ZYCORE_BUILD_SHARED_LIB) + add_library("Zycore" SHARED) +else () + add_library("Zycore" STATIC) +endif () + +set_target_properties("Zycore" PROPERTIES LINKER_LANGUAGE C) +target_include_directories("Zycore" + PUBLIC "include" ${PROJECT_BINARY_DIR} + PRIVATE "src") +target_compile_definitions("Zycore" PRIVATE "_CRT_SECURE_NO_WARNINGS" "ZYCORE_EXPORTS") +zyan_set_common_flags("Zycore") +zyan_maybe_enable_wpo_for_lib("Zycore") +generate_export_header("Zycore" BASE_NAME "ZYCORE" EXPORT_FILE_NAME "ZycoreExportConfig.h") + +if (ZYAN_NO_LIBC) + target_compile_definitions("Zycore" PUBLIC "ZYAN_NO_LIBC") + if (UNIX) + set_target_properties("Zycore" PROPERTIES LINK_FLAGS "-nostdlib -nodefaultlibs") + endif () +endif () + +target_sources("Zycore" + PRIVATE + # API + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/API/Memory.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/API/Process.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/API/Synchronization.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/API/Terminal.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/API/Thread.h" + # Common + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Allocator.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/ArgParse.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Bitset.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Comparison.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Defines.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Format.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/LibC.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/List.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Object.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Status.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/String.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Types.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Vector.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zycore/Zycore.h" + # Common + "src/Allocator.c" + "src/ArgParse.c" + "src/Bitset.c" + "src/Format.c" + "src/List.c" + "src/String.c" + "src/Vector.c" + "src/Zycore.c") + +if (NOT ZYAN_NO_LIBC) + target_sources("Zycore" + PRIVATE + # API + "src/API/Memory.c" + "src/API/Process.c" + "src/API/Synchronization.c" + "src/API/Terminal.c" + "src/API/Thread.c") +endif () + +if (ZYCORE_BUILD_SHARED_LIB AND WIN32) + target_sources("Zycore" PRIVATE "resources/VersionInfo.rc") +endif () + +zyan_set_source_group("Zycore") + +if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT ZYAN_NO_LIBC) + target_compile_definitions("Zycore" PRIVATE "_GNU_SOURCE") + find_package(Threads REQUIRED) + target_link_libraries("Zycore" Threads::Threads) +endif () + +configure_package_config_file(cmake/zycore-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/zycore-config.cmake" + INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake" +) +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/zycore-config.cmake" + DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake" +) + +install(TARGETS "Zycore" + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(FILES + "${PROJECT_BINARY_DIR}/ZycoreExportConfig.h" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") +install(DIRECTORY "include/" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +# =============================================================================================== # +# Developer mode # +# =============================================================================================== # + +if (ZYAN_DEV_MODE) + set_property(GLOBAL PROPERTY USE_FOLDERS ON) +endif () + +# =============================================================================================== # +# Examples # +# =============================================================================================== # + +if (ZYCORE_BUILD_EXAMPLES) + add_executable("String" "examples/String.c") + zyan_set_common_flags("String" "Zycore") + target_link_libraries("String" "Zycore") + set_target_properties("String" PROPERTIES FOLDER "Examples") + target_compile_definitions("String" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_maybe_enable_wpo("String") + + add_executable("Vector" "examples/Vector.c") + zyan_set_common_flags("Vector" "Zycore") + target_link_libraries("Vector" "Zycore") + set_target_properties("Vector" PROPERTIES FOLDER "Examples") + target_compile_definitions("Vector" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_maybe_enable_wpo("Vector") +endif () + +# =============================================================================================== # +# Tests # +# =============================================================================================== # + +function (zyan_add_test test) + add_executable("Test${test}" "tests/${test}.cpp") + + if (NOT MSVC) + target_compile_options("Test${test}" PRIVATE "-std=c++17") + endif () + + target_link_libraries("Test${test}" "Zycore") + target_link_libraries("Test${test}" "gtest") + set_target_properties("Test${test}" PROPERTIES FOLDER "Tests") + target_compile_definitions("Test${test}" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_maybe_enable_wpo("Test${test}") +endfunction () + +if (ZYCORE_BUILD_TESTS) + zyan_add_test("String") + zyan_add_test("Vector") + zyan_add_test("ArgParse") +endif () + +# =============================================================================================== # diff --git a/externals/dynarmic/externals/zycore/CMakeLists.txt.in b/externals/dynarmic/externals/zycore/CMakeLists.txt.in new file mode 100755 index 000000000..3333512ff --- /dev/null +++ b/externals/dynarmic/externals/zycore/CMakeLists.txt.in @@ -0,0 +1,15 @@ +cmake_minimum_required(VERSION 2.8.2) + +project(googletest-download NONE) + +include(ExternalProject) +ExternalProject_Add(googletest + GIT_REPOSITORY https://github.com/google/googletest.git + GIT_TAG ee3aa831172090fd5442820f215cb04ab6062756 + SOURCE_DIR "${CMAKE_BINARY_DIR}/gtest/src" + BINARY_DIR "${CMAKE_BINARY_DIR}/gtest/build" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" +) diff --git a/externals/dynarmic/externals/zycore/LICENSE b/externals/dynarmic/externals/zycore/LICENSE new file mode 100755 index 000000000..4d9069aee --- /dev/null +++ b/externals/dynarmic/externals/zycore/LICENSE @@ -0,0 +1,23 @@ +The MIT License (MIT) + +Copyright (c) 2018-2020 Florian Bernd +Copyright (c) 2018-2020 Joel Höner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/externals/dynarmic/externals/zycore/README.md b/externals/dynarmic/externals/zycore/README.md new file mode 100755 index 000000000..309a73b6d --- /dev/null +++ b/externals/dynarmic/externals/zycore/README.md @@ -0,0 +1,25 @@ +# Zyan Core Library for C + +Internal library providing platform independent types, macros and a fallback for environments without LibC. + +## Features + +- Platform independent types + - Integer types (`ZyanU8`, `ZyanI32`, `ZyanUSize`, ...) + - `ZyanBool` (+ `ZYAN_FALSE`, `ZYAN_TRUE`) + - `ZYAN_NULL` +- Macros + - Compiler/Platform/Architecture detection + - Asserts and static asserts + - Utils (`ARRAY_LENGTH`, `FALLTHROUGH`, `UNUSED`, ...) +- Common types + - `ZyanBitset` + - `ZyanString`/`ZyanStringView` +- Container types + - `ZyanVector` + - `ZyanList` +- LibC abstraction (WiP) + +## License + +Zycore is licensed under the MIT license. diff --git a/externals/dynarmic/externals/zycore/cmake/zycore-config.cmake.in b/externals/dynarmic/externals/zycore/cmake/zycore-config.cmake.in new file mode 100755 index 000000000..400ab53a5 --- /dev/null +++ b/externals/dynarmic/externals/zycore/cmake/zycore-config.cmake.in @@ -0,0 +1,8 @@ +set(zycore_VERSION @PROJECT_VERSION@) + +@PACKAGE_INIT@ + +set_and_check(zycore_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") +set_and_check(zycore_LIB_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@") + +check_required_components(zycore) diff --git a/externals/dynarmic/externals/zycore/examples/String.c b/externals/dynarmic/externals/zycore/examples/String.c new file mode 100755 index 000000000..10ad84ccc --- /dev/null +++ b/externals/dynarmic/externals/zycore/examples/String.c @@ -0,0 +1,192 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Demonstrates the `String` implementation. + */ + +#include +#include +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +/* ============================================================================================== */ +/* Tests */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Basic tests */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Performs some basic test on the given `ZyanString` instance. + * + * @param string A pointer to the `ZyanString` instance. + * + * @return A zyan status code. + */ +static ZyanStatus PerformBasicTests(ZyanString* string) +{ + ZYAN_ASSERT(string); + ZYAN_UNUSED(string); + + + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Performs basic tests on a string that dynamically manages memory. + * + * @return A zyan status code. + */ +static ZyanStatus TestDynamic(void) +{ + PerformBasicTests(ZYAN_NULL); + return ZYAN_STATUS_SUCCESS; +} + +/** + * Performs basic tests on a string that uses a static buffer. + * + * @return A zyan status code. + */ +static ZyanStatus TestStatic(void) +{ + PerformBasicTests(ZYAN_NULL); + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Custom allocator */ +/* ---------------------------------------------------------------------------------------------- */ + +//static ZyanStatus AllocatorAllocate(ZyanAllocator* allocator, void** p, ZyanUSize element_size, +// ZyanUSize n) +//{ +// ZYAN_ASSERT(allocator); +// ZYAN_ASSERT(p); +// ZYAN_ASSERT(element_size); +// ZYAN_ASSERT(n); +// +// ZYAN_UNUSED(allocator); +// +// *p = ZYAN_MALLOC(element_size * n); +// if (!*p) +// { +// return ZYAN_STATUS_NOT_ENOUGH_MEMORY; +// } +// +// return ZYAN_STATUS_SUCCESS; +//} +// +//static ZyanStatus AllocatorReallocate(ZyanAllocator* allocator, void** p, ZyanUSize element_size, +// ZyanUSize n) +//{ +// ZYAN_ASSERT(allocator); +// ZYAN_ASSERT(p); +// ZYAN_ASSERT(element_size); +// ZYAN_ASSERT(n); +// +// ZYAN_UNUSED(allocator); +// +// void* const x = ZYAN_REALLOC(*p, element_size * n); +// if (!x) +// { +// return ZYAN_STATUS_NOT_ENOUGH_MEMORY; +// } +// *p = x; +// +// return ZYAN_STATUS_SUCCESS; +//} +// +//static ZyanStatus AllocatorDeallocate(ZyanAllocator* allocator, void* p, ZyanUSize element_size, +// ZyanUSize n) +//{ +// ZYAN_ASSERT(allocator); +// ZYAN_ASSERT(p); +// ZYAN_ASSERT(element_size); +// ZYAN_ASSERT(n); +// +// ZYAN_UNUSED(allocator); +// ZYAN_UNUSED(element_size); +// ZYAN_UNUSED(n); +// +// ZYAN_FREE(p); +// +// return ZYAN_STATUS_SUCCESS; +//} + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Performs basic tests on a vector that dynamically manages memory using a custom + * allocator and modified growth-factor/shrink-threshold. + * + * @return A zyan status code. + */ +static ZyanStatus TestAllocator(void) +{ + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main() +{ + if (!ZYAN_SUCCESS(TestDynamic())) + { + return EXIT_FAILURE; + } + if (!ZYAN_SUCCESS(TestStatic())) + { + return EXIT_FAILURE; + } + if (!ZYAN_SUCCESS(TestAllocator())) + { + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/examples/Vector.c b/externals/dynarmic/externals/zycore/examples/Vector.c new file mode 100755 index 000000000..090ad3307 --- /dev/null +++ b/externals/dynarmic/externals/zycore/examples/Vector.c @@ -0,0 +1,395 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Demonstrates the `ZyanVector` implementation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `TestStruct` struct that represents a single element in the vector. + */ +typedef struct TestStruct_ +{ + ZyanU32 u32; + ZyanU64 u64; + float f; +} TestStruct; + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +/** + * Initializes the given `TestStruct` struct. + * + * @param data A pointer to the `TestStruct` struct. + * @param n The number to initialize the struct with. + */ +static void InitTestdata(TestStruct* data, ZyanU32 n) +{ + ZYAN_ASSERT(data); + + data->u32 = n; + data->u64 = n; + data->f = (float)n; +} + +/* ============================================================================================== */ +/* Tests */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Basic tests */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Performs some basic test on the given `ZyanVector` instance. + * + * @param vector A pointer to the `ZyanVector` instance. + * + * @return A zyan status code. + */ +static ZyanStatus PerformBasicTests(ZyanVector* vector) +{ + ZYAN_ASSERT(vector); + + static TestStruct e_v; + static const TestStruct* e_p; + + // Insert `20` elements. The vector automatically manages its size + for (ZyanU32 i = 0; i < 20; ++i) + { + InitTestdata(&e_v, i); + ZYAN_CHECK(ZyanVectorPushBack(vector, &e_v)); + } + + // Remove elements `#05..#09` + ZYAN_CHECK(ZyanVectorDeleteRange(vector, 5, 5)); + + // Insert a new element at index `#05` + InitTestdata(&e_v, 12345678); + ZYAN_CHECK(ZyanVectorInsert(vector, 5, &e_v)); + + // Change value of element `#15` + InitTestdata(&e_v, 87654321); + ZYAN_CHECK(ZyanVectorSet(vector, 10, &e_v)); + + // Print `u64` of all vector elements + ZyanUSize value; + ZYAN_CHECK(ZyanVectorGetSize(vector, &value)); + puts("ELEMENTS"); + for (ZyanUSize i = 0; i < value; ++i) + { + ZYAN_CHECK(ZyanVectorGetPointer(vector, i, (const void**)&e_p)); + printf(" Element #%02" PRIuPTR ": %08" PRIu64 "\n", i, e_p->u64); + } + + // Print infos + puts("INFO"); + printf(" Size : %08" PRIuPTR "\n", value); + ZYAN_CHECK(ZyanVectorGetCapacity(vector, &value)); + printf(" Capacity : %08" PRIuPTR "\n\n", value); + + return ZYAN_STATUS_SUCCESS; +} + +/** + * A dummy comparison function for the `TestStruct` that uses the `u32` field as key + * value. + * + * @param left A pointer to the first element. + * @param right A pointer to the second element. + * + * @return Returns values in the following range: + * `left == right -> result == 0` + * `left < right -> result < 0` + * `left > right -> result > 0` + */ +static ZyanI32 TestDataComparison(const TestStruct* left, const TestStruct* right) +{ + ZYAN_ASSERT(left); + ZYAN_ASSERT(right); + + if (left->u32 < right->u32) + { + return -1; + } + if (left->u32 > right->u32) + { + return 1; + } + return 0; +} + +/** + * Tests the binary-search functionality of the given `ZyanVector` instance. + * + * @param vector A pointer to the `ZyanVector` instance. + * + * @return A zyan status code. + */ +static ZyanStatus PerformBinarySearchTest(ZyanVector* vector) +{ + ZYAN_ASSERT(vector); + + static TestStruct e_v; + static const TestStruct* e_p; + + ZyanUSize value; + ZYAN_CHECK(ZyanVectorGetCapacity(vector, &value)); + + // Create a sorted test vector + for (ZyanUSize i = 0; i < value; ++i) + { + const ZyanU32 n = rand() % 100; + InitTestdata(&e_v, n); + + ZyanUSize found_index; + ZYAN_CHECK(ZyanVectorBinarySearch(vector, &e_v, &found_index, + (ZyanComparison)&TestDataComparison)); + ZYAN_CHECK(ZyanVectorInsert(vector, found_index, &e_v)); + } + + // Print `u32` of all vector elements + ZYAN_CHECK(ZyanVectorGetSize(vector, &value)); + puts("ELEMENTS"); + for (ZyanUSize i = 0; i < value; ++i) + { + ZYAN_CHECK(ZyanVectorGetPointer(vector, i, (const void**)&e_p)); + printf(" Element #%02" PRIuPTR ": %08" PRIu32 "\n", i, e_p->u32); + } + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Performs basic tests on a vector that dynamically manages memory. + * + * @return A zyan status code. + */ +static ZyanStatus TestDynamic(void) +{ + // Initialize vector with a base capacity of `10` elements + ZyanVector vector; + ZYAN_CHECK(ZyanVectorInit(&vector, sizeof(TestStruct), 10, ZYAN_NULL)); + + ZYAN_CHECK(PerformBasicTests(&vector)); + ZYAN_CHECK(ZyanVectorClear(&vector)); + ZYAN_CHECK(ZyanVectorReserve(&vector, 20)); + ZYAN_CHECK(PerformBinarySearchTest(&vector)); + + // Cleanup + return ZyanVectorDestroy(&vector); +} + +/** + * Performs basic tests on a vector that uses a static buffer. + * + * @return A zyan status code. + */ +static ZyanStatus TestStatic(void) +{ + static TestStruct buffer[20]; + + // Initialize vector to use a static buffer with a total capacity of `20` elements. + ZyanVector vector; + ZYAN_CHECK(ZyanVectorInitCustomBuffer(&vector, sizeof(TestStruct), buffer, + ZYAN_ARRAY_LENGTH(buffer), ZYAN_NULL)); + + // Compare elements + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&vector, &size)); + for (ZyanUSize i = 0; i < size; ++i) + { + static TestStruct* element; + ZYAN_CHECK(ZyanVectorGetPointer(&vector, i, (const void**)&element)); + if (element->u64 != buffer[i].u64) + { + return ZYAN_STATUS_INVALID_OPERATION; + } + } + + ZYAN_CHECK(PerformBasicTests(&vector)); + ZYAN_CHECK(ZyanVectorClear(&vector)); + ZYAN_CHECK(PerformBinarySearchTest(&vector)); + + // Cleanup + return ZyanVectorDestroy(&vector); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Custom allocator */ +/* ---------------------------------------------------------------------------------------------- */ + +static ZyanStatus AllocatorAllocate(ZyanAllocator* allocator, void** p, ZyanUSize element_size, + ZyanUSize n) +{ + ZYAN_ASSERT(allocator); + ZYAN_ASSERT(p); + ZYAN_ASSERT(element_size); + ZYAN_ASSERT(n); + + ZYAN_UNUSED(allocator); + + *p = ZYAN_MALLOC(element_size * n); + if (!*p) + { + return ZYAN_STATUS_NOT_ENOUGH_MEMORY; + } + + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus AllocatorReallocate(ZyanAllocator* allocator, void** p, ZyanUSize element_size, + ZyanUSize n) +{ + ZYAN_ASSERT(allocator); + ZYAN_ASSERT(p); + ZYAN_ASSERT(element_size); + ZYAN_ASSERT(n); + + ZYAN_UNUSED(allocator); + + void* const x = ZYAN_REALLOC(*p, element_size * n); + if (!x) + { + return ZYAN_STATUS_NOT_ENOUGH_MEMORY; + } + *p = x; + + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus AllocatorDeallocate(ZyanAllocator* allocator, void* p, ZyanUSize element_size, + ZyanUSize n) +{ + ZYAN_ASSERT(allocator); + ZYAN_ASSERT(p); + ZYAN_ASSERT(element_size); + ZYAN_ASSERT(n); + + ZYAN_UNUSED(allocator); + ZYAN_UNUSED(element_size); + ZYAN_UNUSED(n); + + ZYAN_FREE(p); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Performs basic tests on a vector that dynamically manages memory using a custom + * allocator and modified growth-factor/shrink-threshold. + * + * @return A zyan status code. + */ +static ZyanStatus TestAllocator(void) +{ + ZyanAllocator allocator; + ZYAN_CHECK(ZyanAllocatorInit(&allocator, &AllocatorAllocate, &AllocatorReallocate, + &AllocatorDeallocate)); + + // Initialize vector with a base capacity of `10` elements. Growth-factor is set to 10 and + // dynamic shrinking is disabled + ZyanVector vector; + ZYAN_CHECK(ZyanVectorInitEx(&vector, sizeof(TestStruct), 5, ZYAN_NULL, &allocator, + 10.0f, 0.0f)); + + static TestStruct e_v; + + // Insert `10` elements. The vector automatically manages its size + for (ZyanU32 i = 0; i < 10; ++i) + { + InitTestdata(&e_v, i); + ZYAN_CHECK(ZyanVectorPushBack(&vector, &e_v)); + } + + // Check capacity + ZyanUSize value; + ZYAN_CHECK(ZyanVectorGetCapacity(&vector, &value)); + if (value != 60) // (5 + 1) * 10.0f + { + return ZYAN_STATUS_INVALID_OPERATION; + } + + // Remove all elements + ZYAN_CHECK(ZyanVectorClear(&vector)); + + // Print infos + puts("INFO"); + ZYAN_CHECK(ZyanVectorGetSize(&vector, &value)); + printf(" Size : %08" PRIuPTR "\n", value); + ZYAN_CHECK(ZyanVectorGetCapacity(&vector, &value)); + printf(" Capacity : %08" PRIuPTR "\n\n", value); + + // Cleanup + return ZyanVectorDestroy(&vector); +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main() +{ + time_t t; + srand((unsigned)time(&t)); + + if (!ZYAN_SUCCESS(TestDynamic())) + { + return EXIT_FAILURE; + } + if (!ZYAN_SUCCESS(TestStatic())) + { + return EXIT_FAILURE; + } + if (!ZYAN_SUCCESS(TestAllocator())) + { + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/API/Memory.h b/externals/dynarmic/externals/zycore/include/Zycore/API/Memory.h new file mode 100755 index 000000000..c5fa8a9b5 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/API/Memory.h @@ -0,0 +1,134 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief + */ + +#ifndef ZYCORE_API_MEMORY_H +#define ZYCORE_API_MEMORY_H + +#include +#include +#include +#include + +#if defined(ZYAN_WINDOWS) +# include +#elif defined(ZYAN_POSIX) +# include +#else +# error "Unsupported platform detected" +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZyanMemoryPageProtection` enum. + */ +typedef enum ZyanMemoryPageProtection_ +{ +#if defined(ZYAN_WINDOWS) + + ZYAN_PAGE_READONLY = PAGE_READONLY, + ZYAN_PAGE_READWRITE = PAGE_READWRITE, + ZYAN_PAGE_EXECUTE = PAGE_EXECUTE, + ZYAN_PAGE_EXECUTE_READ = PAGE_EXECUTE_READ, + ZYAN_PAGE_EXECUTE_READWRITE = PAGE_EXECUTE_READWRITE + +#elif defined(ZYAN_POSIX) + + ZYAN_PAGE_READONLY = PROT_READ, + ZYAN_PAGE_READWRITE = PROT_READ | PROT_WRITE, + ZYAN_PAGE_EXECUTE = PROT_EXEC, + ZYAN_PAGE_EXECUTE_READ = PROT_EXEC | PROT_READ, + ZYAN_PAGE_EXECUTE_READWRITE = PROT_EXEC | PROT_READ | PROT_WRITE + +#endif +} ZyanMemoryPageProtection; + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the system page size. + * + * @return The system page size. + */ +ZYCORE_EXPORT ZyanU32 ZyanMemoryGetSystemPageSize(); + +/** + * Returns the system allocation granularity. + * + * The system allocation granularity specifies the minimum amount of bytes which can be allocated + * at a specific address by a single call of `ZyanMemoryVirtualAlloc`. + * + * This value is typically 64KiB on Windows systems and equal to the page size on most POSIX + * platforms. + * + * @return The system allocation granularity. + */ +ZYCORE_EXPORT ZyanU32 ZyanMemoryGetSystemAllocationGranularity(); + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Changes the memory protection value of one or more pages. + * + * @param address The start address aligned to a page boundary. + * @param size The size. + * @param protection The new page protection value. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanMemoryVirtualProtect(void* address, ZyanUSize size, + ZyanMemoryPageProtection protection); + +/** + * Releases one or more memory pages starting at the given address. + * + * @param address The start address aligned to a page boundary. + * @param size The size. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanMemoryVirtualFree(void* address, ZyanUSize size); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#endif /* ZYCORE_API_MEMORY_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/API/Process.h b/externals/dynarmic/externals/zycore/include/Zycore/API/Process.h new file mode 100755 index 000000000..0b6a5c6b6 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/API/Process.h @@ -0,0 +1,67 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief + */ + +#ifndef ZYCORE_API_PROCESS_H +#define ZYCORE_API_PROCESS_H + +#include +#include +#include + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + + + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * @brief Flushes the process instruction cache. + * + * @param address The address. + * @param size The size. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanProcessFlushInstructionCache(void* address, ZyanUSize size); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#endif /* ZYCORE_API_PROCESS_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/API/Synchronization.h b/externals/dynarmic/externals/zycore/include/Zycore/API/Synchronization.h new file mode 100755 index 000000000..8414a44b7 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/API/Synchronization.h @@ -0,0 +1,133 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief + */ + +#ifndef ZYCORE_API_SYNCHRONIZATION_H +#define ZYCORE_API_SYNCHRONIZATION_H + +#ifndef ZYAN_NO_LIBC + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +#if defined(ZYAN_POSIX) + +#include + +/* ---------------------------------------------------------------------------------------------- */ +/* Critical Section */ +/* ---------------------------------------------------------------------------------------------- */ + +typedef pthread_mutex_t ZyanCriticalSection; + +/* ---------------------------------------------------------------------------------------------- */ + +#elif defined(ZYAN_WINDOWS) + +#include + +/* ---------------------------------------------------------------------------------------------- */ +/* Critical Section */ +/* ---------------------------------------------------------------------------------------------- */ + +typedef CRITICAL_SECTION ZyanCriticalSection; + +/* ---------------------------------------------------------------------------------------------- */ + +#else +# error "Unsupported platform detected" +#endif + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Critical Section */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Initializes a critical section. + * + * @param critical_section A pointer to the `ZyanCriticalSection` struct. + */ +ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionInitialize(ZyanCriticalSection* critical_section); + +/** + * Enters a critical section. + * + * @param critical_section A pointer to the `ZyanCriticalSection` struct. + */ +ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionEnter(ZyanCriticalSection* critical_section); + +/** + * Tries to enter a critical section. + * + * @param critical_section A pointer to the `ZyanCriticalSection` struct. + * + * @return Returns `ZYAN_TRUE` if the critical section was successfully entered or `ZYAN_FALSE`, + * if not. + */ +ZYCORE_EXPORT ZyanBool ZyanCriticalSectionTryEnter(ZyanCriticalSection* critical_section); + +/** + * Leaves a critical section. + * + * @param critical_section A pointer to the `ZyanCriticalSection` struct. + */ +ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionLeave(ZyanCriticalSection* critical_section); + +/** + * Deletes a critical section. + * + * @param critical_section A pointer to the `ZyanCriticalSection` struct. + */ +ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionDelete(ZyanCriticalSection* critical_section); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYAN_NO_LIBC */ + +#endif /* ZYCORE_API_SYNCHRONIZATION_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/API/Terminal.h b/externals/dynarmic/externals/zycore/include/Zycore/API/Terminal.h new file mode 100755 index 000000000..17dc384b9 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/API/Terminal.h @@ -0,0 +1,163 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file Provides cross-platform terminal helper functions. + * @brief + */ + +#ifndef ZYCORE_API_TERMINAL_H +#define ZYCORE_API_TERMINAL_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef ZYAN_NO_LIBC + +/* ============================================================================================== */ +/* VT100 CSI SGR sequences */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYAN_VT100SGR_RESET "\033[0m" + +/* ---------------------------------------------------------------------------------------------- */ +/* Foreground colors */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYAN_VT100SGR_FG_DEFAULT "\033[39m" + +#define ZYAN_VT100SGR_FG_BLACK "\033[30m" +#define ZYAN_VT100SGR_FG_RED "\033[31m" +#define ZYAN_VT100SGR_FG_GREEN "\033[32m" +#define ZYAN_VT100SGR_FG_YELLOW "\033[33m" +#define ZYAN_VT100SGR_FG_BLUE "\033[34m" +#define ZYAN_VT100SGR_FG_MAGENTA "\033[35m" +#define ZYAN_VT100SGR_FG_CYAN "\033[36m" +#define ZYAN_VT100SGR_FG_WHITE "\033[37m" +#define ZYAN_VT100SGR_FG_BRIGHT_BLACK "\033[90m" +#define ZYAN_VT100SGR_FG_BRIGHT_RED "\033[91m" +#define ZYAN_VT100SGR_FG_BRIGHT_GREEN "\033[92m" +#define ZYAN_VT100SGR_FG_BRIGHT_YELLOW "\033[93m" +#define ZYAN_VT100SGR_FG_BRIGHT_BLUE "\033[94m" +#define ZYAN_VT100SGR_FG_BRIGHT_MAGENTA "\033[95m" +#define ZYAN_VT100SGR_FG_BRIGHT_CYAN "\033[96m" +#define ZYAN_VT100SGR_FG_BRIGHT_WHITE "\033[97m" + +/* ---------------------------------------------------------------------------------------------- */ +/* Background color */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYAN_VT100SGR_BG_DEFAULT "\033[49m" + +#define ZYAN_VT100SGR_BG_BLACK "\033[40m" +#define ZYAN_VT100SGR_BG_RED "\033[41m" +#define ZYAN_VT100SGR_BG_GREEN "\033[42m" +#define ZYAN_VT100SGR_BG_YELLOW "\033[43m" +#define ZYAN_VT100SGR_BG_BLUE "\033[44m" +#define ZYAN_VT100SGR_BG_MAGENTA "\033[45m" +#define ZYAN_VT100SGR_BG_CYAN "\033[46m" +#define ZYAN_VT100SGR_BG_WHITE "\033[47m" +#define ZYAN_VT100SGR_BG_BRIGHT_BLACK "\033[100m" +#define ZYAN_VT100SGR_BG_BRIGHT_RED "\033[101m" +#define ZYAN_VT100SGR_BG_BRIGHT_GREEN "\033[102m" +#define ZYAN_VT100SGR_BG_BRIGHT_YELLOW "\033[103m" +#define ZYAN_VT100SGR_BG_BRIGHT_BLUE "\033[104m" +#define ZYAN_VT100SGR_BG_BRIGHT_MAGENTA "\033[105m" +#define ZYAN_VT100SGR_BG_BRIGHT_CYAN "\033[106m" +#define ZYAN_VT100SGR_BG_BRIGHT_WHITE "\033[107m" + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Declares the `ZyanStandardStream` enum. + */ +typedef enum ZyanStandardStream_ +{ + /** + * The default input stream. + */ + ZYAN_STDSTREAM_IN, + /** + * The default output stream. + */ + ZYAN_STDSTREAM_OUT, + /** + * The default error stream. + */ + ZYAN_STDSTREAM_ERR +} ZyanStandardStream; + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * Enables VT100 ansi escape codes for the given stream. + * + * @param stream Either `ZYAN_STDSTREAM_OUT` or `ZYAN_STDSTREAM_ERR`. + * + * @return A zyan status code. + * + * This functions returns `ZYAN_STATUS_SUCCESS` on all non-Windows systems without performing any + * operations, assuming that VT100 is supported by default. + * + * On Windows systems, VT100 functionality is only supported on Windows 10 build 1607 (anniversary + * update) and later. + */ +ZYCORE_EXPORT ZyanStatus ZyanTerminalEnableVT100(ZyanStandardStream stream); + +/** + * Checks, if the given standard stream reads from or writes to a terminal. + * + * @param stream The standard stream to check. + * + * @return `ZYAN_STATUS_TRUE`, if the stream is bound to a terminal, `ZYAN_STATUS_FALSE` if not, + * or another zyan status code if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanTerminalIsTTY(ZyanStandardStream stream); + +/* ============================================================================================== */ + +#endif // ZYAN_NO_LIBC + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_API_TERMINAL_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/API/Thread.h b/externals/dynarmic/externals/zycore/include/Zycore/API/Thread.h new file mode 100755 index 000000000..b1ec085e9 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/API/Thread.h @@ -0,0 +1,244 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief + */ + +#ifndef ZYCORE_API_THREAD_H +#define ZYCORE_API_THREAD_H + +#ifndef ZYAN_NO_LIBC + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +#if defined(ZYAN_POSIX) + +#include + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanThread` data-type. + */ +typedef pthread_t ZyanThread; + +/** + * Defines the `ZyanThreadId` data-type. + */ +typedef ZyanU64 ZyanThreadId; + +/* ---------------------------------------------------------------------------------------------- */ +/* Thread Local Storage (TLS) */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanThreadTlsIndex` data-type. + */ +typedef pthread_key_t ZyanThreadTlsIndex; + +/** + * Defines the `ZyanThreadTlsCallback` function prototype. + */ +typedef void(*ZyanThreadTlsCallback)(void* data); + +/** + * Declares a Thread Local Storage (TLS) callback function. + * + * @param name The callback function name. + * @param param_type The callback data parameter type. + * @param param_name The callback data parameter name. + */ +#define ZYAN_THREAD_DECLARE_TLS_CALLBACK(name, param_type, param_name) \ + void name(param_type* param_name) + +/* ---------------------------------------------------------------------------------------------- */ + +#elif defined(ZYAN_WINDOWS) + +#include + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanThread` data-type. + */ +typedef HANDLE ZyanThread; + +/** + * Defines the `ZyanThreadId` data-type. + */ +typedef DWORD ZyanThreadId; + +/* ---------------------------------------------------------------------------------------------- */ +/* Thread Local Storage (TLS) */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanThreadTlsIndex` data-type. + */ +typedef DWORD ZyanThreadTlsIndex; + +/** + * Defines the `ZyanThreadTlsCallback` function prototype. + */ +typedef PFLS_CALLBACK_FUNCTION ZyanThreadTlsCallback; + +/** + * Declares a Thread Local Storage (TLS) callback function. + * + * @param name The callback function name. + * @param param_type The callback data parameter type. + * @param param_name The callback data parameter name. + */ +#define ZYAN_THREAD_DECLARE_TLS_CALLBACK(name, param_type, param_name) \ + VOID NTAPI name(param_type* param_name) + +/* ---------------------------------------------------------------------------------------------- */ + +#else +# error "Unsupported platform detected" +#endif + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the handle of the current thread. + * + * @param thread Receives the handle of the current thread. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanThreadGetCurrentThread(ZyanThread* thread); + +/** + * Returns the unique id of the current thread. + * + * @param thread_id Receives the unique id of the current thread. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanThreadGetCurrentThreadId(ZyanThreadId* thread_id); + +/* ---------------------------------------------------------------------------------------------- */ +/* Thread Local Storage (TLS) */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Allocates a new Thread Local Storage (TLS) slot. + * + * @param index Receives the TLS slot index. + * @param destructor A pointer to a destructor callback which is invoked to finalize the data + * in the TLS slot or `ZYAN_NULL`, if not needed. + * + * The maximum available number of TLS slots is implementation specific and different on each + * platform: + * - Windows + * - A total amount of 128 slots per process are guaranteed + * - POSIX + * - A total amount of 128 slots per process are guaranteed + * - Some systems guarantee larger amounts like e.g. 1024 slots per process + * + * Note that the invocation rules for the destructor callback are implementation specific and + * different on each platform: + * - Windows + * - The callback is invoked when a thread exits + * - The callback is invoked when the process exits + * - The callback is invoked when the TLS slot is released + * - POSIX + * - The callback is invoked when a thread exits and the stored value is not null + * - The callback is NOT invoked when the process exits + * - The callback is NOT invoked when the TLS slot is released + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanThreadTlsAlloc(ZyanThreadTlsIndex* index, + ZyanThreadTlsCallback destructor); + +/** + * Releases a Thread Local Storage (TLS) slot. + * + * @param index The TLS slot index. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanThreadTlsFree(ZyanThreadTlsIndex index); + +/** + * Returns the value inside the given Thread Local Storage (TLS) slot for the + * calling thread. + * + * @param index The TLS slot index. + * @param data Receives the value inside the given Thread Local Storage + * (TLS) slot for the calling thread. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanThreadTlsGetValue(ZyanThreadTlsIndex index, void** data); + +/** + * Set the value of the given Thread Local Storage (TLS) slot for the calling thread. + * + * @param index The TLS slot index. + * @param data The value to store inside the given Thread Local Storage (TLS) slot for the + * calling thread + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanThreadTlsSetValue(ZyanThreadTlsIndex index, void* data); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYAN_NO_LIBC */ + +#endif /* ZYCORE_API_THREAD_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Allocator.h b/externals/dynarmic/externals/zycore/include/Zycore/Allocator.h new file mode 100755 index 000000000..643517192 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Allocator.h @@ -0,0 +1,143 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief + */ + +#ifndef ZYCORE_ALLOCATOR_H +#define ZYCORE_ALLOCATOR_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +struct ZyanAllocator_; + +/** + * Defines the `ZyanAllocatorAllocate` function prototype. + * + * @param allocator A pointer to the `ZyanAllocator` instance. + * @param p Receives a pointer to the first memory block sufficient to hold an + * array of `n` elements with a size of `element_size`. + * @param element_size The size of a single element. + * @param n The number of elements to allocate storage for. + * + * @return A zyan status code. + * + * This prototype is used for the `allocate()` and `reallocate()` functions. + * + * The result of the `reallocate()` function is undefined, if `p` does not point to a memory block + * previously obtained by `(re-)allocate()`. + */ +typedef ZyanStatus (*ZyanAllocatorAllocate)(struct ZyanAllocator_* allocator, void** p, + ZyanUSize element_size, ZyanUSize n); + +/** + * Defines the `ZyanAllocatorDeallocate` function prototype. + * + * @param allocator A pointer to the `ZyanAllocator` instance. + * @param p The pointer obtained from `(re-)allocate()`. + * @param element_size The size of a single element. + * @param n The number of elements earlier passed to `(re-)allocate()`. + * + * @return A zyan status code. + */ +typedef ZyanStatus (*ZyanAllocatorDeallocate)(struct ZyanAllocator_* allocator, void* p, + ZyanUSize element_size, ZyanUSize n); + +/** + * Defines the `ZyanAllocator` struct. + * + * This is the base class for all custom allocator implementations. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZyanAllocator_ +{ + /** + * The allocate function. + */ + ZyanAllocatorAllocate allocate; + /** + * The reallocate function. + */ + ZyanAllocatorAllocate reallocate; + /** + * The deallocate function. + */ + ZyanAllocatorDeallocate deallocate; +} ZyanAllocator; + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * Initializes the given `ZyanAllocator` instance. + * + * @param allocator A pointer to the `ZyanAllocator` instance. + * @param allocate The allocate function. + * @param reallocate The reallocate function. + * @param deallocate The deallocate function. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanAllocatorInit(ZyanAllocator* allocator, ZyanAllocatorAllocate allocate, + ZyanAllocatorAllocate reallocate, ZyanAllocatorDeallocate deallocate); + +#ifndef ZYAN_NO_LIBC + +/** + * Returns the default `ZyanAllocator` instance. + * + * @return A pointer to the default `ZyanAllocator` instance. + * + * The default allocator uses the default memory manager to allocate memory on the heap. + * + * You should in no case modify the returned allocator instance to avoid unexpected behavior. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanAllocator* ZyanAllocatorDefault(void); + +#endif // ZYAN_NO_LIBC + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_ALLOCATOR_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/ArgParse.h b/externals/dynarmic/externals/zycore/include/Zycore/ArgParse.h new file mode 100755 index 000000000..5d389cb61 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/ArgParse.h @@ -0,0 +1,173 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Implements command-line argument parsing. + */ + +#ifndef ZYCORE_ARGPARSE_H +#define ZYCORE_ARGPARSE_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Structs and other types */ +/* ============================================================================================== */ + +/** + * Definition of a single argument. + */ +typedef struct ZyanArgParseDefinition_ +{ + /** + * The argument name, e.g. `--help`. + * + * Must start with either one or two dashes. Single dash arguments must consist of a single + * character, (e.g. `-n`), double-dash arguments can be of arbitrary length. + */ + const char* name; + /** + * Whether the argument is boolean or expects a value. + */ + ZyanBool boolean; + /** + * Whether this argument is required (error if missing). + */ + ZyanBool required; +} ZyanArgParseDefinition; + +/** + * Configuration for argument parsing. + */ +typedef struct ZyanArgParseConfig_ +{ + /** + * `argv` argument passed to `main` by LibC. + */ + const char** argv; + /** + * `argc` argument passed to `main` by LibC. + */ + ZyanUSize argc; + /** + * Minimum # of accepted unnamed / anonymous arguments. + */ + ZyanUSize min_unnamed_args; + /** + * Maximum # of accepted unnamed / anonymous arguments. + */ + ZyanUSize max_unnamed_args; + /** + * Argument definition array, or `ZYAN_NULL`. + * + * Expects a pointer to an array of `ZyanArgParseDefinition` instances. The array is + * terminated by setting the `.name` field of the last element to `ZYAN_NULL`. If no named + * arguments should be parsed, you can also set this to `ZYAN_NULL`. + */ + ZyanArgParseDefinition* args; +} ZyanArgParseConfig; + +/** + * Information about a parsed argument. + */ +typedef struct ZyanArgParseArg_ +{ + /** + * Corresponding argument definition, or `ZYAN_NULL` for unnamed args. + * + * This pointer is borrowed from the `cfg` pointer passed to `ZyanArgParse`. + */ + const ZyanArgParseDefinition* def; + /** + * Whether the argument has a value (is non-boolean). + */ + ZyanBool has_value; + /** + * If `has_value == true`, then the argument value. + * + * This is a view into the `argv` string array passed to `ZyanArgParse` via the `cfg` argument. + */ + ZyanStringView value; +} ZyanArgParseArg; + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +#ifndef ZYAN_NO_LIBC + +/** + * Parse arguments according to a `ZyanArgParseConfig` definition. + * + * @param cfg Argument parser config to use. + * @param parsed Receives the parsed output. Vector of `ZyanArgParseArg`. Ownership is + * transferred to the user. Input is expected to be uninitialized. On error, + * the vector remains uninitialized. + * @param error_token On error, if it makes sense, receives the argument fragment causing the + * error. Optional, may be `ZYAN_NULL`. The pointer borrows into the `cfg` + * struct and doesn't have to be freed by the user. + * + * @return A `ZyanStatus` status determining whether the parsing succeeded. + */ +ZYCORE_EXPORT ZyanStatus ZyanArgParse(const ZyanArgParseConfig *cfg, ZyanVector* parsed, + const char** error_token); + +#endif + +/** + * Parse arguments according to a `ZyanArgParseConfig` definition. + * + * This version allows specification of a custom memory allocator and thus supports no-libc. + * + * @param cfg Argument parser config to use. + * @param parsed Receives the parsed output. Vector of `ZyanArgParseArg`. Ownership is + * transferred to the user. Input is expected to be uninitialized. On error, + * the vector remains uninitialized. + * @param error_token On error, if it makes sense, receives the argument fragment causing the + * error. Optional, may be `ZYAN_NULL`. The pointer borrows into the `cfg` + * struct and doesn't have to be freed by the user. + * @param allocator The `ZyanAllocator` to be used for allocating the output vector's data. + * + * @return A `ZyanStatus` status determining whether the parsing succeeded. + */ +ZYCORE_EXPORT ZyanStatus ZyanArgParseEx(const ZyanArgParseConfig *cfg, ZyanVector* parsed, + const char** error_token, ZyanAllocator* allocator); + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_ARGPARSE_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Bitset.h b/externals/dynarmic/externals/zycore/include/Zycore/Bitset.h new file mode 100755 index 000000000..8c7eb1f3f --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Bitset.h @@ -0,0 +1,484 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Implements the bitset class. + */ + +#ifndef ZYCORE_BITSET_H +#define ZYCORE_BITSET_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZyanVector` struct. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZyanBitset_ +{ + /** + * The bitset size. + */ + ZyanUSize size; + /** + * The bitset data. + */ + ZyanVector bits; +} ZyanBitset; + +/** + * Defines the `ZyanBitsetByteOperation` function prototype. + * + * @param v1 A pointer to the first byte. This value receives the result after performing the + * desired operation. + * @param v2 A pointer to the second byte. + * + * @return A zyan status code. + * + * This function is used to perform byte-wise operations on two `ZyanBitset` instances. + */ +typedef ZyanStatus (*ZyanBitsetByteOperation)(ZyanU8* v1, const ZyanU8* v2); + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constructor and destructor */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Initializes the given `ZyanBitset` instance. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param count The initial amount of bits. + * + * @return A zyan status code. + * + * The space for the bitset is dynamically allocated by the default allocator using the default + * growth factor of `2.0f` and the default shrink threshold of `0.5f`. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanBitsetInit(ZyanBitset* bitset, ZyanUSize count); + +#endif // ZYAN_NO_LIBC + +/** + * Initializes the given `ZyanBitset` instance and sets a custom `allocator` and memory + * allocation/deallocation parameters. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param count The initial amount of bits. + * @param allocator A pointer to a `ZyanAllocator` instance. + * @param growth_factor The growth factor (from `1.0f` to `x.xf`). + * @param shrink_threshold The shrink threshold (from `0.0f` to `1.0f`). + * + * @return A zyan status code. + * + * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables + * dynamic shrinking. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetInitEx(ZyanBitset* bitset, ZyanUSize count, + ZyanAllocator* allocator, float growth_factor, float shrink_threshold); + +/** + * Initializes the given `ZyanBitset` instance and configures it to use a custom user + * defined buffer with a fixed size. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param count The initial amount of bits. + * @param buffer A pointer to the buffer that is used as storage for the bits. + * @param capacity The maximum capacity (number of bytes) of the buffer. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetInitBuffer(ZyanBitset* bitset, ZyanUSize count, void* buffer, + ZyanUSize capacity); + +/** + * Destroys the given `ZyanBitset` instance. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetDestroy(ZyanBitset* bitset); + +/* ---------------------------------------------------------------------------------------------- */ +/* Logical operations */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Performs a byte-wise `operation` for every byte in the given `ZyanBitset` instances. + * + * @param destination A pointer to the `ZyanBitset` instance that is used as the first input and + * as the destination. + * @param source A pointer to the `ZyanBitset` instance that is used as the second input. + * @param operation A pointer to the function that performs the desired operation. + * + * @return A zyan status code. + * + * The `operation` callback is invoked once for every byte in the smallest of the `ZyanBitset` + * instances. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetPerformByteOperation(ZyanBitset* destination, + const ZyanBitset* source, ZyanBitsetByteOperation operation); + +/** + * Performs a logical `AND` operation on the given `ZyanBitset` instances. + * + * @param destination A pointer to the `ZyanBitset` instance that is used as the first input and + * as the destination. + * @param source A pointer to the `ZyanBitset` instance that is used as the second input. + * + * @return A zyan status code. + * + * If the destination bitmask contains more bits than the source one, the state of the remaining + * bits will be undefined. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetAND(ZyanBitset* destination, const ZyanBitset* source); + +/** + * Performs a logical `OR` operation on the given `ZyanBitset` instances. + * + * @param destination A pointer to the `ZyanBitset` instance that is used as the first input and + * as the destination. + * @param source A pointer to the `ZyanBitset` instance that is used as the second input. + * + * @return A zyan status code. + * + * If the destination bitmask contains more bits than the source one, the state of the remaining + * bits will be undefined. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetOR (ZyanBitset* destination, const ZyanBitset* source); + +/** + * Performs a logical `XOR` operation on the given `ZyanBitset` instances. + * + * @param destination A pointer to the `ZyanBitset` instance that is used as the first input and + * as the destination. + * @param source A pointer to the `ZyanBitset` instance that is used as the second input. + * + * @return A zyan status code. + * + * If the destination bitmask contains more bits than the source one, the state of the remaining + * bits will be undefined. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetXOR(ZyanBitset* destination, const ZyanBitset* source); + +/** + * Flips all bits of the given `ZyanBitset` instance. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetFlip(ZyanBitset* bitset); + +/* ---------------------------------------------------------------------------------------------- */ +/* Bit access */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Sets the bit at `index` of the given `ZyanBitset` instance to `1`. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param index The bit index. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetSet(ZyanBitset* bitset, ZyanUSize index); + +/** + * Sets the bit at `index` of the given `ZyanBitset` instance to `0`. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param index The bit index. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetReset(ZyanBitset* bitset, ZyanUSize index); + +/** + * Sets the bit at `index` of the given `ZyanBitset` instance to the specified `value`. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param index The bit index. + * @param value The new value. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetAssign(ZyanBitset* bitset, ZyanUSize index, ZyanBool value); + +/** + * Toggles the bit at `index` of the given `ZyanBitset` instance. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param index The bit index. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetToggle(ZyanBitset* bitset, ZyanUSize index); + +/** + * Returns the value of the bit at `index`. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param index The bit index. + * + * @return `ZYAN_STATUS_TRUE`, if the bit is set or `ZYAN_STATUS_FALSE`, if not, Another zyan + * status code, if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetTest(ZyanBitset* bitset, ZyanUSize index); + +/** + * Returns the value of the most significant bit. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return `ZYAN_STATUS_TRUE`, if the bit is set or `ZYAN_STATUS_FALSE`, if not. Another zyan + * status code, if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetTestMSB(ZyanBitset* bitset); + +/** + * Returns the value of the least significant bit. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return `ZYAN_STATUS_TRUE`, if the bit is set or `ZYAN_STATUS_FALSE`, if not. Another zyan + * status code, if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetTestLSB(ZyanBitset* bitset); + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Sets all bits of the given `ZyanBitset` instance to `1`. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetSetAll(ZyanBitset* bitset); + +/** + * Sets all bits of the given `ZyanBitset` instance to `0`. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetResetAll(ZyanBitset* bitset); + +/* ---------------------------------------------------------------------------------------------- */ +/* Size management */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Adds a new bit at the end of the bitset. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param value The value of the new bit. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetPush(ZyanBitset* bitset, ZyanBool value); + +/** + * Removes the last bit of the bitset. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetPop(ZyanBitset* bitset); + +/** + * Deletes all bits of the given `ZyanBitset` instance. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetClear(ZyanBitset* bitset); + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Changes the capacity of the given `ZyanBitset` instance. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param count The new capacity (number of bits). + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetReserve(ZyanBitset* bitset, ZyanUSize count); + +/** + * Shrinks the capacity of the given bitset to match it's size. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetShrinkToFit(ZyanBitset* bitset); + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the current size of the bitset in bits. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param size Receives the size of the bitset in bits. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetGetSize(const ZyanBitset* bitset, ZyanUSize* size); + +/** + * Returns the current capacity of the bitset in bits. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param capacity Receives the size of the bitset in bits. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetGetCapacity(const ZyanBitset* bitset, ZyanUSize* capacity); + +/** + * Returns the current size of the bitset in bytes. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param size Receives the size of the bitset in bytes. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetGetSizeBytes(const ZyanBitset* bitset, ZyanUSize* size); + +/** + * Returns the current capacity of the bitset in bytes. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param capacity Receives the size of the bitset in bytes. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetGetCapacityBytes(const ZyanBitset* bitset, ZyanUSize* capacity); + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the amount of bits set in the given bitset. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * @param count Receives the amount of bits set in the given bitset. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetCount(const ZyanBitset* bitset, ZyanUSize* count); + +/** + * Checks, if all bits of the given bitset are set. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return `ZYAN_STATUS_TRUE`, if all bits are set, `ZYAN_STATUS_FALSE`, if not. Another zyan + * status code, if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetAll(const ZyanBitset* bitset); + +/** + * Checks, if at least one bit of the given bitset is set. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return `ZYAN_STATUS_TRUE`, if at least one bit is set, `ZYAN_STATUS_FALSE`, if not. Another + * zyan status code, if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetAny(const ZyanBitset* bitset); + +/** + * Checks, if none bits of the given bitset are set. + * + * @param bitset A pointer to the `ZyanBitset` instance. + * + * @return `ZYAN_STATUS_TRUE`, if none bits are set, `ZYAN_STATUS_FALSE`, if not. Another zyan + * status code, if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanBitsetNone(const ZyanBitset* bitset); + +///* ---------------------------------------------------------------------------------------------- */ +// +///** +// * Returns a 32-bit unsigned integer representation of the data. +// * +// * @param bitset A pointer to the `ZyanBitset` instance. +// * @param value Receives the 32-bit unsigned integer representation of the data. +// * +// * @return A zyan status code. +// */ +//ZYCORE_EXPORT ZyanStatus ZyanBitsetToU32(const ZyanBitset* bitset, ZyanU32* value); +// +///** +// * Returns a 64-bit unsigned integer representation of the data. +// * +// * @param bitset A pointer to the `ZyanBitset` instance. +// * @param value Receives the 64-bit unsigned integer representation of the data. +// * +// * @return A zyan status code. +// */ +//ZYCORE_EXPORT ZyanStatus ZyanBitsetToU64(const ZyanBitset* bitset, ZyanU64* value); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_BITSET_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Comparison.h b/externals/dynarmic/externals/zycore/include/Zycore/Comparison.h new file mode 100755 index 000000000..6d8b518b3 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Comparison.h @@ -0,0 +1,316 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Defines prototypes of general-purpose comparison functions. + */ + +#ifndef ZYCORE_COMPARISON_H +#define ZYCORE_COMPARISON_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZyanEqualityComparison` function prototype. + * + * @param left A pointer to the first element. + * @param right A pointer to the second element. + * + * @return This function should return `ZYAN_TRUE` if the `left` element equals the `right` one + * or `ZYAN_FALSE`, if not. + */ +typedef ZyanBool (*ZyanEqualityComparison)(const void* left, const void* right); + +/** + * Defines the `ZyanComparison` function prototype. + * + * @param left A pointer to the first element. + * @param right A pointer to the second element. + * + * @return This function should return values in the following range: + * `left == right -> result == 0` + * `left < right -> result < 0` + * `left > right -> result > 0` + */ +typedef ZyanI32 (*ZyanComparison)(const void* left, const void* right); + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Equality comparison functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Declares a generic equality comparison function for an integral data-type. + * + * @param name The name of the function. + * @param type The name of the integral data-type. + */ +#define ZYAN_DECLARE_EQUALITY_COMPARISON(name, type) \ + ZyanBool name(const type* left, const type* right) \ + { \ + ZYAN_ASSERT(left); \ + ZYAN_ASSERT(right); \ + \ + return (*left == *right) ? ZYAN_TRUE : ZYAN_FALSE; \ + } + +/** + * Declares a generic equality comparison function that compares a single integral + * data-type field of a struct. + * + * @param name The name of the function. + * @param type The name of the integral data-type. + * @param field_name The name of the struct field. + */ +#define ZYAN_DECLARE_EQUALITY_COMPARISON_FOR_FIELD(name, type, field_name) \ + ZyanBool name(const type* left, const type* right) \ + { \ + ZYAN_ASSERT(left); \ + ZYAN_ASSERT(right); \ + \ + return (left->field_name == right->field_name) ? ZYAN_TRUE : ZYAN_FALSE; \ + } + +/* ---------------------------------------------------------------------------------------------- */ +/* Comparison functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Declares a generic comparison function for an integral data-type. + * + * @param name The name of the function. + * @param type The name of the integral data-type. + */ +#define ZYAN_DECLARE_COMPARISON(name, type) \ + ZyanI32 name(const type* left, const type* right) \ + { \ + ZYAN_ASSERT(left); \ + ZYAN_ASSERT(right); \ + \ + if (*left < *right) \ + { \ + return -1; \ + } \ + if (*left > *right) \ + { \ + return 1; \ + } \ + return 0; \ + } + +/** + * Declares a generic comparison function that compares a single integral data-type field + * of a struct. + * + * @param name The name of the function. + * @param type The name of the integral data-type. + * @param field_name The name of the struct field. + */ +#define ZYAN_DECLARE_COMPARISON_FOR_FIELD(name, type, field_name) \ + ZyanI32 name(const type* left, const type* right) \ + { \ + ZYAN_ASSERT(left); \ + ZYAN_ASSERT(right); \ + \ + if (left->field_name < right->field_name) \ + { \ + return -1; \ + } \ + if (left->field_name > right->field_name) \ + { \ + return 1; \ + } \ + return 0; \ + } + + /* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Default equality comparison functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines a default equality comparison function for pointer values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if + * not. + */ +ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsPointer, void* const) + +/** + * Defines a default equality comparison function for `ZyanBool` values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if + * not. + */ +ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsBool, ZyanBool) + +/** + * Defines a default equality comparison function for 8-bit numeric values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if + * not. + */ +ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric8, ZyanU8) + +/** + * Defines a default equality comparison function for 16-bit numeric values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if + * not. + */ +ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric16, ZyanU16) + +/** + * Defines a default equality comparison function for 32-bit numeric values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if + * not. + */ +ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric32, ZyanU32) + +/** + * Defines a default equality comparison function for 64-bit numeric values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if + * not. + */ +ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric64, ZyanU64) + +/* ---------------------------------------------------------------------------------------------- */ +/* Default comparison functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines a default comparison function for pointer values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is + * less than the `right` one, or `1` if the `left` value is greater than the `right` one. + */ +ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanComparePointer, void* const) + +/** + * Defines a default comparison function for `ZyanBool` values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is + * less than the `right` one, or `1` if the `left` value is greater than the `right` one. + */ +ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareBool, ZyanBool) + +/** + * Defines a default comparison function for 8-bit numeric values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is + * less than the `right` one, or `1` if the `left` value is greater than the `right` one. + */ +ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric8, ZyanU8) + +/** + * Defines a default comparison function for 16-bit numeric values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is + * less than the `right` one, or `1` if the `left` value is greater than the `right` one. + */ +ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric16, ZyanU16) + +/** + * Defines a default comparison function for 32-bit numeric values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is + * less than the `right` one, or `1` if the `left` value is greater than the `right` one. + */ +ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric32, ZyanU32) + +/** + * Defines a default comparison function for 64-bit numeric values. + * + * @param left A pointer to the first value. + * @param right A pointer to the second value. + * + * @return Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is + * less than the `right` one, or `1` if the `left` value is greater than the `right` one. + */ +ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric64, ZyanU64) + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_COMPARISON_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Defines.h b/externals/dynarmic/externals/zycore/include/Zycore/Defines.h new file mode 100755 index 000000000..65afbaa39 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Defines.h @@ -0,0 +1,443 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * General helper and platform detection macros. + */ + +#ifndef ZYCORE_DEFINES_H +#define ZYCORE_DEFINES_H + +/* ============================================================================================== */ +/* Meta macros */ +/* ============================================================================================== */ + +/** + * Concatenates two values using the stringify operator (`##`). + * + * @param x The first value. + * @param y The second value. + * + * @return The combined string of the given values. + */ +#define ZYAN_MACRO_CONCAT(x, y) x ## y + +/** + * Concatenates two values using the stringify operator (`##`) and expands the value to + * be used in another macro. + * + * @param x The first value. + * @param y The second value. + * + * @return The combined string of the given values. + */ +#define ZYAN_MACRO_CONCAT_EXPAND(x, y) ZYAN_MACRO_CONCAT(x, y) + +/* ============================================================================================== */ +/* Compiler detection */ +/* ============================================================================================== */ + +#if defined(__clang__) +# define ZYAN_CLANG +# define ZYAN_GNUC +#elif defined(__ICC) || defined(__INTEL_COMPILER) +# define ZYAN_ICC +#elif defined(__GNUC__) || defined(__GNUG__) +# define ZYAN_GCC +# define ZYAN_GNUC +#elif defined(_MSC_VER) +# define ZYAN_MSVC +#elif defined(__BORLANDC__) +# define ZYAN_BORLAND +#else +# define ZYAN_UNKNOWN_COMPILER +#endif + +/* ============================================================================================== */ +/* Platform detection */ +/* ============================================================================================== */ + +#if defined(_WIN32) +# define ZYAN_WINDOWS +#elif defined(__EMSCRIPTEN__) +# define ZYAN_EMSCRIPTEN +#elif defined(__APPLE__) +# define ZYAN_APPLE +# define ZYAN_POSIX +#elif defined(__linux) +# define ZYAN_LINUX +# define ZYAN_POSIX +#elif defined(__FreeBSD__) +# define ZYAN_FREEBSD +# define ZYAN_POSIX +#elif defined(sun) || defined(__sun) +# define ZYAN_SOLARIS +# define ZYAN_POSIX +#elif defined(__unix) +# define ZYAN_UNIX +# define ZYAN_POSIX +#elif defined(__posix) +# define ZYAN_POSIX +#else +# define ZYAN_UNKNOWN_PLATFORM +#endif + +/* ============================================================================================== */ +/* Kernel mode detection */ +/* ============================================================================================== */ + +#if (defined(ZYAN_WINDOWS) && defined(_KERNEL_MODE)) || \ + (defined(ZYAN_APPLE) && defined(KERNEL)) || \ + (defined(ZYAN_LINUX) && defined(__KERNEL__)) || \ + (defined(__FreeBSD_kernel__)) +# define ZYAN_KERNEL +#else +# define ZYAN_USER +#endif + +/* ============================================================================================== */ +/* Architecture detection */ +/* ============================================================================================== */ + +#if defined(_M_AMD64) || defined(__x86_64__) +# define ZYAN_X64 +#elif defined(_M_IX86) || defined(__i386__) +# define ZYAN_X86 +#elif defined(_M_ARM64) || defined(__aarch64__) +# define ZYAN_AARCH64 +#elif defined(_M_ARM) || defined(_M_ARMT) || defined(__arm__) || defined(__thumb__) +# define ZYAN_ARM +#elif defined(__EMSCRIPTEN__) + // Nothing to do, `ZYAN_EMSCRIPTEN` is both platform and arch macro for this one. +#else +# error "Unsupported architecture detected" +#endif + +/* ============================================================================================== */ +/* Debug/Release detection */ +/* ============================================================================================== */ + +#if defined(ZYAN_MSVC) || defined(ZYAN_BORLAND) +# ifdef _DEBUG +# define ZYAN_DEBUG +# else +# define ZYAN_RELEASE +# endif +#elif defined(ZYAN_GNUC) || defined(ZYAN_ICC) +# ifdef NDEBUG +# define ZYAN_RELEASE +# else +# define ZYAN_DEBUG +# endif +#else +# define ZYAN_RELEASE +#endif + +/* ============================================================================================== */ +/* Misc compatibility macros */ +/* ============================================================================================== */ + +#if defined(ZYAN_CLANG) +# define ZYAN_NO_SANITIZE(what) __attribute__((no_sanitize(what))) +#else +# define ZYAN_NO_SANITIZE(what) +#endif + +#if defined(ZYAN_MSVC) || defined(ZYAN_BORLAND) +# define ZYAN_INLINE __inline +#else +# define ZYAN_INLINE static inline +#endif + +/* ============================================================================================== */ +/* Debugging and optimization macros */ +/* ============================================================================================== */ + +/** + * Runtime debug assertion. + */ +#if defined(ZYAN_NO_LIBC) +# define ZYAN_ASSERT(condition) (void)(condition) +#elif defined(ZYAN_WINDOWS) && defined(ZYAN_KERNEL) +# include +# define ZYAN_ASSERT(condition) NT_ASSERT(condition) +#else +# include +# define ZYAN_ASSERT(condition) assert(condition) +#endif + +/** + * Compiler-time assertion. + */ +#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus) +# define ZYAN_STATIC_ASSERT(x) _Static_assert(x, #x) +#elif (defined(__cplusplus) && __cplusplus >= 201103L) || \ + (defined(__cplusplus) && defined (_MSC_VER) && (_MSC_VER >= 1600)) || \ + (defined (_MSC_VER) && (_MSC_VER >= 1800)) +# define ZYAN_STATIC_ASSERT(x) static_assert(x, #x) +#else +# define ZYAN_STATIC_ASSERT(x) \ + typedef int ZYAN_MACRO_CONCAT_EXPAND(ZYAN_SASSERT_, __COUNTER__) [(x) ? 1 : -1] +#endif + +/** + * Marks the current code path as unreachable. + */ +#if defined(ZYAN_RELEASE) +# if defined(ZYAN_CLANG) // GCC eagerly evals && RHS, we have to use nested ifs. +# if __has_builtin(__builtin_unreachable) +# define ZYAN_UNREACHABLE __builtin_unreachable() +# else +# define ZYAN_UNREACHABLE for(;;) +# endif +# elif defined(ZYAN_GCC) && ((__GNUC__ == 4 && __GNUC_MINOR__ > 4) || __GNUC__ > 4) +# define ZYAN_UNREACHABLE __builtin_unreachable() +# elif defined(ZYAN_ICC) +# ifdef ZYAN_WINDOWS +# include // "missing return statement" workaround +# define ZYAN_UNREACHABLE __assume(0); (void)abort() +# else +# define ZYAN_UNREACHABLE __builtin_unreachable() +# endif +# elif defined(ZYAN_MSVC) +# define ZYAN_UNREACHABLE __assume(0) +# else +# define ZYAN_UNREACHABLE for(;;) +# endif +#elif defined(ZYAN_NO_LIBC) +# define ZYAN_UNREACHABLE for(;;) +#elif defined(ZYAN_WINDOWS) && defined(ZYAN_KERNEL) +# define ZYAN_UNREACHABLE { __fastfail(0); for(;;){} } +#else +# include +# define ZYAN_UNREACHABLE { assert(0); abort(); } +#endif + +/* ============================================================================================== */ +/* Utils */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General purpose */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Marks the specified parameter as unused. + * + * @param x The name of the unused parameter. + */ +#define ZYAN_UNUSED(x) (void)(x) + +/** + * Intentional fallthrough. + */ +#if defined(ZYAN_GCC) && __GNUC__ >= 7 +# define ZYAN_FALLTHROUGH __attribute__((fallthrough)) +#else +# define ZYAN_FALLTHROUGH +#endif + +/** + * Declares a bitfield. + * + * @param x The size (in bits) of the bitfield. + */ +#define ZYAN_BITFIELD(x) : x + +/** + * Marks functions that require libc (cannot be used with `ZYAN_NO_LIBC`). + */ +#define ZYAN_REQUIRES_LIBC + +/** + * Decorator for `printf`-style functions. + * + * @param format_index The 1-based index of the format string parameter. + * @param first_to_check The 1-based index of the format arguments parameter. + */ +#if defined(__RESHARPER__) +# define ZYAN_PRINTF_ATTR(format_index, first_to_check) \ + [[gnu::format(printf, format_index, first_to_check)]] +#elif defined(ZYAN_GCC) +# define ZYAN_PRINTF_ATTR(format_index, first_to_check) \ + __attribute__((format(printf, format_index, first_to_check))) +#else +# define ZYAN_PRINTF_ATTR(format_index, first_to_check) +#endif + +/** + * Decorator for `wprintf`-style functions. + * + * @param format_index The 1-based index of the format string parameter. + * @param first_to_check The 1-based index of the format arguments parameter. + */ +#if defined(__RESHARPER__) +# define ZYAN_WPRINTF_ATTR(format_index, first_to_check) \ + [[rscpp::format(wprintf, format_index, first_to_check)]] +#else +# define ZYAN_WPRINTF_ATTR(format_index, first_to_check) +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Arrays */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the length (number of elements) of an array. + * + * @param a The name of the array. + * + * @return The number of elements of the given array. + */ +#define ZYAN_ARRAY_LENGTH(a) (sizeof(a) / sizeof((a)[0])) + +/* ---------------------------------------------------------------------------------------------- */ +/* Arithmetic */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the smaller value of `a` or `b`. + * + * @param a The first value. + * @param b The second value. + * + * @return The smaller value of `a` or `b`. + */ +#define ZYAN_MIN(a, b) (((a) < (b)) ? (a) : (b)) + +/** + * Returns the bigger value of `a` or `b`. + * + * @param a The first value. + * @param b The second value. + * + * @return The bigger value of `a` or `b`. + */ +#define ZYAN_MAX(a, b) (((a) > (b)) ? (a) : (b)) + +/** + * Returns the absolute value of `a`. + * + * @param a The value. + * + * @return The absolute value of `a`. + */ +#define ZYAN_ABS(a) (((a) < 0) ? -(a) : (a)) + +/** + * Checks, if the given value is a power of 2. + * + * @param x The value. + * + * @return `ZYAN_TRUE`, if the given value is a power of 2 or `ZYAN_FALSE`, if not. + * + * Note that this macro always returns `ZYAN_TRUE` for `x == 0`. + */ +#define ZYAN_IS_POWER_OF_2(x) (((x) & ((x) - 1)) == 0) + +/** + * Checks, if the given value is properly aligned. + * + * Note that this macro only works for powers of 2. + */ +#define ZYAN_IS_ALIGNED_TO(x, align) (((x) & ((align) - 1)) == 0) + +/** + * Aligns the value to the nearest given alignment boundary (by rounding it up). + * + * @param x The value. + * @param align The desired alignment. + * + * @return The aligned value. + * + * Note that this macro only works for powers of 2. + */ +#define ZYAN_ALIGN_UP(x, align) (((x) + (align) - 1) & ~((align) - 1)) + +/** + * Aligns the value to the nearest given alignment boundary (by rounding it down). + * + * @param x The value. + * @param align The desired alignment. + * + * @return The aligned value. + * + * Note that this macro only works for powers of 2. + */ +#define ZYAN_ALIGN_DOWN(x, align) (((x) - 1) & ~((align) - 1)) + +/* ---------------------------------------------------------------------------------------------- */ +/* Bit operations */ +/* ---------------------------------------------------------------------------------------------- */ + +/* + * Checks, if the bit at index `b` is required to present the ordinal value `n`. + * + * @param n The ordinal value. + * @param b The bit index. + * + * @return `ZYAN_TRUE`, if the bit at index `b` is required to present the ordinal value `n` or + * `ZYAN_FALSE`, if not. + * + * Note that this macro always returns `ZYAN_FALSE` for `n == 0`. + */ +#define ZYAN_NEEDS_BIT(n, b) (((unsigned long)(n) >> (b)) > 0) + +/* + * Returns the number of bits required to represent the ordinal value `n`. + * + * @param n The ordinal value. + * + * @return The number of bits required to represent the ordinal value `n`. + * + * Note that this macro returns `0` for `n == 0`. + */ +#define ZYAN_BITS_TO_REPRESENT(n) \ + ( \ + ZYAN_NEEDS_BIT(n, 0) + ZYAN_NEEDS_BIT(n, 1) + \ + ZYAN_NEEDS_BIT(n, 2) + ZYAN_NEEDS_BIT(n, 3) + \ + ZYAN_NEEDS_BIT(n, 4) + ZYAN_NEEDS_BIT(n, 5) + \ + ZYAN_NEEDS_BIT(n, 6) + ZYAN_NEEDS_BIT(n, 7) + \ + ZYAN_NEEDS_BIT(n, 8) + ZYAN_NEEDS_BIT(n, 9) + \ + ZYAN_NEEDS_BIT(n, 10) + ZYAN_NEEDS_BIT(n, 11) + \ + ZYAN_NEEDS_BIT(n, 12) + ZYAN_NEEDS_BIT(n, 13) + \ + ZYAN_NEEDS_BIT(n, 14) + ZYAN_NEEDS_BIT(n, 15) + \ + ZYAN_NEEDS_BIT(n, 16) + ZYAN_NEEDS_BIT(n, 17) + \ + ZYAN_NEEDS_BIT(n, 18) + ZYAN_NEEDS_BIT(n, 19) + \ + ZYAN_NEEDS_BIT(n, 20) + ZYAN_NEEDS_BIT(n, 21) + \ + ZYAN_NEEDS_BIT(n, 22) + ZYAN_NEEDS_BIT(n, 23) + \ + ZYAN_NEEDS_BIT(n, 24) + ZYAN_NEEDS_BIT(n, 25) + \ + ZYAN_NEEDS_BIT(n, 26) + ZYAN_NEEDS_BIT(n, 27) + \ + ZYAN_NEEDS_BIT(n, 28) + ZYAN_NEEDS_BIT(n, 29) + \ + ZYAN_NEEDS_BIT(n, 30) + ZYAN_NEEDS_BIT(n, 31) \ + ) + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#endif /* ZYCORE_DEFINES_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Format.h b/externals/dynarmic/externals/zycore/include/Zycore/Format.h new file mode 100755 index 000000000..b0401e625 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Format.h @@ -0,0 +1,286 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Provides helper functions for performant number to string conversion. + */ + +#ifndef ZYCORE_FORMAT_H +#define ZYCORE_FORMAT_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Helpers */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Get the absolute value of a 64 bit int. + * + * @param x The value to process. + * @return The absolute, unsigned value. + * + * This gracefully deals with the special case of `x` being `INT_MAX`. + */ +ZYAN_INLINE ZyanU64 ZyanAbsI64(ZyanI64 x) +{ + // INT_MIN special case. Can't use the value directly because GCC thinks + // it's too big for an INT64 literal, however is perfectly happy to accept + // this expression. This is also hit INT64_MIN is defined in `stdint.h`. + if (x == (-0x7fffffffffffffff - 1)) + { + return 0x8000000000000000u; + } + + return (ZyanU64)(x < 0 ? -x : x); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Insertion */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Inserts formatted text in the destination string at the given `index`. + * + * @param string The destination string. + * @param index The insert index. + * @param format The format string. + * @param ... The format arguments. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYAN_PRINTF_ATTR(3, 4) +ZYCORE_EXPORT ZyanStatus ZyanStringInsertFormat(ZyanString* string, ZyanUSize index, + const char* format, ...); + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Formats the given unsigned ordinal `value` to its decimal text-representation and + * inserts it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The insert index. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringInsertDecU(ZyanString* string, ZyanUSize index, ZyanU64 value, + ZyanU8 padding_length); + +/** + * Formats the given signed ordinal `value` to its decimal text-representation and + * inserts it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The insert index. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param force_sign Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers. + * @param prefix The string to use as prefix or `ZYAN_NULL`, if not needed. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringInsertDecS(ZyanString* string, ZyanUSize index, ZyanI64 value, + ZyanU8 padding_length, ZyanBool force_sign, const ZyanString* prefix); + +/** + * Formats the given unsigned ordinal `value` to its hexadecimal text-representation and + * inserts it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The insert index. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param uppercase Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase + * ones ('a'-'f'). + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringInsertHexU(ZyanString* string, ZyanUSize index, ZyanU64 value, + ZyanU8 padding_length, ZyanBool uppercase); + +/** + * Formats the given signed ordinal `value` to its hexadecimal text-representation and + * inserts it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The insert index. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param uppercase Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase + * ones ('a'-'f'). + * @param force_sign Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers. + * @param prefix The string to use as prefix or `ZYAN_NULL`, if not needed. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringInsertHexS(ZyanString* string, ZyanUSize index, ZyanI64 value, + ZyanU8 padding_length, ZyanBool uppercase, ZyanBool force_sign, const ZyanString* prefix); + +/* ---------------------------------------------------------------------------------------------- */ +/* Appending */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Appends formatted text to the destination string. + * + * @param string The destination string. + * @param format The format string. + * @param ... The format arguments. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYAN_PRINTF_ATTR(2, 3) +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanStringAppendFormat( + ZyanString* string, const char* format, ...); + +#endif // ZYAN_NO_LIBC + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Formats the given unsigned ordinal `value` to its decimal text-representation and + * appends it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringAppendDecU(ZyanString* string, ZyanU64 value, + ZyanU8 padding_length); + +/** + * Formats the given signed ordinal `value` to its decimal text-representation and + * appends it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param force_sign Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers. + * @param prefix The string to use as prefix or `ZYAN_NULL`, if not needed. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringAppendDecS(ZyanString* string, ZyanI64 value, + ZyanU8 padding_length, ZyanBool force_sign, const ZyanStringView* prefix); + +/** + * Formats the given unsigned ordinal `value` to its hexadecimal text-representation and + * appends it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param uppercase Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase + * ones ('a'-'f'). + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringAppendHexU(ZyanString* string, ZyanU64 value, + ZyanU8 padding_length, ZyanBool uppercase); + +/** + * Formats the given signed ordinal `value` to its hexadecimal text-representation and + * appends it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param uppercase Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase + * ones ('a'-'f'). + * @param force_sign Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers. + * @param prefix The string to use as prefix or `ZYAN_NULL`, if not needed. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringAppendHexS(ZyanString* string, ZyanI64 value, + ZyanU8 padding_length, ZyanBool uppercase, ZyanBool force_sign, const ZyanStringView* prefix); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif // ZYCORE_FORMAT_H diff --git a/externals/dynarmic/externals/zycore/include/Zycore/LibC.h b/externals/dynarmic/externals/zycore/include/Zycore/LibC.h new file mode 100755 index 000000000..cb0b2f325 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/LibC.h @@ -0,0 +1,511 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Provides a simple LibC abstraction and fallback routines. + */ + +#ifndef ZYCORE_LIBC_H +#define ZYCORE_LIBC_H + +#ifndef ZYAN_CUSTOM_LIBC + +// Include a custom LibC header and define `ZYAN_CUSTOM_LIBC` to provide your own LibC +// replacement functions + +#ifndef ZYAN_NO_LIBC + +/* ============================================================================================== */ +/* LibC is available */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* errno.h */ +/* ---------------------------------------------------------------------------------------------- */ + +#include + +#define ZYAN_ERRNO errno + +/* ---------------------------------------------------------------------------------------------- */ +/* stdarg.h */ +/* ---------------------------------------------------------------------------------------------- */ + +#include + +/** + * Defines the `ZyanVAList` datatype. + */ +typedef va_list ZyanVAList; + +#define ZYAN_VA_START va_start +#define ZYAN_VA_ARG va_arg +#define ZYAN_VA_END va_end +#define ZYAN_VA_COPY(dest, source) va_copy((dest), (source)) + +/* ---------------------------------------------------------------------------------------------- */ +/* stdio.h */ +/* ---------------------------------------------------------------------------------------------- */ + +#include + +#define ZYAN_FPUTS fputs +#define ZYAN_FPUTC fputc +#define ZYAN_FPRINTF fprintf +#define ZYAN_PRINTF printf +#define ZYAN_PUTC putc +#define ZYAN_PUTS puts +#define ZYAN_SCANF scanf +#define ZYAN_SSCANF sscanf +#define ZYAN_VSNPRINTF vsnprintf + +/** + * Defines the `ZyanFile` datatype. + */ +typedef FILE ZyanFile; + +#define ZYAN_STDIN stdin +#define ZYAN_STDOUT stdout +#define ZYAN_STDERR stderr + +/* ---------------------------------------------------------------------------------------------- */ +/* stdlib.h */ +/* ---------------------------------------------------------------------------------------------- */ + +#include +#define ZYAN_CALLOC calloc +#define ZYAN_FREE free +#define ZYAN_MALLOC malloc +#define ZYAN_REALLOC realloc + +/* ---------------------------------------------------------------------------------------------- */ +/* string.h */ +/* ---------------------------------------------------------------------------------------------- */ + +#include +#define ZYAN_MEMCHR memchr +#define ZYAN_MEMCMP memcmp +#define ZYAN_MEMCPY memcpy +#define ZYAN_MEMMOVE memmove +#define ZYAN_MEMSET memset +#define ZYAN_STRCAT strcat +#define ZYAN_STRCHR strchr +#define ZYAN_STRCMP strcmp +#define ZYAN_STRCOLL strcoll +#define ZYAN_STRCPY strcpy +#define ZYAN_STRCSPN strcspn +#define ZYAN_STRLEN strlen +#define ZYAN_STRNCAT strncat +#define ZYAN_STRNCMP strncmp +#define ZYAN_STRNCPY strncpy +#define ZYAN_STRPBRK strpbrk +#define ZYAN_STRRCHR strrchr +#define ZYAN_STRSPN strspn +#define ZYAN_STRSTR strstr +#define ZYAN_STRTOK strtok +#define ZYAN_STRXFRM strxfrm + +/* ---------------------------------------------------------------------------------------------- */ + +#else // if ZYAN_NO_LIBC + +/* ============================================================================================== */ +/* No LibC available, use our own functions */ +/* ============================================================================================== */ + +#include +#include + +/* + * These implementations are by no means optimized and will be outperformed by pretty much any + * libc implementation out there. We do not aim towards providing competetive implementations here, + * but towards providing a last resort fallback for environments without a working libc. + */ + +/* ---------------------------------------------------------------------------------------------- */ +/* stdarg.h */ +/* ---------------------------------------------------------------------------------------------- */ + +#if defined(ZYAN_MSVC) || defined(ZYAN_ICC) + +/** + * Defines the `ZyanVAList` datatype. + */ +typedef char* ZyanVAList; + +# define ZYAN_VA_START __crt_va_start +# define ZYAN_VA_ARG __crt_va_arg +# define ZYAN_VA_END __crt_va_end +# define ZYAN_VA_COPY(destination, source) ((destination) = (source)) + +#elif defined(ZYAN_GNUC) + +/** + * Defines the `ZyanVAList` datatype. + */ +typedef __builtin_va_list ZyanVAList; + +# define ZYAN_VA_START(v, l) __builtin_va_start(v, l) +# define ZYAN_VA_END(v) __builtin_va_end(v) +# define ZYAN_VA_ARG(v, l) __builtin_va_arg(v, l) +# define ZYAN_VA_COPY(d, s) __builtin_va_copy(d, s) + +#else +# error "Unsupported compiler for no-libc mode." +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* stdio.h */ +/* ---------------------------------------------------------------------------------------------- */ + +// ZYAN_INLINE int ZYAN_VSNPRINTF (char* const buffer, ZyanUSize const count, +// char const* const format, ZyanVAList args) +// { +// // We cant provide a fallback implementation for this function +// ZYAN_UNUSED(buffer); +// ZYAN_UNUSED(count); +// ZYAN_UNUSED(format); +// ZYAN_UNUSED(args); +// return ZYAN_NULL; +// } + +/* ---------------------------------------------------------------------------------------------- */ +/* stdlib.h */ +/* ---------------------------------------------------------------------------------------------- */ + +// ZYAN_INLINE void* ZYAN_CALLOC(ZyanUSize nitems, ZyanUSize size) +// { +// // We cant provide a fallback implementation for this function +// ZYAN_UNUSED(nitems); +// ZYAN_UNUSED(size); +// return ZYAN_NULL; +// } +// +// ZYAN_INLINE void ZYAN_FREE(void *p) +// { +// // We cant provide a fallback implementation for this function +// ZYAN_UNUSED(p); +// } +// +// ZYAN_INLINE void* ZYAN_MALLOC(ZyanUSize n) +// { +// // We cant provide a fallback implementation for this function +// ZYAN_UNUSED(n); +// return ZYAN_NULL; +// } +// +// ZYAN_INLINE void* ZYAN_REALLOC(void* p, ZyanUSize n) +// { +// // We cant provide a fallback implementation for this function +// ZYAN_UNUSED(p); +// ZYAN_UNUSED(n); +// return ZYAN_NULL; +// } + +/* ---------------------------------------------------------------------------------------------- */ +/* string.h */ +/* ---------------------------------------------------------------------------------------------- */ + +ZYAN_INLINE void* ZYAN_MEMCHR(const void* str, int c, ZyanUSize n) +{ + const ZyanU8* p = (ZyanU8*)str; + while (n--) + { + if (*p != (ZyanU8)c) + { + p++; + } else + { + return (void*)p; + } + } + return 0; +} + +ZYAN_INLINE int ZYAN_MEMCMP(const void* s1, const void* s2, ZyanUSize n) +{ + const ZyanU8* p1 = s1, *p2 = s2; + while (n--) + { + if (*p1 != *p2) + { + return *p1 - *p2; + } + p1++, p2++; + } + return 0; +} + +ZYAN_INLINE void* ZYAN_MEMCPY(void* dst, const void* src, ZyanUSize n) +{ + volatile ZyanU8* dp = dst; + const ZyanU8* sp = src; + while (n--) + { + *dp++ = *sp++; + } + return dst; +} + +ZYAN_INLINE void* ZYAN_MEMMOVE(void* dst, const void* src, ZyanUSize n) +{ + volatile ZyanU8* pd = dst; + const ZyanU8* ps = src; + if (ps < pd) + { + for (pd += n, ps += n; n--;) + { + *--pd = *--ps; + } + } else + { + while (n--) + { + *pd++ = *ps++; + } + } + return dst; +} + +ZYAN_INLINE void* ZYAN_MEMSET(void* dst, int val, ZyanUSize n) +{ + volatile ZyanU8* p = dst; + while (n--) + { + *p++ = (unsigned char)val; + } + return dst; +} + +ZYAN_INLINE char* ZYAN_STRCAT(char* dest, const char* src) +{ + char* ret = dest; + while (*dest) + { + dest++; + } + while ((*dest++ = *src++)); + return ret; +} + +ZYAN_INLINE char* ZYAN_STRCHR(const char* s, int c) +{ + while (*s != (char)c) + { + if (!*s++) + { + return 0; + } + } + return (char*)s; +} + +ZYAN_INLINE int ZYAN_STRCMP(const char* s1, const char* s2) +{ + while (*s1 && (*s1 == *s2)) + { + s1++, s2++; + } + return *(const ZyanU8*)s1 - *(const ZyanU8*)s2; +} + +ZYAN_INLINE int ZYAN_STRCOLL(const char *s1, const char *s2) +{ + // TODO: Implement + + ZYAN_UNUSED(s1); + ZYAN_UNUSED(s2); + + return 0; +} + +ZYAN_INLINE char* ZYAN_STRCPY(char* dest, const char* src) +{ + char* ret = dest; + while ((*dest++ = *src++)); + return ret; +} + +ZYAN_INLINE ZyanUSize ZYAN_STRCSPN(const char *s1, const char *s2) +{ + ZyanUSize ret = 0; + while (*s1) + { + if (ZYAN_STRCHR(s2, *s1)) + { + return ret; + } + s1++, ret++; + } + return ret; +} + +ZYAN_INLINE ZyanUSize ZYAN_STRLEN(const char* str) +{ + const char* p = str; + while (*str) + { + ++str; + } + return str - p; +} + +ZYAN_INLINE char* ZYAN_STRNCAT(char* dest, const char* src, ZyanUSize n) +{ + char* ret = dest; + while (*dest) + { + dest++; + } + while (n--) + { + if (!(*dest++ = *src++)) + { + return ret; + } + } + *dest = 0; + return ret; +} + +ZYAN_INLINE int ZYAN_STRNCMP(const char* s1, const char* s2, ZyanUSize n) +{ + while (n--) + { + if (*s1++ != *s2++) + { + return *(unsigned char*)(s1 - 1) - *(unsigned char*)(s2 - 1); + } + } + return 0; +} + +ZYAN_INLINE char* ZYAN_STRNCPY(char* dest, const char* src, ZyanUSize n) +{ + char* ret = dest; + do + { + if (!n--) + { + return ret; + } + } while ((*dest++ = *src++)); + while (n--) + { + *dest++ = 0; + } + return ret; +} + +ZYAN_INLINE char* ZYAN_STRPBRK(const char* s1, const char* s2) +{ + while (*s1) + { + if(ZYAN_STRCHR(s2, *s1++)) + { + return (char*)--s1; + } + } + return 0; +} + +ZYAN_INLINE char* ZYAN_STRRCHR(const char* s, int c) +{ + char* ret = 0; + do + { + if (*s == (char)c) + { + ret = (char*)s; + } + } while (*s++); + return ret; +} + +ZYAN_INLINE ZyanUSize ZYAN_STRSPN(const char* s1, const char* s2) +{ + ZyanUSize ret = 0; + while (*s1 && ZYAN_STRCHR(s2, *s1++)) + { + ret++; + } + return ret; +} + +ZYAN_INLINE char* ZYAN_STRSTR(const char* s1, const char* s2) +{ + const ZyanUSize n = ZYAN_STRLEN(s2); + while (*s1) + { + if (!ZYAN_MEMCMP(s1++, s2, n)) + { + return (char*)(s1 - 1); + } + } + return 0; +} + +ZYAN_INLINE char* ZYAN_STRTOK(char* str, const char* delim) +{ + static char* p = 0; + if (str) + { + p = str; + } else + if (!p) + { + return 0; + } + str = p + ZYAN_STRSPN(p, delim); + p = str + ZYAN_STRCSPN(str, delim); + if (p == str) + { + return p = 0; + } + p = *p ? *p = 0, p + 1 : 0; + return str; +} + +ZYAN_INLINE ZyanUSize ZYAN_STRXFRM(char* dest, const char* src, ZyanUSize n) +{ + const ZyanUSize n2 = ZYAN_STRLEN(src); + if (n > n2) + { + ZYAN_STRCPY(dest, src); + } + return n2; +} + +/* ---------------------------------------------------------------------------------------------- */ + +#endif + +#endif + +/* ============================================================================================== */ + +#endif /* ZYCORE_LIBC_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/List.h b/externals/dynarmic/externals/zycore/include/Zycore/List.h new file mode 100755 index 000000000..015a324d3 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/List.h @@ -0,0 +1,574 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Implements a doubly linked list. + */ + +#ifndef ZYCORE_LIST_H +#define ZYCORE_LIST_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZyanListNode` struct. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZyanListNode_ +{ + /** + * A pointer to the previous list node. + */ + struct ZyanListNode_* prev; + /** + * A pointer to the next list node. + */ + struct ZyanListNode_* next; +} ZyanListNode; + +/** + * Defines the `ZyanList` struct. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZyanList_ +{ + /** + * The memory allocator. + */ + ZyanAllocator* allocator; + /** + * The current number of elements in the list. + */ + ZyanUSize size; + /** + * The size of a single element in bytes. + */ + ZyanUSize element_size; + /** + * The element destructor callback. + */ + ZyanMemberProcedure destructor; + /** + * The head node. + */ + ZyanListNode* head; + /** + * The tail node. + */ + ZyanListNode* tail; + /** + * The data buffer. + * + * Only used for instances created by `ZyanListInitCustomBuffer`. + */ + void* buffer; + /** + * The data buffer capacity (number of bytes). + * + * Only used for instances created by `ZyanListInitCustomBuffer`. + */ + ZyanUSize capacity; + /** + * The first unused node. + * + * When removing a node, the first-unused value is updated to point at the removed node and the + * next node of the removed node will be updated to point at the old first-unused node. + * + * When appending the memory of the first unused-node is recycled to store the new node. The + * value of the first-unused node is then updated to point at the reused nodes next node. + * + * If the first-unused value is `ZYAN_NULL`, any new node will be "allocated" behind the tail + * node (if there is enough space left in the fixed size buffer). + * + * Only used for instances created by `ZyanListInitCustomBuffer`. + */ + ZyanListNode* first_unused; +} ZyanList; + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines an uninitialized `ZyanList` instance. + */ +#define ZYAN_LIST_INITIALIZER \ + { \ + /* allocator */ ZYAN_NULL, \ + /* size */ 0, \ + /* element_size */ 0, \ + /* head */ ZYAN_NULL, \ + /* destructor */ ZYAN_NULL, \ + /* tail */ ZYAN_NULL, \ + /* buffer */ ZYAN_NULL, \ + /* capacity */ 0, \ + /* first_unused */ ZYAN_NULL \ + } + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper macros */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the data value of the given `node`. + * + * @param type The desired value type. + * @param node A pointer to the `ZyanListNode` struct. + * + * @result The data value of the given `node`. + * + * Note that this function is unsafe and might dereference a null-pointer. + */ +#ifdef __cplusplus +#define ZYAN_LIST_GET(type, node) \ + (*reinterpret_cast(ZyanListGetNodeData(node))) +#else +#define ZYAN_LIST_GET(type, node) \ + (*(const type*)ZyanListGetNodeData(node)) +#endif + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constructor and destructor */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Initializes the given `ZyanList` instance. + * + * @param list A pointer to the `ZyanList` instance. + * @param element_size The size of a single element in bytes. + * @param destructor A destructor callback that is invoked every time an item is deleted, or + * `ZYAN_NULL` if not needed. + * + * @return A zyan status code. + * + * The memory for the list elements is dynamically allocated by the default allocator. + * + * Finalization with `ZyanListDestroy` is required for all instances created by this function. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanListInit(ZyanList* list, ZyanUSize element_size, + ZyanMemberProcedure destructor); + +#endif // ZYAN_NO_LIBC + +/** + * Initializes the given `ZyanList` instance and sets a custom `allocator`. + * + * @param list A pointer to the `ZyanList` instance. + * @param element_size The size of a single element in bytes. + * @param destructor A destructor callback that is invoked every time an item is deleted, or + * `ZYAN_NULL` if not needed. + * @param allocator A pointer to a `ZyanAllocator` instance. + * + * @return A zyan status code. + * + * Finalization with `ZyanListDestroy` is required for all instances created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanListInitEx(ZyanList* list, ZyanUSize element_size, + ZyanMemberProcedure destructor, ZyanAllocator* allocator); + +/** + * Initializes the given `ZyanList` instance and configures it to use a custom user + * defined buffer with a fixed size. + * + * @param list A pointer to the `ZyanList` instance. + * @param element_size The size of a single element in bytes. + * @param destructor A destructor callback that is invoked every time an item is deleted, or + * `ZYAN_NULL` if not needed. + * @param buffer A pointer to the buffer that is used as storage for the elements. + * @param capacity The maximum capacity (number of bytes) of the buffer including the + * space required for the list-nodes. + * + * @return A zyan status code. + * + * The buffer capacity required to store `n` elements of type `T` is be calculated by: + * `size = n * sizeof(ZyanListNode) + n * sizeof(T)` + * + * Finalization is not required for instances created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanListInitCustomBuffer(ZyanList* list, ZyanUSize element_size, + ZyanMemberProcedure destructor, void* buffer, ZyanUSize capacity); + +/** + * Destroys the given `ZyanList` instance. + * + * @param list A pointer to the `ZyanList` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListDestroy(ZyanList* list); + +/* ---------------------------------------------------------------------------------------------- */ +/* Duplication */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Initializes a new `ZyanList` instance by duplicating an existing list. + * + * @param destination A pointer to the (uninitialized) destination `ZyanList` instance. + * @param source A pointer to the source list. + * + * @return A zyan status code. + * + * The memory for the list is dynamically allocated by the default allocator. + * + * Finalization with `ZyanListDestroy` is required for all instances created by this function. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanListDuplicate(ZyanList* destination, + const ZyanList* source); + +#endif // ZYAN_NO_LIBC + +/** + * Initializes a new `ZyanList` instance by duplicating an existing list and sets a + * custom `allocator`. + * + * @param destination A pointer to the (uninitialized) destination `ZyanList` instance. + * @param source A pointer to the source list. + * @param allocator A pointer to a `ZyanAllocator` instance. + * + * @return A zyan status code. + + * Finalization with `ZyanListDestroy` is required for all instances created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanListDuplicateEx(ZyanList* destination, const ZyanList* source, + ZyanAllocator* allocator); + +/** + * Initializes a new `ZyanList` instance by duplicating an existing list and + * configures it to use a custom user defined buffer with a fixed size. + * + * @param destination A pointer to the (uninitialized) destination `ZyanList` instance. + * @param source A pointer to the source list. + * @param buffer A pointer to the buffer that is used as storage for the elements. + * @param capacity The maximum capacity (number of bytes) of the buffer including the + * space required for the list-nodes. + + * This function will fail, if the capacity of the buffer is not sufficient + * to store all elements of the source list. + * + * @return A zyan status code. + * + * The buffer capacity required to store `n` elements of type `T` is be calculated by: + * `size = n * sizeof(ZyanListNode) + n * sizeof(T)` + * + * Finalization is not required for instances created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanListDuplicateCustomBuffer(ZyanList* destination, + const ZyanList* source, void* buffer, ZyanUSize capacity); + +/* ---------------------------------------------------------------------------------------------- */ +/* Item access */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns a pointer to the first `ZyanListNode` struct of the given list. + * + * @param list A pointer to the `ZyanList` instance. + * @param node Receives a pointer to the first `ZyanListNode` struct of the list. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListGetHeadNode(const ZyanList* list, const ZyanListNode** node); + +/** + * Returns a pointer to the last `ZyanListNode` struct of the given list. + * + * @param list A pointer to the `ZyanList` instance. + * @param node Receives a pointer to the last `ZyanListNode` struct of the list. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListGetTailNode(const ZyanList* list, const ZyanListNode** node); + +/** + * Receives a pointer to the previous `ZyanListNode` struct linked to the passed one. + * + * @param node Receives a pointer to the previous `ZyanListNode` struct linked to the passed + * one. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListGetPrevNode(const ZyanListNode** node); + +/** + * Receives a pointer to the next `ZyanListNode` struct linked to the passed one. + * + * @param node Receives a pointer to the next `ZyanListNode` struct linked to the passed one. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListGetNextNode(const ZyanListNode** node); + +/** + * Returns a constant pointer to the data of the given `node`. + * + * @param node A pointer to the `ZyanListNode` struct. + * + * @return A constant pointer to the the data of the given `node` or `ZYAN_NULL`, if an error + * occured. + * + * Take a look at `ZyanListGetNodeDataEx`, if you need a function that returns a zyan status code. + */ +ZYCORE_EXPORT const void* ZyanListGetNodeData(const ZyanListNode* node); + +/** + * Returns a constant pointer to the data of the given `node`.. + * + * @param node A pointer to the `ZyanListNode` struct. + * @param value Receives a constant pointer to the data of the given `node`. + * + * Take a look at `ZyanListGetNodeData`, if you need a function that directly returns a pointer. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListGetNodeDataEx(const ZyanListNode* node, const void** value); + +/** + * Returns a mutable pointer to the data of the given `node`. + * + * @param node A pointer to the `ZyanListNode` struct. + * + * @return A mutable pointer to the the data of the given `node` or `ZYAN_NULL`, if an error + * occured. + * + * Take a look at `ZyanListGetPointerMutableEx` instead, if you need a function that returns a + * zyan status code. + */ +ZYCORE_EXPORT void* ZyanListGetNodeDataMutable(const ZyanListNode* node); + +/** + * Returns a mutable pointer to the data of the given `node`.. + * + * @param node A pointer to the `ZyanListNode` struct. + * @param value Receives a mutable pointer to the data of the given `node`. + * + * Take a look at `ZyanListGetNodeDataMutable`, if you need a function that directly returns a + * pointer. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListGetNodeDataMutableEx(const ZyanListNode* node, void** value); + +/** + * Assigns a new data value to the given `node`. + * + * @param list A pointer to the `ZyanList` instance. + * @param node A pointer to the `ZyanListNode` struct. + * @param value The value to assign. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListSetNodeData(const ZyanList* list, const ZyanListNode* node, + const void* value); + +/* ---------------------------------------------------------------------------------------------- */ +/* Insertion */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Adds a new `item` to the end of the list. + * + * @param list A pointer to the `ZyanList` instance. + * @param item A pointer to the item to add. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListPushBack(ZyanList* list, const void* item); + +/** + * Adds a new `item` to the beginning of the list. + * + * @param list A pointer to the `ZyanList` instance. + * @param item A pointer to the item to add. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListPushFront(ZyanList* list, const void* item); + +/** + * Constructs an `item` in-place at the end of the list. + * + * @param list A pointer to the `ZyanList` instance. + * @param item Receives a pointer to the new item. + * @param constructor The constructor callback or `ZYAN_NULL`. The new item will be in + * undefined state, if no constructor was passed. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListEmplaceBack(ZyanList* list, void** item, + ZyanMemberFunction constructor); + +/** + * Constructs an `item` in-place at the beginning of the list. + * + * @param list A pointer to the `ZyanList` instance. + * @param item Receives a pointer to the new item. + * @param constructor The constructor callback or `ZYAN_NULL`. The new item will be in + * undefined state, if no constructor was passed. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListEmplaceFront(ZyanList* list, void** item, + ZyanMemberFunction constructor); + +/* ---------------------------------------------------------------------------------------------- */ +/* Deletion */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Removes the last element of the list. + * + * @param list A pointer to the `ZyanList` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListPopBack(ZyanList* list); + +/** + * Removes the firstelement of the list. + * + * @param list A pointer to the `ZyanList` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListPopFront(ZyanList* list); + +/** + * Removes the given `node` from the list. + * + * @param list A pointer to the `ZyanList` instance. + * @param node A pointer to the `ZyanListNode` struct. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListRemove(ZyanList* list, const ZyanListNode* node); + +/** + * Removes multiple nodes from the list. + * + * @param list A pointer to the `ZyanList` instance. + * @param first A pointer to the first node. + * @param last A pointer to the last node. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListRemoveRange(ZyanList* list, const ZyanListNode* first, + const ZyanListNode* last); + +/** + * Erases all elements of the list. + * + * @param list A pointer to the `ZyanList` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListClear(ZyanList* list); + +/* ---------------------------------------------------------------------------------------------- */ +/* Searching */ +/* ---------------------------------------------------------------------------------------------- */ + +// TODO: + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Resizes the given `ZyanList` instance. + * + * @param list A pointer to the `ZyanList` instance. + * @param size The new size of the list. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListResize(ZyanList* list, ZyanUSize size); + +/** + * Resizes the given `ZyanList` instance. + * + * @param list A pointer to the `ZyanList` instance. + * @param size The new size of the list. + * @param initializer A pointer to a value to be used as initializer for new items. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListResizeEx(ZyanList* list, ZyanUSize size, const void* initializer); + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the current size of the list. + * + * @param list A pointer to the `ZyanList` instance. + * @param size Receives the size of the list. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanListGetSize(const ZyanList* list, ZyanUSize* size); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_VECTOR_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Object.h b/externals/dynarmic/externals/zycore/include/Zycore/Object.h new file mode 100755 index 000000000..d015cef77 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Object.h @@ -0,0 +1,84 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Defines some generic object-related datatypes. + */ + +#ifndef ZYCORE_OBJECT_H +#define ZYCORE_OBJECT_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZyanMemberProcedure` function prototype. + * + * @param object A pointer to the object. + */ +typedef void (*ZyanMemberProcedure)(void* object); + +/** + * Defines the `ZyanConstMemberProcedure` function prototype. + * + * @param object A pointer to the object. + */ +typedef void (*ZyanConstMemberProcedure)(const void* object); + +/** + * Defines the `ZyanMemberFunction` function prototype. + * + * @param object A pointer to the object. + * + * @return A zyan status code. + */ +typedef ZyanStatus (*ZyanMemberFunction)(void* object); + +/** + * Defines the `ZyanConstMemberFunction` function prototype. + * + * @param object A pointer to the object. + * + * @return A zyan status code. + */ +typedef ZyanStatus (*ZyanConstMemberFunction)(const void* object); + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_OBJECT_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Status.h b/externals/dynarmic/externals/zycore/include/Zycore/Status.h new file mode 100755 index 000000000..b0d7fdf58 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Status.h @@ -0,0 +1,287 @@ +/*************************************************************************************************** + + Zyan Core Library (Zyan-C) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Status code definitions and check macros. + */ + +#ifndef ZYCORE_STATUS_H +#define ZYCORE_STATUS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZyanStatus` data type. + */ +typedef ZyanU32 ZyanStatus; + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Definition */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines a zyan status code. + * + * @param error `1`, if the status code signals an error or `0`, if not. + * @param module The module id. + * @param code The actual code. + * + * @return The zyan status code. + */ +#define ZYAN_MAKE_STATUS(error, module, code) \ + (ZyanStatus)((((error) & 0x01u) << 31u) | (((module) & 0x7FFu) << 20u) | ((code) & 0xFFFFFu)) + +/* ---------------------------------------------------------------------------------------------- */ +/* Checks */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Checks if a zyan operation was successful. + * + * @param status The zyan status-code to check. + * + * @return `ZYAN_TRUE`, if the operation succeeded or `ZYAN_FALSE`, if not. + */ +#define ZYAN_SUCCESS(status) \ + (!((status) & 0x80000000u)) + +/** + * Checks if a zyan operation failed. + * + * @param status The zyan status-code to check. + * + * @return `ZYAN_TRUE`, if the operation failed or `ZYAN_FALSE`, if not. + */ +#define ZYAN_FAILED(status) \ + ((status) & 0x80000000u) + +/** + * Checks if a zyan operation was successful and returns with the status-code, if not. + * + * @param status The zyan status-code to check. + */ +#define ZYAN_CHECK(status) \ + do \ + { \ + const ZyanStatus status_047620348 = (status); \ + if (!ZYAN_SUCCESS(status_047620348)) \ + { \ + return status_047620348; \ + } \ + } while (0) + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + + /** + * Returns the module id of a zyan status-code. + * + * @param status The zyan status-code. + * + * @return The module id of the zyan status-code. + */ +#define ZYAN_STATUS_MODULE(status) \ + (((status) >> 20) & 0x7FFu) + + /** + * Returns the code of a zyan status-code. + * + * @param status The zyan status-code. + * + * @return The code of the zyan status-code. + */ +#define ZYAN_STATUS_CODE(status) \ + ((status) & 0xFFFFFu) + +/* ============================================================================================== */ +/* Status codes */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Module IDs */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * The zycore generic module id. + */ +#define ZYAN_MODULE_ZYCORE 0x001u + +/** + * The zycore arg-parse submodule id. + */ +#define ZYAN_MODULE_ARGPARSE 0x003u + +/** + * The base module id for user-defined status codes. + */ +#define ZYAN_MODULE_USER 0x3FFu + +/* ---------------------------------------------------------------------------------------------- */ +/* Status codes (general purpose) */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * The operation completed successfully. + */ +#define ZYAN_STATUS_SUCCESS \ + ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x00u) + +/** + * The operation failed with an generic error. + */ +#define ZYAN_STATUS_FAILED \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x01u) + +/** + * The operation completed successfully and returned `ZYAN_TRUE`. + */ +#define ZYAN_STATUS_TRUE \ + ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x02u) + +/** + * The operation completed successfully and returned `ZYAN_FALSE`. + */ +#define ZYAN_STATUS_FALSE \ + ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYCORE, 0x03u) + +/** + * An invalid argument was passed to a function. + */ +#define ZYAN_STATUS_INVALID_ARGUMENT \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x04u) + +/** + * An attempt was made to perform an invalid operation. + */ +#define ZYAN_STATUS_INVALID_OPERATION \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x05u) + +/** + * Insufficient privileges to perform the requested operation. + */ +#define ZYAN_STATUS_ACCESS_DENIED \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x06u) + +/** + * The requested entity was not found. + */ +#define ZYAN_STATUS_NOT_FOUND \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x07u) + +/** + * An index passed to a function was out of bounds. + */ +#define ZYAN_STATUS_OUT_OF_RANGE \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x08u) + +/** + * A buffer passed to a function was too small to complete the requested operation. + */ +#define ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x09u) + +/** + * Insufficient memory to perform the operation. + */ +#define ZYAN_STATUS_NOT_ENOUGH_MEMORY \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Au) + +/** + * An unknown error occurred during a system function call. + */ +#define ZYAN_STATUS_BAD_SYSTEMCALL \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Bu) + +/** + * The process ran out of resources while performing an operation. + */ +#define ZYAN_STATUS_OUT_OF_RESOURCES \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Cu) + +/** + * A dependency library was not found or does have an unexpected version number or + * feature-set. + */ +#define ZYAN_STATUS_MISSING_DEPENDENCY \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYCORE, 0x0Du) + +/* ---------------------------------------------------------------------------------------------- */ +/* Status codes (arg parse) */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Argument was not expected. + */ +#define ZYAN_STATUS_ARG_NOT_UNDERSTOOD \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x00u) + +/** + * Too few arguments were provided. + */ +#define ZYAN_STATUS_TOO_FEW_ARGS \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x01u) + +/** + * Too many arguments were provided. + */ +#define ZYAN_STATUS_TOO_MANY_ARGS \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x02u) + +/** + * An argument that expected a value misses its value. + */ +#define ZYAN_STATUS_ARG_MISSES_VALUE \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x03u) + +/** +* A required argument is missing. +*/ +#define ZYAN_STATUS_REQUIRED_ARG_MISSING \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ARGPARSE, 0x04u) + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_STATUS_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/String.h b/externals/dynarmic/externals/zycore/include/Zycore/String.h new file mode 100755 index 000000000..c3157bc3c --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/String.h @@ -0,0 +1,1012 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Implements a string type. + */ + +#ifndef ZYCORE_STRING_H +#define ZYCORE_STRING_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +/** + * The initial minimum capacity (number of characters) for all dynamically allocated + * string instances - not including the terminating '\0'-character. + */ +#define ZYAN_STRING_MIN_CAPACITY 32 + +/** + * The default growth factor for all string instances. + */ +#define ZYAN_STRING_DEFAULT_GROWTH_FACTOR 2.00f + +/** + * The default shrink threshold for all string instances. + */ +#define ZYAN_STRING_DEFAULT_SHRINK_THRESHOLD 0.25f + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* String flags */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanStringFlags` datatype. + */ +typedef ZyanU8 ZyanStringFlags; + +/** + * The string uses a custom user-defined buffer with a fixed capacity. + */ +#define ZYAN_STRING_HAS_FIXED_CAPACITY 0x01 // (1 << 0) + +/* ---------------------------------------------------------------------------------------------- */ +/* String */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanString` struct. + * + * The `ZyanString` type is implemented as a size-prefixed string - which allows for a lot of + * performance optimizations. + * Nevertheless null-termination is guaranteed at all times to provide maximum compatibility with + * default C-style strings (use `ZyanStringGetData` to access the C-style string). + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZyanString_ +{ + /** + * String flags. + */ + ZyanStringFlags flags; + /** + * The vector that contains the actual string. + */ + ZyanVector vector; +} ZyanString; + +/* ---------------------------------------------------------------------------------------------- */ +/* View */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanStringView` struct. + * + * The `ZyanStringView` type provides a view inside a string (`ZyanString` instances, null- + * terminated C-style strings, or even not-null-terminated custom strings). A view is immutable + * by design and can't be directly converted to a C-style string. + * + * Views might become invalid (e.g. pointing to invalid memory), if the underlying string gets + * destroyed or resized. + * + * The `ZYAN_STRING_TO_VIEW` macro can be used to cast a `ZyanString` to a `ZyanStringView` pointer + * without any runtime overhead. + * Casting a view to a normal string is not supported and will lead to unexpected behavior (use + * `ZyanStringDuplicate` to create a deep-copy instead). + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZyanStringView_ +{ + /** + * The string data. + * + * The view internally re-uses the normal string struct to allow casts without any runtime + * overhead. + */ + ZyanString string; +} ZyanStringView; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines an uninitialized `ZyanString` instance. + */ +#define ZYAN_STRING_INITIALIZER \ + { \ + /* flags */ 0, \ + /* vector */ ZYAN_VECTOR_INITIALIZER \ + } + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper macros */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Casts a `ZyanString` pointer to a constant `ZyanStringView` pointer. + */ +#define ZYAN_STRING_TO_VIEW(string) (const ZyanStringView*)(string) + +/** + * Defines a `ZyanStringView` struct that provides a view into a static C-style string. + * + * @param string The C-style string. + */ +#define ZYAN_DEFINE_STRING_VIEW(string) \ + { \ + /* string */ \ + { \ + /* flags */ 0, \ + /* vector */ \ + { \ + /* allocator */ ZYAN_NULL, \ + /* growth_factor */ 1.0f, \ + /* shrink_threshold */ 0.0f, \ + /* size */ sizeof(string), \ + /* capacity */ sizeof(string), \ + /* element_size */ sizeof(char), \ + /* destructor */ ZYAN_NULL, \ + /* data */ (char*)(string) \ + } \ + } \ + } + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constructor and destructor */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Initializes the given `ZyanString` instance. + * + * @param string A pointer to the `ZyanString` instance. + * @param capacity The initial capacity (number of characters). + * + * @return A zyan status code. + * + * The memory for the string is dynamically allocated by the default allocator using the default + * growth factor of `2.0f` and the default shrink threshold of `0.25f`. + * + * The allocated buffer will be at least one character larger than the given `capacity`, to reserve + * space for the terminating '\0'. + * + * Finalization with `ZyanStringDestroy` is required for all strings created by this function. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanStringInit(ZyanString* string, ZyanUSize capacity); + +#endif // ZYAN_NO_LIBC + +/** + * Initializes the given `ZyanString` instance and sets a custom `allocator` and memory + * allocation/deallocation parameters. + * + * @param string A pointer to the `ZyanString` instance. + * @param capacity The initial capacity (number of characters). + * @param allocator A pointer to a `ZyanAllocator` instance. + * @param growth_factor The growth factor (from `1.0f` to `x.xf`). + * @param shrink_threshold The shrink threshold (from `0.0f` to `1.0f`). + * + * @return A zyan status code. + * + * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables + * dynamic shrinking. + * + * The allocated buffer will be at least one character larger than the given `capacity`, to reserve + * space for the terminating '\0'. + * + * Finalization with `ZyanStringDestroy` is required for all strings created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringInitEx(ZyanString* string, ZyanUSize capacity, + ZyanAllocator* allocator, float growth_factor, float shrink_threshold); + +/** + * Initializes the given `ZyanString` instance and configures it to use a custom user + * defined buffer with a fixed size. + * + * @param string A pointer to the `ZyanString` instance. + * @param buffer A pointer to the buffer that is used as storage for the string. + * @param capacity The maximum capacity (number of characters) of the buffer, including + * the terminating '\0'. + * + * @return A zyan status code. + * + * Finalization is not required for strings created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringInitCustomBuffer(ZyanString* string, char* buffer, + ZyanUSize capacity); + +/** + * Destroys the given `ZyanString` instance. + * + * @param string A pointer to the `ZyanString` instance. + * + * @return A zyan status code. + * + */ +ZYCORE_EXPORT ZyanStatus ZyanStringDestroy(ZyanString* string); + +/* ---------------------------------------------------------------------------------------------- */ +/* Duplication */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Initializes a new `ZyanString` instance by duplicating an existing string. + * + * @param destination A pointer to the (uninitialized) destination `ZyanString` instance. + * @param source A pointer to the source string. + * @param capacity The initial capacity (number of characters). + * + * This value is automatically adjusted to the size of the source string, if + * a smaller value was passed. + * + * @return A zyan status code. + * + * The behavior of this function is undefined, if `source` is a view into the `destination` + * string or `destination` points to an already initialized `ZyanString` instance. + * + * The memory for the string is dynamically allocated by the default allocator using the default + * growth factor of `2.0f` and the default shrink threshold of `0.25f`. + * + * The allocated buffer will be at least one character larger than the given `capacity`, to reserve + * space for the terminating '\0'. + * + * Finalization with `ZyanStringDestroy` is required for all strings created by this function. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanStringDuplicate(ZyanString* destination, + const ZyanStringView* source, ZyanUSize capacity); + +#endif // ZYAN_NO_LIBC + +/** + * Initializes a new `ZyanString` instance by duplicating an existing string and sets a + * custom `allocator` and memory allocation/deallocation parameters. + * + * @param destination A pointer to the (uninitialized) destination `ZyanString` instance. + * @param source A pointer to the source string. + * @param capacity The initial capacity (number of characters). + + * This value is automatically adjusted to the size of the source + * string, if a smaller value was passed. + * @param allocator A pointer to a `ZyanAllocator` instance. + * @param growth_factor The growth factor (from `1.0f` to `x.xf`). + * @param shrink_threshold The shrink threshold (from `0.0f` to `1.0f`). + * + * @return A zyan status code. + * + * The behavior of this function is undefined, if `source` is a view into the `destination` + * string or `destination` points to an already initialized `ZyanString` instance. + * + * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables + * dynamic shrinking. + * + * The allocated buffer will be at least one character larger than the given `capacity`, to reserve + * space for the terminating '\0'. + * + * Finalization with `ZyanStringDestroy` is required for all strings created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringDuplicateEx(ZyanString* destination, + const ZyanStringView* source, ZyanUSize capacity, ZyanAllocator* allocator, + float growth_factor, float shrink_threshold); + +/** + * Initializes a new `ZyanString` instance by duplicating an existing string and + * configures it to use a custom user defined buffer with a fixed size. + * + * @param destination A pointer to the (uninitialized) destination `ZyanString` instance. + * @param source A pointer to the source string. + * @param buffer A pointer to the buffer that is used as storage for the string. + * @param capacity The maximum capacity (number of characters) of the buffer, including the + * terminating '\0'. + + * This function will fail, if the capacity of the buffer is less or equal to + * the size of the source string. + * + * @return A zyan status code. + * + * The behavior of this function is undefined, if `source` is a view into the `destination` + * string or `destination` points to an already initialized `ZyanString` instance. + * + * Finalization is not required for strings created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringDuplicateCustomBuffer(ZyanString* destination, + const ZyanStringView* source, char* buffer, ZyanUSize capacity); + +/* ---------------------------------------------------------------------------------------------- */ +/* Concatenation */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Initializes a new `ZyanString` instance by concatenating two existing strings. + * + * @param destination A pointer to the (uninitialized) destination `ZyanString` instance. + * + * This function will fail, if the destination `ZyanString` instance equals + * one of the source strings. + * @param s1 A pointer to the first source string. + * @param s2 A pointer to the second source string. + * @param capacity The initial capacity (number of characters). + + * This value is automatically adjusted to the combined size of the source + * strings, if a smaller value was passed. + * + * @return A zyan status code. + * + * The behavior of this function is undefined, if `s1` or `s2` are views into the `destination` + * string or `destination` points to an already initialized `ZyanString` instance. + * + * The memory for the string is dynamically allocated by the default allocator using the default + * growth factor of `2.0f` and the default shrink threshold of `0.25f`. + * + * The allocated buffer will be at least one character larger than the given `capacity`, to reserve + * space for the terminating '\0'. + * + * Finalization with `ZyanStringDestroy` is required for all strings created by this function. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanStringConcat(ZyanString* destination, + const ZyanStringView* s1, const ZyanStringView* s2, ZyanUSize capacity); + +#endif // ZYAN_NO_LIBC + +/** + * Initializes a new `ZyanString` instance by concatenating two existing strings and sets + * a custom `allocator` and memory allocation/deallocation parameters. + * + * @param destination A pointer to the (uninitialized) destination `ZyanString` instance. + * + * This function will fail, if the destination `ZyanString` instance + * equals one of the source strings. + * @param s1 A pointer to the first source string. + * @param s2 A pointer to the second source string. + * @param capacity The initial capacity (number of characters). + * + * This value is automatically adjusted to the combined size of the + * source strings, if a smaller value was passed. + * @param allocator A pointer to a `ZyanAllocator` instance. + * @param growth_factor The growth factor (from `1.0f` to `x.xf`). + * @param shrink_threshold The shrink threshold (from `0.0f` to `1.0f`). + * + * @return A zyan status code. + * + * The behavior of this function is undefined, if `s1` or `s2` are views into the `destination` + * string or `destination` points to an already initialized `ZyanString` instance. + * + * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables + * dynamic shrinking. + * + * The allocated buffer will be at least one character larger than the given `capacity`, to reserve + * space for the terminating '\0'. + * + * Finalization with `ZyanStringDestroy` is required for all strings created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringConcatEx(ZyanString* destination, const ZyanStringView* s1, + const ZyanStringView* s2, ZyanUSize capacity, ZyanAllocator* allocator, float growth_factor, + float shrink_threshold); + +/** + * Initializes a new `ZyanString` instance by concatenating two existing strings and + * configures it to use a custom user defined buffer with a fixed size. + * + * @param destination A pointer to the (uninitialized) destination `ZyanString` instance. + * + * This function will fail, if the destination `ZyanString` instance equals + * one of the source strings. + * @param s1 A pointer to the first source string. + * @param s2 A pointer to the second source string. + * @param buffer A pointer to the buffer that is used as storage for the string. + * @param capacity The maximum capacity (number of characters) of the buffer. + * + * This function will fail, if the capacity of the buffer is less or equal to + * the combined size of the source strings. + * + * @return A zyan status code. + * + * The behavior of this function is undefined, if `s1` or `s2` are views into the `destination` + * string or `destination` points to an already initialized `ZyanString` instance. + * + * Finalization is not required for strings created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringConcatCustomBuffer(ZyanString* destination, + const ZyanStringView* s1, const ZyanStringView* s2, char* buffer, ZyanUSize capacity); + +/* ---------------------------------------------------------------------------------------------- */ +/* Views */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns a view inside an existing view/string. + * + * @param view A pointer to the `ZyanStringView` instance. + * @param source A pointer to the source string. + * + * @return A zyan status code. + * + * The `ZYAN_STRING_TO_VEW` macro can be used to pass any `ZyanString` instance as value for the + * `source` string. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringViewInsideView(ZyanStringView* view, + const ZyanStringView* source); + +/** + * Returns a view inside an existing view/string starting from the given `index`. + * + * @param view A pointer to the `ZyanStringView` instance. + * @param source A pointer to the source string. + * @param index The start index. + * @param count The number of characters. + * + * @return A zyan status code. + * + * The `ZYAN_STRING_TO_VEW` macro can be used to pass any `ZyanString` instance as value for the + * `source` string. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringViewInsideViewEx(ZyanStringView* view, + const ZyanStringView* source, ZyanUSize index, ZyanUSize count); + +/** + * Returns a view inside a null-terminated C-style string. + * + * @param view A pointer to the `ZyanStringView` instance. + * @param string The C-style string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringViewInsideBuffer(ZyanStringView* view, const char* string); + +/** + * Returns a view inside a character buffer with custom length. + * + * @param view A pointer to the `ZyanStringView` instance. + * @param buffer A pointer to the buffer containing the string characters. + * @param length The length of the string (number of characters). + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringViewInsideBufferEx(ZyanStringView* view, const char* buffer, + ZyanUSize length); + +/** + * Returns the size (number of characters) of the view. + * + * @param view A pointer to the `ZyanStringView` instance. + * @param size Receives the size (number of characters) of the view. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringViewGetSize(const ZyanStringView* view, ZyanUSize* size); + +/** + * Returns the C-style string of the given `ZyanString` instance. + * + * @warning The string is not guaranteed to be null terminated! + * + * @param string A pointer to the `ZyanStringView` instance. + * @param value Receives a pointer to the C-style string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringViewGetData(const ZyanStringView* view, const char** buffer); + +/* ---------------------------------------------------------------------------------------------- */ +/* Character access */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the character at the given `index`. + * + * @param string A pointer to the `ZyanStringView` instance. + * @param index The character index. + * @param value Receives the desired character of the string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringGetChar(const ZyanStringView* string, ZyanUSize index, + char* value); + +/** + * Returns a pointer to the character at the given `index`. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The character index. + * @param value Receives a pointer to the desired character in the string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringGetCharMutable(ZyanString* string, ZyanUSize index, + char** value); + +/** + * Assigns a new value to the character at the given `index`. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The character index. + * @param value The character to assign. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringSetChar(ZyanString* string, ZyanUSize index, char value); + +/* ---------------------------------------------------------------------------------------------- */ +/* Insertion */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Inserts the content of the source string in the destination string at the given `index`. + * + * @param destination The destination string. + * @param index The insert index. + * @param source The source string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringInsert(ZyanString* destination, ZyanUSize index, + const ZyanStringView* source); + +/** + * Inserts `count` characters of the source string in the destination string at the given + * `index`. + * + * @param destination The destination string. + * @param destination_index The insert index. + * @param source The source string. + * @param source_index The index of the first character to be inserted from the source + * string. + * @param count The number of chars to insert from the source string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringInsertEx(ZyanString* destination, ZyanUSize destination_index, + const ZyanStringView* source, ZyanUSize source_index, ZyanUSize count); + +/* ---------------------------------------------------------------------------------------------- */ +/* Appending */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Appends the content of the source string to the end of the destination string. + * + * @param destination The destination string. + * @param source The source string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringAppend(ZyanString* destination, const ZyanStringView* source); + +/** + * Appends `count` characters of the source string to the end of the destination string. + * + * @param destination The destination string. + * @param source The source string. + * @param source_index The index of the first character to be appended from the source string. + * @param count The number of chars to append from the source string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringAppendEx(ZyanString* destination, const ZyanStringView* source, + ZyanUSize source_index, ZyanUSize count); + +/* ---------------------------------------------------------------------------------------------- */ +/* Deletion */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Deletes characters from the given string, starting at `index`. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The index of the first character to delete. + * @param count The number of characters to delete. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringDelete(ZyanString* string, ZyanUSize index, ZyanUSize count); + +/** + * Deletes all remaining characters from the given string, starting at `index`. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The index of the first character to delete. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringTruncate(ZyanString* string, ZyanUSize index); + +/** + * Erases the given string. + * + * @param string A pointer to the `ZyanString` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringClear(ZyanString* string); + +/* ---------------------------------------------------------------------------------------------- */ +/* Searching */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Searches for the first occurrence of `needle` in the given `haystack` starting from the + * left. + * + * @param haystack The string to search in. + * @param needle The sub-string to search for. + * @param found_index A pointer to a variable that receives the index of the first occurrence of + * `needle`. + * + * @return `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + * + * The `found_index` is set to `-1`, if the needle was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringLPos(const ZyanStringView* haystack, + const ZyanStringView* needle, ZyanISize* found_index); + +/** + * Searches for the first occurrence of `needle` in the given `haystack` starting from the + * left. + * + * @param haystack The string to search in. + * @param needle The sub-string to search for. + * @param found_index A pointer to a variable that receives the index of the first occurrence of + * `needle`. + * @param index The start index. + * @param count The maximum number of characters to iterate, beginning from the start + * `index`. + * + * @return `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + * + * The `found_index` is set to `-1`, if the needle was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringLPosEx(const ZyanStringView* haystack, + const ZyanStringView* needle, ZyanISize* found_index, ZyanUSize index, ZyanUSize count); + +/** + * Performs a case-insensitive search for the first occurrence of `needle` in the given + * `haystack` starting from the left. + * + * @param haystack The string to search in. + * @param needle The sub-string to search for. + * @param found_index A pointer to a variable that receives the index of the first occurrence of + * `needle`. + * + * @return `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + * + * The `found_index` is set to `-1`, if the needle was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringLPosI(const ZyanStringView* haystack, + const ZyanStringView* needle, ZyanISize* found_index); + +/** + * Performs a case-insensitive search for the first occurrence of `needle` in the given + * `haystack` starting from the left. + * + * @param haystack The string to search in. + * @param needle The sub-string to search for. + * @param found_index A pointer to a variable that receives the index of the first occurrence of + * `needle`. + * @param index The start index. + * @param count The maximum number of characters to iterate, beginning from the start + * `index`. + * + * @return `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + * + * The `found_index` is set to `-1`, if the needle was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringLPosIEx(const ZyanStringView* haystack, + const ZyanStringView* needle, ZyanISize* found_index, ZyanUSize index, ZyanUSize count); + +/** + * Searches for the first occurrence of `needle` in the given `haystack` starting from the + * right. + * + * @param haystack The string to search in. + * @param needle The sub-string to search for. + * @param found_index A pointer to a variable that receives the index of the first occurrence of + * `needle`. + * + * @return `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + * + * The `found_index` is set to `-1`, if the needle was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringRPos(const ZyanStringView* haystack, + const ZyanStringView* needle, ZyanISize* found_index); + +/** + * Searches for the first occurrence of `needle` in the given `haystack` starting from the + * right. + * + * @param haystack The string to search in. + * @param needle The sub-string to search for. + * @param found_index A pointer to a variable that receives the index of the first occurrence of + * `needle`. + * @param index The start index. + * @param count The maximum number of characters to iterate, beginning from the start + * `index`. + * + * @return `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + * + * The `found_index` is set to `-1`, if the needle was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringRPosEx(const ZyanStringView* haystack, + const ZyanStringView* needle, ZyanISize* found_index, ZyanUSize index, ZyanUSize count); + +/** + * Performs a case-insensitive search for the first occurrence of `needle` in the given + * `haystack` starting from the right. + * + * @param haystack The string to search in. + * @param needle The sub-string to search for. + * @param found_index A pointer to a variable that receives the index of the first occurrence of + * `needle`. + * + * @return `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + * + * The `found_index` is set to `-1`, if the needle was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringRPosI(const ZyanStringView* haystack, + const ZyanStringView* needle, ZyanISize* found_index); + +/** + * Performs a case-insensitive search for the first occurrence of `needle` in the given + * `haystack` starting from the right. + * + * @param haystack The string to search in. + * @param needle The sub-string to search for. + * @param found_index A pointer to a variable that receives the index of the first occurrence of + * `needle`. + * @param index The start index. + * @param count The maximum number of characters to iterate, beginning from the start + * `index`. + * + * @return `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + * + * The `found_index` is set to `-1`, if the needle was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringRPosIEx(const ZyanStringView* haystack, + const ZyanStringView* needle, ZyanISize* found_index, ZyanUSize index, ZyanUSize count); + +/* ---------------------------------------------------------------------------------------------- */ +/* Comparing */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Compares two strings. + * + * @param s1 The first string + * @param s2 The second string. + * @param result Receives the comparison result. + * + * Values: + * - `result < 0` -> The first character that does not match has a lower value + * in `s1` than in `s2`. + * - `result == 0` -> The contents of both strings are equal. + * - `result > 0` -> The first character that does not match has a greater value + * in `s1` than in `s2`. + * + * @return `ZYAN_STATUS_TRUE`, if the strings are equal, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringCompare(const ZyanStringView* s1, const ZyanStringView* s2, + ZyanI32* result); + +/** + * Performs a case-insensitive comparison of two strings. + * + * @param s1 The first string + * @param s2 The second string. + * @param result Receives the comparison result. + * + * Values: + * - `result < 0` -> The first character that does not match has a lower value + * in `s1` than in `s2`. + * - `result == 0` -> The contents of both strings are equal. + * - `result > 0` -> The first character that does not match has a greater value + * in `s1` than in `s2`. + * + * @return `ZYAN_STATUS_TRUE`, if the strings are equal, `ZYAN_STATUS_FALSE`, if not, or another + * zyan status code, if an error occured. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringCompareI(const ZyanStringView* s1, const ZyanStringView* s2, + ZyanI32* result); + +/* ---------------------------------------------------------------------------------------------- */ +/* Case conversion */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Converts the given string to lowercase letters. + * + * @param string A pointer to the `ZyanString` instance. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringToLowerCase(ZyanString* string); + +/** + * Converts `count` characters of the given string to lowercase letters. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The start index. + * @param count The number of characters to convert, beginning from the start `index`. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringToLowerCaseEx(ZyanString* string, ZyanUSize index, + ZyanUSize count); + +/** + * Converts the given string to uppercase letters. + * + * @param string A pointer to the `ZyanString` instance. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringToUpperCase(ZyanString* string); + +/** + * Converts `count` characters of the given string to uppercase letters. + * + * @param string A pointer to the `ZyanString` instance. + * @param index The start index. + * @param count The number of characters to convert, beginning from the start `index`. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringToUpperCaseEx(ZyanString* string, ZyanUSize index, + ZyanUSize count); + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Resizes the given `ZyanString` instance. + * + * @param string A pointer to the `ZyanString` instance. + * @param size The new size of the string. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringResize(ZyanString* string, ZyanUSize size); + +/** + * Changes the capacity of the given `ZyanString` instance. + * + * @param string A pointer to the `ZyanString` instance. + * @param capacity The new minimum capacity of the string. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringReserve(ZyanString* string, ZyanUSize capacity); + +/** + * Shrinks the capacity of the given string to match it's size. + * + * @param string A pointer to the `ZyanString` instance. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringShrinkToFit(ZyanString* string); + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the current capacity of the string. + * + * @param string A pointer to the `ZyanString` instance. + * @param capacity Receives the size of the string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringGetCapacity(const ZyanString* string, ZyanUSize* capacity); + +/** + * Returns the current size (number of characters) of the string (excluding the + * terminating zero character). + * + * @param string A pointer to the `ZyanString` instance. + * @param size Receives the size (number of characters) of the string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringGetSize(const ZyanString* string, ZyanUSize* size); + +/** + * Returns the C-style string of the given `ZyanString` instance. + * + * @param string A pointer to the `ZyanString` instance. + * @param value Receives a pointer to the C-style string. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanStringGetData(const ZyanString* string, const char** value); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif // ZYCORE_STRING_H diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Types.h b/externals/dynarmic/externals/zycore/include/Zycore/Types.h new file mode 100755 index 000000000..74fe9056c --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Types.h @@ -0,0 +1,195 @@ +/*************************************************************************************************** + + Zyan Core Library (Zyan-C) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Includes and defines some default data types. + */ + +#ifndef ZYCORE_TYPES_H +#define ZYCORE_TYPES_H + +#include + +/* ============================================================================================== */ +/* Integer types */ +/* ============================================================================================== */ + +#if defined(ZYAN_NO_LIBC) || \ + (defined(ZYAN_MSVC) && defined(ZYAN_KERNEL)) // The WDK LibC lacks stdint.h. + // No LibC mode, use compiler built-in types / macros. +# if defined(ZYAN_MSVC) || defined(ZYAN_ICC) + typedef unsigned __int8 ZyanU8; + typedef unsigned __int16 ZyanU16; + typedef unsigned __int32 ZyanU32; + typedef unsigned __int64 ZyanU64; + typedef signed __int8 ZyanI8; + typedef signed __int16 ZyanI16; + typedef signed __int32 ZyanI32; + typedef signed __int64 ZyanI64; +# if _WIN64 + typedef ZyanU64 ZyanUSize; + typedef ZyanI64 ZyanISize; + typedef ZyanU64 ZyanUPointer; + typedef ZyanI64 ZyanIPointer; +# else + typedef ZyanU32 ZyanUSize; + typedef ZyanI32 ZyanISize; + typedef ZyanU32 ZyanUPointer; + typedef ZyanI32 ZyanIPointer; +# endif +# elif defined(ZYAN_GNUC) + typedef __UINT8_TYPE__ ZyanU8; + typedef __UINT16_TYPE__ ZyanU16; + typedef __UINT32_TYPE__ ZyanU32; + typedef __UINT64_TYPE__ ZyanU64; + typedef __INT8_TYPE__ ZyanI8; + typedef __INT16_TYPE__ ZyanI16; + typedef __INT32_TYPE__ ZyanI32; + typedef __INT64_TYPE__ ZyanI64; + typedef __SIZE_TYPE__ ZyanUSize; + typedef __PTRDIFF_TYPE__ ZyanISize; + typedef __UINTPTR_TYPE__ ZyanUPointer; + typedef __INTPTR_TYPE__ ZyanIPointer; +# else +# error "Unsupported compiler for no-libc mode." +# endif +#else + // If is LibC present, we use stdint types. +# include +# include + typedef uint8_t ZyanU8; + typedef uint16_t ZyanU16; + typedef uint32_t ZyanU32; + typedef uint64_t ZyanU64; + typedef int8_t ZyanI8; + typedef int16_t ZyanI16; + typedef int32_t ZyanI32; + typedef int64_t ZyanI64; + typedef size_t ZyanUSize; + typedef ptrdiff_t ZyanISize; + typedef uintptr_t ZyanUPointer; + typedef intptr_t ZyanIPointer; +#endif + +// Verify size assumptions. +ZYAN_STATIC_ASSERT(sizeof(ZyanU8 ) == 1 ); +ZYAN_STATIC_ASSERT(sizeof(ZyanU16 ) == 2 ); +ZYAN_STATIC_ASSERT(sizeof(ZyanU32 ) == 4 ); +ZYAN_STATIC_ASSERT(sizeof(ZyanU64 ) == 8 ); +ZYAN_STATIC_ASSERT(sizeof(ZyanI8 ) == 1 ); +ZYAN_STATIC_ASSERT(sizeof(ZyanI16 ) == 2 ); +ZYAN_STATIC_ASSERT(sizeof(ZyanI32 ) == 4 ); +ZYAN_STATIC_ASSERT(sizeof(ZyanI64 ) == 8 ); +ZYAN_STATIC_ASSERT(sizeof(ZyanUSize ) == sizeof(void*)); // TODO: This one is incorrect! +ZYAN_STATIC_ASSERT(sizeof(ZyanISize ) == sizeof(void*)); // TODO: This one is incorrect! +ZYAN_STATIC_ASSERT(sizeof(ZyanUPointer) == sizeof(void*)); +ZYAN_STATIC_ASSERT(sizeof(ZyanIPointer) == sizeof(void*)); + +// Verify signedness assumptions (relies on size checks above). +ZYAN_STATIC_ASSERT((ZyanI8 )-1 >> 1 < (ZyanI8 )((ZyanU8 )-1 >> 1)); +ZYAN_STATIC_ASSERT((ZyanI16)-1 >> 1 < (ZyanI16)((ZyanU16)-1 >> 1)); +ZYAN_STATIC_ASSERT((ZyanI32)-1 >> 1 < (ZyanI32)((ZyanU32)-1 >> 1)); +ZYAN_STATIC_ASSERT((ZyanI64)-1 >> 1 < (ZyanI64)((ZyanU64)-1 >> 1)); + +/* ============================================================================================== */ +/* Pointer */ +/* ============================================================================================== */ + +/** + * Defines the `ZyanVoidPointer` data-type. + */ +typedef char* ZyanVoidPointer; + +/** + * Defines the `ZyanConstVoidPointer` data-type. + */ +typedef const void* ZyanConstVoidPointer; + +#define ZYAN_NULL ((void*)0) + +/* ============================================================================================== */ +/* Logic types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Boolean */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYAN_FALSE 0 +#define ZYAN_TRUE 1 + +/** + * Defines the `ZyanBool` data-type. + * + * Represents a default boolean data-type where `0` is interpreted as `false` and all other values + * as `true`. + */ +typedef ZyanU8 ZyanBool; + +/* ---------------------------------------------------------------------------------------------- */ +/* Ternary */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanTernary` data-type. + * + * The `ZyanTernary` is a balanced ternary type that uses three truth values indicating `true`, + * `false` and an indeterminate third value. + */ +typedef ZyanI8 ZyanTernary; + +#define ZYAN_TERNARY_FALSE (-1) +#define ZYAN_TERNARY_UNKNOWN 0x00 +#define ZYAN_TERNARY_TRUE 0x01 + +/* ============================================================================================== */ +/* String types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* C-style strings */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZyanCharPointer` data-type. + * + * This type is most often used to represent null-terminated strings aka. C-style strings. + */ +typedef char* ZyanCharPointer; + +/** + * Defines the `ZyanConstCharPointer` data-type. + * + * This type is most often used to represent null-terminated strings aka. C-style strings. + */ +typedef const char* ZyanConstCharPointer; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#endif /* ZYCORE_TYPES_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Vector.h b/externals/dynarmic/externals/zycore/include/Zycore/Vector.h new file mode 100755 index 000000000..47e728cc1 --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Vector.h @@ -0,0 +1,723 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Implements the vector container class. + */ + +#ifndef ZYCORE_VECTOR_H +#define ZYCORE_VECTOR_H + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +/** + * The initial minimum capacity (number of elements) for all dynamically allocated vector + * instances. + */ +#define ZYAN_VECTOR_MIN_CAPACITY 1 + +/** + * The default growth factor for all vector instances. + */ +#define ZYAN_VECTOR_DEFAULT_GROWTH_FACTOR 2.00f + +/** + * The default shrink threshold for all vector instances. + */ +#define ZYAN_VECTOR_DEFAULT_SHRINK_THRESHOLD 0.25f + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZyanVector` struct. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZyanVector_ +{ + /** + * The memory allocator. + */ + ZyanAllocator* allocator; + /** + * The growth factor. + */ + float growth_factor; + /** + * The shrink threshold. + */ + float shrink_threshold; + /** + * The current number of elements in the vector. + */ + ZyanUSize size; + /** + * The maximum capacity (number of elements). + */ + ZyanUSize capacity; + /** + * The size of a single element in bytes. + */ + ZyanUSize element_size; + /** + * The element destructor callback. + */ + ZyanMemberProcedure destructor; + /** + * The data pointer. + */ + void* data; +} ZyanVector; + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines an uninitialized `ZyanVector` instance. + */ +#define ZYAN_VECTOR_INITIALIZER \ + { \ + /* allocator */ ZYAN_NULL, \ + /* growth_factor */ 0.0f, \ + /* shrink_threshold */ 0.0f, \ + /* size */ 0, \ + /* capacity */ 0, \ + /* element_size */ 0, \ + /* destructor */ ZYAN_NULL, \ + /* data */ ZYAN_NULL \ + } + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper macros */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the value of the element at the given `index`. + * + * @param type The desired value type. + * @param vector A pointer to the `ZyanVector` instance. + * @param index The element index. + * + * @result The value of the desired element in the vector. + * + * Note that this function is unsafe and might dereference a null-pointer. + */ +#ifdef __cplusplus +#define ZYAN_VECTOR_GET(type, vector, index) \ + (*reinterpret_cast(ZyanVectorGet(vector, index))) +#else +#define ZYAN_VECTOR_GET(type, vector, index) \ + (*(const type*)ZyanVectorGet(vector, index)) +#endif + +/** + * Loops through all elements of the vector. + * + * @param type The desired value type. + * @param vector A pointer to the `ZyanVector` instance. + * @param item_name The name of the iterator item. + * @param body The body to execute for each item in the vector. + */ +#define ZYAN_VECTOR_FOREACH(type, vector, item_name, body) \ + { \ + const ZyanUSize ZYAN_MACRO_CONCAT_EXPAND(size_d50d3303, item_name) = (vector)->size; \ + for (ZyanUSize ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name) = 0; \ + ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name) < \ + ZYAN_MACRO_CONCAT_EXPAND(size_d50d3303, item_name); \ + ++ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name)) \ + { \ + const type item_name = ZYAN_VECTOR_GET(type, vector, \ + ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name)); \ + body \ + } \ + } + +/** + * Loops through all elements of the vector. + * + * @param type The desired value type. + * @param vector A pointer to the `ZyanVector` instance. + * @param item_name The name of the iterator item. + * @param body The body to execute for each item in the vector. + */ +#define ZYAN_VECTOR_FOREACH_MUTABLE(type, vector, item_name, body) \ + { \ + const ZyanUSize ZYAN_MACRO_CONCAT_EXPAND(size_d50d3303, item_name) = (vector)->size; \ + for (ZyanUSize ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name) = 0; \ + ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name) < \ + ZYAN_MACRO_CONCAT_EXPAND(size_d50d3303, item_name); \ + ++ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name)) \ + { \ + type* const item_name = ZyanVectorGetMutable(vector, \ + ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name)); \ + body \ + } \ + } + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constructor and destructor */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Initializes the given `ZyanVector` instance. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element_size The size of a single element in bytes. + * @param capacity The initial capacity (number of elements). + * @param destructor A destructor callback that is invoked every time an item is deleted, or + * `ZYAN_NULL` if not needed. + * + * @return A zyan status code. + * + * The memory for the vector elements is dynamically allocated by the default allocator using the + * default growth factor of `2.0f` and the default shrink threshold of `0.25f`. + * + * Finalization with `ZyanVectorDestroy` is required for all instances created by this function. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanVectorInit(ZyanVector* vector, + ZyanUSize element_size, ZyanUSize capacity, ZyanMemberProcedure destructor); + +#endif // ZYAN_NO_LIBC + +/** + * Initializes the given `ZyanVector` instance and sets a custom `allocator` and memory + * allocation/deallocation parameters. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element_size The size of a single element in bytes. + * @param capacity The initial capacity (number of elements). + * @param destructor A destructor callback that is invoked every time an item is deleted, + * or `ZYAN_NULL` if not needed. + * @param allocator A pointer to a `ZyanAllocator` instance. + * @param growth_factor The growth factor (from `1.0f` to `x.xf`). + * @param shrink_threshold The shrink threshold (from `0.0f` to `1.0f`). + * + * @return A zyan status code. + * + * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables + * dynamic shrinking. + * + * Finalization with `ZyanVectorDestroy` is required for all instances created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorInitEx(ZyanVector* vector, ZyanUSize element_size, + ZyanUSize capacity, ZyanMemberProcedure destructor, ZyanAllocator* allocator, + float growth_factor, float shrink_threshold); + +/** + * Initializes the given `ZyanVector` instance and configures it to use a custom user + * defined buffer with a fixed size. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element_size The size of a single element in bytes. + * @param buffer A pointer to the buffer that is used as storage for the elements. + * @param capacity The maximum capacity (number of elements) of the buffer. + * @param destructor A destructor callback that is invoked every time an item is deleted, or + * `ZYAN_NULL` if not needed. + * + * @return A zyan status code. + * + * Finalization is not required for instances created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorInitCustomBuffer(ZyanVector* vector, ZyanUSize element_size, + void* buffer, ZyanUSize capacity, ZyanMemberProcedure destructor); + +/** + * Destroys the given `ZyanVector` instance. + * + * @param vector A pointer to the `ZyanVector` instance.. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorDestroy(ZyanVector* vector); + +/* ---------------------------------------------------------------------------------------------- */ +/* Duplication */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +/** + * Initializes a new `ZyanVector` instance by duplicating an existing vector. + * + * @param destination A pointer to the (uninitialized) destination `ZyanVector` instance. + * @param source A pointer to the source vector. + * @param capacity The initial capacity (number of elements). + * + * This value is automatically adjusted to the size of the source vector, if + * a smaller value was passed. + * + * @return A zyan status code. + * + * The memory for the vector is dynamically allocated by the default allocator using the default + * growth factor of `2.0f` and the default shrink threshold of `0.25f`. + * + * Finalization with `ZyanVectorDestroy` is required for all instances created by this function. + */ +ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanVectorDuplicate(ZyanVector* destination, + const ZyanVector* source, ZyanUSize capacity); + +#endif // ZYAN_NO_LIBC + +/** + * Initializes a new `ZyanVector` instance by duplicating an existing vector and sets a + * custom `allocator` and memory allocation/deallocation parameters. + * + * @param destination A pointer to the (uninitialized) destination `ZyanVector` instance. + * @param source A pointer to the source vector. + * @param capacity The initial capacity (number of elements). + + * This value is automatically adjusted to the size of the source + * vector, if a smaller value was passed. + * @param allocator A pointer to a `ZyanAllocator` instance. + * @param growth_factor The growth factor (from `1.0f` to `x.xf`). + * @param shrink_threshold The shrink threshold (from `0.0f` to `1.0f`). + * + * @return A zyan status code. + * + * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables + * dynamic shrinking. + * + * Finalization with `ZyanVectorDestroy` is required for all instances created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorDuplicateEx(ZyanVector* destination, const ZyanVector* source, + ZyanUSize capacity, ZyanAllocator* allocator, float growth_factor, float shrink_threshold); + +/** + * Initializes a new `ZyanVector` instance by duplicating an existing vector and + * configures it to use a custom user defined buffer with a fixed size. + * + * @param destination A pointer to the (uninitialized) destination `ZyanVector` instance. + * @param source A pointer to the source vector. + * @param buffer A pointer to the buffer that is used as storage for the elements. + * @param capacity The maximum capacity (number of elements) of the buffer. + + * This function will fail, if the capacity of the buffer is less than the + * size of the source vector. + * + * @return A zyan status code. + * + * Finalization is not required for instances created by this function. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorDuplicateCustomBuffer(ZyanVector* destination, + const ZyanVector* source, void* buffer, ZyanUSize capacity); + +/* ---------------------------------------------------------------------------------------------- */ +/* Element access */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns a constant pointer to the element at the given `index`. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The element index. + * + * @return A constant pointer to the desired element in the vector or `ZYAN_NULL`, if an error + * occured. + * + * Note that the returned pointer might get invalid when the vector is resized by either a manual + * call to the memory-management functions or implicitly by inserting or removing elements. + * + * Take a look at `ZyanVectorGetPointer` instead, if you need a function that returns a zyan status + * code. + */ +ZYCORE_EXPORT const void* ZyanVectorGet(const ZyanVector* vector, ZyanUSize index); + +/** + * Returns a mutable pointer to the element at the given `index`. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The element index. + * + * @return A mutable pointer to the desired element in the vector or `ZYAN_NULL`, if an error + * occured. + * + * Note that the returned pointer might get invalid when the vector is resized by either a manual + * call to the memory-management functions or implicitly by inserting or removing elements. + * + * Take a look at `ZyanVectorGetPointerMutable` instead, if you need a function that returns a + * zyan status code. + */ +ZYCORE_EXPORT void* ZyanVectorGetMutable(const ZyanVector* vector, ZyanUSize index); + +/** + * Returns a constant pointer to the element at the given `index`. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The element index. + * @param value Receives a constant pointer to the desired element in the vector. + * + * Note that the returned pointer might get invalid when the vector is resized by either a manual + * call to the memory-management functions or implicitly by inserting or removing elements. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorGetPointer(const ZyanVector* vector, ZyanUSize index, + const void** value); + +/** + * Returns a mutable pointer to the element at the given `index`. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The element index. + * @param value Receives a mutable pointer to the desired element in the vector. + * + * Note that the returned pointer might get invalid when the vector is resized by either a manual + * call to the memory-management functions or implicitly by inserting or removing elements. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorGetPointerMutable(const ZyanVector* vector, ZyanUSize index, + void** value); + +/** + * Assigns a new value to the element at the given `index`. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The value index. + * @param value The value to assign. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorSet(ZyanVector* vector, ZyanUSize index, + const void* value); + +/* ---------------------------------------------------------------------------------------------- */ +/* Insertion */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Adds a new `element` to the end of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element A pointer to the element to add. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorPushBack(ZyanVector* vector, const void* element); + +/** + * Inserts an `element` at the given `index` of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The insert index. + * @param element A pointer to the element to insert. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorInsert(ZyanVector* vector, ZyanUSize index, + const void* element); + +/** + * Inserts multiple `elements` at the given `index` of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The insert index. + * @param elements A pointer to the first element. + * @param count The number of elements to insert. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorInsertRange(ZyanVector* vector, ZyanUSize index, + const void* elements, ZyanUSize count); + +/** + * Constructs an `element` in-place at the end of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element Receives a pointer to the new element. + * @param constructor The constructor callback or `ZYAN_NULL`. The new element will be in + * undefined state, if no constructor was passed. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorEmplace(ZyanVector* vector, void** element, + ZyanMemberFunction constructor); + +/** + * Constructs an `element` in-place and inserts it at the given `index` of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The insert index. + * @param element Receives a pointer to the new element. + * @param constructor The constructor callback or `ZYAN_NULL`. The new element will be in + * undefined state, if no constructor was passed. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorEmplaceEx(ZyanVector* vector, ZyanUSize index, + void** element, ZyanMemberFunction constructor); + +/* ---------------------------------------------------------------------------------------------- */ +/* Utils */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Swaps the element at `index_first` with the element at `index_second`. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index_first The index of the first element. + * @param index_second The index of the second element. + * + * @return A zyan status code. + * + * This function requires the vector to have spare capacity for one temporary element. Call + * `ZyanVectorReserve` before this function to increase capacity, if needed. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorSwapElements(ZyanVector* vector, ZyanUSize index_first, + ZyanUSize index_second); + +/* ---------------------------------------------------------------------------------------------- */ +/* Deletion */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Deletes the element at the given `index` of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The element index. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorDelete(ZyanVector* vector, ZyanUSize index); + +/** + * Deletes multiple elements from the given vector, starting at `index`. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The index of the first element to delete. + * @param count The number of elements to delete. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorDeleteRange(ZyanVector* vector, ZyanUSize index, + ZyanUSize count); + +/** + * Removes the last element of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorPopBack(ZyanVector* vector); + +/** + * Erases all elements of the given vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorClear(ZyanVector* vector); + +/* ---------------------------------------------------------------------------------------------- */ +/* Searching */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Sequentially searches for the first occurrence of `element` in the given vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element A pointer to the element to search for. + * @param found_index A pointer to a variable that receives the index of the found element. + * @param comparison The comparison function to use. + * + * @return `ZYAN_STATUS_TRUE` if the element was found, `ZYAN_STATUS_FALSE` if not or a generic + * zyan status code if an error occured. + * + * The `found_index` is set to `-1`, if the element was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorFind(const ZyanVector* vector, const void* element, + ZyanISize* found_index, ZyanEqualityComparison comparison); + +/** + * Sequentially searches for the first occurrence of `element` in the given vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element A pointer to the element to search for. + * @param found_index A pointer to a variable that receives the index of the found element. + * @param comparison The comparison function to use. + * @param index The start index. + * @param count The maximum number of elements to iterate, beginning from the start `index`. + * + * @return `ZYAN_STATUS_TRUE` if the element was found, `ZYAN_STATUS_FALSE` if not or a generic + * zyan status code if an error occured. + * + * The `found_index` is set to `-1`, if the element was not found. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorFindEx(const ZyanVector* vector, const void* element, + ZyanISize* found_index, ZyanEqualityComparison comparison, ZyanUSize index, ZyanUSize count); + +/** + * Searches for the first occurrence of `element` in the given vector using a binary- + * search algorithm. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element A pointer to the element to search for. + * @param found_index A pointer to a variable that receives the index of the found element. + * @param comparison The comparison function to use. + * + * @return `ZYAN_STATUS_TRUE` if the element was found, `ZYAN_STATUS_FALSE` if not or a generic + * zyan status code if an error occured. + * + * If found, `found_index` contains the zero-based index of `element`. If not found, `found_index` + * contains the index of the first entry larger than `element`. + * + * This function requires all elements in the vector to be strictly ordered (sorted). + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorBinarySearch(const ZyanVector* vector, const void* element, + ZyanUSize* found_index, ZyanComparison comparison); + +/** + * Searches for the first occurrence of `element` in the given vector using a binary- + * search algorithm. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param element A pointer to the element to search for. + * @param found_index A pointer to a variable that receives the index of the found element. + * @param comparison The comparison function to use. + * @param index The start index. + * @param count The maximum number of elements to iterate, beginning from the start `index`. + * + * @return `ZYAN_STATUS_TRUE` if the element was found, `ZYAN_STATUS_FALSE` if not or a generic + * zyan status code if an error occured. + * + * If found, `found_index` contains the zero-based index of `element`. If not found, `found_index` + * contains the index of the first entry larger than `element`. + * + * This function requires all elements in the vector to be strictly ordered (sorted). + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorBinarySearchEx(const ZyanVector* vector, const void* element, + ZyanUSize* found_index, ZyanComparison comparison, ZyanUSize index, ZyanUSize count); + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Resizes the given `ZyanVector` instance. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param size The new size of the vector. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorResize(ZyanVector* vector, ZyanUSize size); + +/** + * Resizes the given `ZyanVector` instance. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param size The new size of the vector. + * @param initializer A pointer to a value to be used as initializer for new items. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorResizeEx(ZyanVector* vector, ZyanUSize size, + const void* initializer); + +/** + * Changes the capacity of the given `ZyanVector` instance. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param capacity The new minimum capacity of the vector. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorReserve(ZyanVector* vector, ZyanUSize capacity); + +/** + * Shrinks the capacity of the given vector to match it's size. + * + * @param vector A pointer to the `ZyanVector` instance. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorShrinkToFit(ZyanVector* vector); + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the current capacity of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param capacity Receives the size of the vector. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorGetCapacity(const ZyanVector* vector, ZyanUSize* capacity); + +/** + * Returns the current size of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param size Receives the size of the vector. + * + * @return A zyan status code. + */ +ZYCORE_EXPORT ZyanStatus ZyanVectorGetSize(const ZyanVector* vector, ZyanUSize* size); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_VECTOR_H */ diff --git a/externals/dynarmic/externals/zycore/include/Zycore/Zycore.h b/externals/dynarmic/externals/zycore/include/Zycore/Zycore.h new file mode 100755 index 000000000..e136acf5d --- /dev/null +++ b/externals/dynarmic/externals/zycore/include/Zycore/Zycore.h @@ -0,0 +1,111 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Master include file, including everything else. + */ + +#ifndef ZYCORE_H +#define ZYCORE_H + +#include +#include + +// TODO: + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constants */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * A macro that defines the zycore version. + */ +#define ZYCORE_VERSION (ZyanU64)0x0001000000000000 + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper macros */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Extracts the major-part of the zycore version. + * + * @param version The zycore version value + */ +#define ZYCORE_VERSION_MAJOR(version) (ZyanU16)((version & 0xFFFF000000000000) >> 48) + +/** + * Extracts the minor-part of the zycore version. + * + * @param version The zycore version value + */ +#define ZYCORE_VERSION_MINOR(version) (ZyanU16)((version & 0x0000FFFF00000000) >> 32) + +/** + * Extracts the patch-part of the zycore version. + * + * @param version The zycore version value + */ +#define ZYCORE_VERSION_PATCH(version) (ZyanU16)((version & 0x00000000FFFF0000) >> 16) + +/** + * Extracts the build-part of the zycore version. + * + * @param version The zycore version value + */ +#define ZYCORE_VERSION_BUILD(version) (ZyanU16)(version & 0x000000000000FFFF) + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * Returns the zycore version. + * + * @return The zycore version. + * + * Use the macros provided in this file to extract the major, minor, patch and build part from the + * returned version value. + */ +ZYCORE_EXPORT ZyanU64 ZycoreGetVersion(void); + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYCORE_H */ diff --git a/externals/dynarmic/externals/zycore/resources/VersionInfo.rc b/externals/dynarmic/externals/zycore/resources/VersionInfo.rc new file mode 100755 index 0000000000000000000000000000000000000000..ab8c480203634cfbb01d0aa62a4510574aee3202 GIT binary patch literal 4500 zcmds)+iu%N5Qg`b_B5vhDxP zaJ3YrAh6M^K%mIoIsNm`>~i_Y)w$`vG*8jnKpI!!Lf5Uducf;i7U3aWhTJ^8(@b0QjIPSK zdluz3oL4-(lHRe+-&mAF|GA+AVTf?Q9_1RVw`Wyt;E9^OzE6r1fRBvig z=MsFe-ky{9mGiOMWq5O)FG8Lx&%{#QFU(i@nk$!k<=|P<@zEFkL>9Sm;W_^y?9?&p z#7>w?i(GT-0Pk|LrC+I^*S!eumX%69H7>j9MC|9`vm&I`k!qaDS8kr*yvj{nFNq&k zN9_DnD=JGzU(3U(`Kk7yXYW1kS_x&nc3xpRhW_^bg4KxUJ0ZQVWc{sLZ*64dC>+Sw zC=9g6jl&1+eM6h+Xpa4CD9JQ*w9_8wVm0rY1bM@1_CeBdIFjB(_pJ0WlwM!skD9?Z zyK3J?@1@_DFM97F{AMu@=JXk#tAhUE_uy_ zXCMS0EzY5=VGEtE*d%i@+0&DANcLSDrR=_YSH?r#oRBE$YH3b`FdWEQ`ck>|&3F z*NDjDQu8XN*!{5vo7R$hi5)mGJnKj~%^V0LEYaC;>9u#ugt5L_ePtv6KF)gEw$jMw zC+)E54bG0-DEEF&QiayXrDo9Nnu@bewnFG-@0w4>Asw96Byh_-maJe_y05QforN8B zPIGy=uJ4NbT4QtqEAm?w(R)jKX_GZiYX@FFGxB4G9^~^*)>FKT|gJ1UuYe z4QKM?9(I=YoCi1+tmakMZ&vjE{W-5$uv5A3x5DT@$C%h+Upy8<*Lzd?O!ASC?}?+T zR*cL}b7<9Zq@3*8f4Ztk%b4Nh=;tEd^=&c3>9V7a;3VL6cPrnw*1aWZ)oU}vjNaHk0g*fnBXfYo%15@%TD+;{A^E*ILYzdwO+$5 zLwEBeY=aUDyBj&j+A^wkOf~l{?FyVJpTfbh;_x-H5XOg%%+il^!vEVVt8t&-F`R<- y%YDhaXMJXM$C!%2`z4>x*(+ANb1ZLgREYWXedzte&h0x1>wCv~rTG=K3HN_k4P+(& literal 0 HcmV?d00001 diff --git a/externals/dynarmic/externals/zycore/src/API/Memory.c b/externals/dynarmic/externals/zycore/src/API/Memory.c new file mode 100755 index 000000000..490f5cdf4 --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/API/Memory.c @@ -0,0 +1,128 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +#if defined(ZYAN_WINDOWS) + +#elif defined(ZYAN_POSIX) +# include +#else +# error "Unsupported platform detected" +#endif + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanU32 ZyanMemoryGetSystemPageSize() +{ +#if defined(ZYAN_WINDOWS) + + SYSTEM_INFO system_info; + GetSystemInfo(&system_info); + + return system_info.dwPageSize; + +#elif defined(ZYAN_POSIX) + + return sysconf(_SC_PAGE_SIZE); + +#endif +} + +ZyanU32 ZyanMemoryGetSystemAllocationGranularity() +{ +#if defined(ZYAN_WINDOWS) + + SYSTEM_INFO system_info; + GetSystemInfo(&system_info); + + return system_info.dwAllocationGranularity; + +#elif defined(ZYAN_POSIX) + + return sysconf(_SC_PAGE_SIZE); + +#endif +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanMemoryVirtualProtect(void* address, ZyanUSize size, + ZyanMemoryPageProtection protection) +{ +#if defined(ZYAN_WINDOWS) + + DWORD old; + if (!VirtualProtect(address, size, protection, &old)) + { + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + +#elif defined(ZYAN_POSIX) + + if (mprotect(address, size, protection)) + { + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + +#endif + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanMemoryVirtualFree(void* address, ZyanUSize size) +{ +#if defined(ZYAN_WINDOWS) + + ZYAN_UNUSED(size); + if (!VirtualFree(address, 0, MEM_RELEASE)) + { + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + +#elif defined(ZYAN_POSIX) + + if (munmap(address, size)) + { + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + +#endif + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/API/Process.c b/externals/dynarmic/externals/zycore/src/API/Process.c new file mode 100755 index 000000000..dbda8d1cd --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/API/Process.c @@ -0,0 +1,68 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#if defined(ZYAN_WINDOWS) +# include +#elif defined(ZYAN_POSIX) +# include +#else +# error "Unsupported platform detected" +#endif +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanProcessFlushInstructionCache(void* address, ZyanUSize size) +{ +#if defined(ZYAN_WINDOWS) + + if (!FlushInstructionCache(GetCurrentProcess(), address, size)) + { + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + +#elif defined(ZYAN_POSIX) + + if (msync(address, size, MS_SYNC | MS_INVALIDATE)) + { + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + +#endif + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/API/Synchronization.c b/externals/dynarmic/externals/zycore/src/API/Synchronization.c new file mode 100755 index 000000000..9be79af25 --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/API/Synchronization.c @@ -0,0 +1,200 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* */ +/* ---------------------------------------------------------------------------------------------- */ + + + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +#if defined(ZYAN_POSIX) + +#include + +/* ---------------------------------------------------------------------------------------------- */ +/* Critical Section */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanCriticalSectionInitialize(ZyanCriticalSection* critical_section) +{ + pthread_mutexattr_t attribute; + + int error = pthread_mutexattr_init(&attribute); + if (error != 0) + { + if (error == ENOMEM) + { + return ZYAN_STATUS_NOT_ENOUGH_MEMORY; + } + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + pthread_mutexattr_settype(&attribute, PTHREAD_MUTEX_RECURSIVE); + + error = pthread_mutex_init(critical_section, &attribute); + pthread_mutexattr_destroy(&attribute); + if (error != 0) + { + if (error == EAGAIN) + { + return ZYAN_STATUS_OUT_OF_RESOURCES; + } + if (error == ENOMEM) + { + return ZYAN_STATUS_NOT_ENOUGH_MEMORY; + } + if (error == EPERM) + { + return ZYAN_STATUS_ACCESS_DENIED; + } + if ((error == EBUSY) || (error == EINVAL)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanCriticalSectionEnter(ZyanCriticalSection* critical_section) +{ + const int error = pthread_mutex_lock(critical_section); + if (error != 0) + { + if (error == EINVAL) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (error == EAGAIN) + { + return ZYAN_STATUS_INVALID_OPERATION; + } + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanBool ZyanCriticalSectionTryEnter(ZyanCriticalSection* critical_section) +{ + // No fine grained error handling for this one + return pthread_mutex_trylock(critical_section) ? ZYAN_FALSE : ZYAN_TRUE; +} + +ZyanStatus ZyanCriticalSectionLeave(ZyanCriticalSection* critical_section) +{ + const int error = pthread_mutex_unlock(critical_section); + if (error != 0) + { + if (error == EINVAL) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (error == EPERM) + { + return ZYAN_STATUS_INVALID_OPERATION; + } + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanCriticalSectionDelete(ZyanCriticalSection* critical_section) +{ + const int error = pthread_mutex_destroy(critical_section); + if (error != 0) + { + if ((error == EBUSY) || (error == EINVAL)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +#elif defined(ZYAN_WINDOWS) + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanCriticalSectionInitialize(ZyanCriticalSection* critical_section) +{ + InitializeCriticalSection(critical_section); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanCriticalSectionEnter(ZyanCriticalSection* critical_section) +{ + EnterCriticalSection(critical_section); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanBool ZyanCriticalSectionTryEnter(ZyanCriticalSection* critical_section) +{ + return TryEnterCriticalSection(critical_section) ? ZYAN_TRUE : ZYAN_FALSE; +} + +ZyanStatus ZyanCriticalSectionLeave(ZyanCriticalSection* critical_section) +{ + LeaveCriticalSection(critical_section); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanCriticalSectionDelete(ZyanCriticalSection* critical_section) +{ + DeleteCriticalSection(critical_section); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +#else +# error "Unsupported platform detected" +#endif + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/API/Terminal.c b/externals/dynarmic/externals/zycore/src/API/Terminal.c new file mode 100755 index 000000000..376d8e120 --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/API/Terminal.c @@ -0,0 +1,156 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +#if defined(ZYAN_POSIX) +# include +#elif defined(ZYAN_WINDOWS) +# include +# include +#else +# error "Unsupported platform detected" +#endif + +// Provide fallback for old SDK versions +#ifdef ZYAN_WINDOWS +# ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING +# define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 +# endif +#endif + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +ZyanStatus ZyanTerminalEnableVT100(ZyanStandardStream stream) +{ + if ((stream != ZYAN_STDSTREAM_OUT) && (stream != ZYAN_STDSTREAM_ERR)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + +#ifdef ZYAN_WINDOWS + // Get file descriptor + int file; + switch (stream) + { + case ZYAN_STDSTREAM_OUT: + file = _fileno(ZYAN_STDOUT); + break; + case ZYAN_STDSTREAM_ERR: + file = _fileno(ZYAN_STDERR); + break; + default: + ZYAN_UNREACHABLE; + } + if (file < 0) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + HANDLE const handle = (HANDLE)_get_osfhandle(file); + if (handle == INVALID_HANDLE_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + DWORD mode; + if (!GetConsoleMode(handle, &mode)) + { + // The given standard stream is not bound to a terminal + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + mode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING; + if (!SetConsoleMode(handle, mode)) + { + return ZYAN_STATUS_BAD_SYSTEMCALL; + } +#endif + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanTerminalIsTTY(ZyanStandardStream stream) +{ + // Get file descriptor + int file; +#ifdef ZYAN_WINDOWS + switch (stream) + { + case ZYAN_STDSTREAM_IN: + file = _fileno(ZYAN_STDIN); + break; + case ZYAN_STDSTREAM_OUT: + file = _fileno(ZYAN_STDOUT); + break; + case ZYAN_STDSTREAM_ERR: + file = _fileno(ZYAN_STDERR); + break; + default: + ZYAN_UNREACHABLE; + } + if (file < 0) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } +#else + switch (stream) + { + case ZYAN_STDSTREAM_IN: + file = STDIN_FILENO; + break; + case ZYAN_STDSTREAM_OUT: + file = STDOUT_FILENO; + break; + case ZYAN_STDSTREAM_ERR: + file = STDERR_FILENO; + break; + default: + ZYAN_UNREACHABLE; + } +#endif + +#ifdef ZYAN_WINDOWS + if (_isatty(file)) +#else + if ( isatty(file)) +#endif + { + return ZYAN_STATUS_TRUE; + } + if (ZYAN_ERRNO == EBADF) + { + // Invalid file descriptor + return ZYAN_STATUS_INVALID_ARGUMENT; + } + //ZYAN_ASSERT((errno == EINVAL) || (errno == ENOTTY)); + + return ZYAN_STATUS_FALSE; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/API/Thread.c b/externals/dynarmic/externals/zycore/src/API/Thread.c new file mode 100755 index 000000000..34158c3fb --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/API/Thread.c @@ -0,0 +1,194 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* */ +/* ---------------------------------------------------------------------------------------------- */ + + + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +#if defined(ZYAN_POSIX) + +#include + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanThreadGetCurrentThread(ZyanThread* thread) +{ + *thread = pthread_self(); + + return ZYAN_STATUS_SUCCESS; +} + +ZYAN_STATIC_ASSERT(sizeof(ZyanThreadId) <= sizeof(ZyanU64)); +ZyanStatus ZyanThreadGetCurrentThreadId(ZyanThreadId* thread_id) +{ + // TODO: Use `pthread_getthreadid_np` on platforms where it is available + + pthread_t ptid = pthread_self(); + *thread_id = *(ZyanThreadId*)ptid; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Thread Local Storage */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanThreadTlsAlloc(ZyanThreadTlsIndex* index, ZyanThreadTlsCallback destructor) +{ + ZyanThreadTlsIndex value; + const int error = pthread_key_create(&value, destructor); + if (error != 0) + { + if (error == EAGAIN) + { + return ZYAN_STATUS_OUT_OF_RESOURCES; + } + if (error == ENOMEM) + { + return ZYAN_STATUS_NOT_ENOUGH_MEMORY; + } + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + *index = value; + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanThreadTlsFree(ZyanThreadTlsIndex index) +{ + return !pthread_key_delete(index) ? ZYAN_STATUS_SUCCESS : ZYAN_STATUS_BAD_SYSTEMCALL; +} + +ZyanStatus ZyanThreadTlsGetValue(ZyanThreadTlsIndex index, void** data) +{ + *data = pthread_getspecific(index); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanThreadTlsSetValue(ZyanThreadTlsIndex index, void* data) +{ + const int error = pthread_setspecific(index, data); + if (error != 0) + { + if (error == EINVAL) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +#elif defined(ZYAN_WINDOWS) + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanThreadGetCurrentThread(ZyanThread* thread) +{ + *thread = GetCurrentThread(); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanThreadGetCurrentThreadId(ZyanThreadId* thread_id) +{ + *thread_id = GetCurrentThreadId(); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Thread Local Storage (TLS) */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanThreadTlsAlloc(ZyanThreadTlsIndex* index, ZyanThreadTlsCallback destructor) +{ + const ZyanThreadTlsIndex value = FlsAlloc(destructor); + if (value == FLS_OUT_OF_INDEXES) + { + return ZYAN_STATUS_OUT_OF_RESOURCES; + } + + *index = value; + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanThreadTlsFree(ZyanThreadTlsIndex index) +{ + return FlsFree(index) ? ZYAN_STATUS_SUCCESS : ZYAN_STATUS_BAD_SYSTEMCALL; +} + +ZyanStatus ZyanThreadTlsGetValue(ZyanThreadTlsIndex index, void** data) +{ + *data = FlsGetValue(index); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanThreadTlsSetValue(ZyanThreadTlsIndex index, void* data) +{ + if (!FlsSetValue(index, data)) + { + const DWORD error = GetLastError(); + if (error == ERROR_INVALID_PARAMETER) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +#else +# error "Unsupported platform detected" +#endif + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/Allocator.c b/externals/dynarmic/externals/zycore/src/Allocator.c new file mode 100755 index 000000000..5fadf6476 --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/Allocator.c @@ -0,0 +1,134 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Default allocator */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +static ZyanStatus ZyanAllocatorDefaultAllocate(ZyanAllocator* allocator, void** p, + ZyanUSize element_size, ZyanUSize n) +{ + ZYAN_ASSERT(allocator); + ZYAN_ASSERT(p); + ZYAN_ASSERT(element_size); + ZYAN_ASSERT(n); + + ZYAN_UNUSED(allocator); + + *p = ZYAN_MALLOC(element_size * n); + if (!*p) + { + return ZYAN_STATUS_NOT_ENOUGH_MEMORY; + } + + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZyanAllocatorDefaultReallocate(ZyanAllocator* allocator, void** p, + ZyanUSize element_size, ZyanUSize n) +{ + ZYAN_ASSERT(allocator); + ZYAN_ASSERT(p); + ZYAN_ASSERT(element_size); + ZYAN_ASSERT(n); + + ZYAN_UNUSED(allocator); + + void* const x = ZYAN_REALLOC(*p, element_size * n); + if (!x) + { + return ZYAN_STATUS_NOT_ENOUGH_MEMORY; + } + *p = x; + + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZyanAllocatorDefaultDeallocate(ZyanAllocator* allocator, void* p, + ZyanUSize element_size, ZyanUSize n) +{ + ZYAN_ASSERT(allocator); + ZYAN_ASSERT(p); + ZYAN_ASSERT(element_size); + ZYAN_ASSERT(n); + + ZYAN_UNUSED(allocator); + ZYAN_UNUSED(element_size); + ZYAN_UNUSED(n); + + ZYAN_FREE(p); + + return ZYAN_STATUS_SUCCESS; +} + +#endif // ZYAN_NO_LIBC + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +ZyanStatus ZyanAllocatorInit(ZyanAllocator* allocator, ZyanAllocatorAllocate allocate, + ZyanAllocatorAllocate reallocate, ZyanAllocatorDeallocate deallocate) +{ + if (!allocator || !allocate || !reallocate || !deallocate) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + allocator->allocate = allocate; + allocator->reallocate = reallocate; + allocator->deallocate = deallocate; + + return ZYAN_STATUS_SUCCESS; +} + +#ifndef ZYAN_NO_LIBC + +ZyanAllocator* ZyanAllocatorDefault(void) +{ + static ZyanAllocator allocator = + { + &ZyanAllocatorDefaultAllocate, + &ZyanAllocatorDefaultReallocate, + &ZyanAllocatorDefaultDeallocate + }; + return &allocator; +} + +#endif + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/ArgParse.c b/externals/dynarmic/externals/zycore/src/ArgParse.c new file mode 100755 index 000000000..109cfc8ac --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/ArgParse.c @@ -0,0 +1,279 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +#ifndef ZYAN_NO_LIBC + +ZyanStatus ZyanArgParse(const ZyanArgParseConfig *cfg, ZyanVector* parsed, + const char** error_token) +{ + return ZyanArgParseEx(cfg, parsed, error_token, ZyanAllocatorDefault()); +} + +#endif + +ZyanStatus ZyanArgParseEx(const ZyanArgParseConfig *cfg, ZyanVector* parsed, + const char** error_token, ZyanAllocator* allocator) +{ +# define ZYAN_ERR_TOK(tok) if (error_token) { *error_token = tok; } + + ZYAN_ASSERT(cfg); + ZYAN_ASSERT(parsed); + + // TODO: Once we have a decent hash map impl, refactor this to use it. The majority of for + // loops through the argument list could be avoided. + + if (cfg->min_unnamed_args > cfg->max_unnamed_args) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Check argument syntax. + for (const ZyanArgParseDefinition* def = cfg->args; def && def->name; ++def) + { + // TODO: Duplicate check + + if (!def->name) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanUSize arg_len = ZYAN_STRLEN(def->name); + if (arg_len < 2 || def->name[0] != '-') + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Single dash arguments only accept a single char name. + if (def->name[1] != '-' && arg_len != 2) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } + + // Initialize output vector. + ZYAN_CHECK(ZyanVectorInitEx(parsed, sizeof(ZyanArgParseArg), cfg->argc, ZYAN_NULL, allocator, + ZYAN_VECTOR_DEFAULT_GROWTH_FACTOR, ZYAN_VECTOR_DEFAULT_SHRINK_THRESHOLD)); + + ZyanStatus err; + ZyanBool accept_dash_args = ZYAN_TRUE; + ZyanUSize num_unnamed_args = 0; + for (ZyanUSize i = 1; i < cfg->argc; ++i) + { + const char* cur_arg = cfg->argv[i]; + ZyanUSize arg_len = ZYAN_STRLEN(cfg->argv[i]); + + // Double-dash argument? + if (accept_dash_args && arg_len >= 2 && ZYAN_MEMCMP(cur_arg, "--", 2) == 0) + { + // GNU style end of argument parsing. + if (arg_len == 2) + { + accept_dash_args = ZYAN_FALSE; + } + // Regular double-dash argument. + else + { + // Allocate parsed argument struct. + ZyanArgParseArg* parsed_arg; + ZYAN_CHECK(ZyanVectorEmplace(parsed, (void**)&parsed_arg, ZYAN_NULL)); + ZYAN_MEMSET(parsed_arg, 0, sizeof(*parsed_arg)); + + // Find corresponding argument definition. + for (const ZyanArgParseDefinition* def = cfg->args; def && def->name; ++def) + { + if (ZYAN_STRCMP(def->name, cur_arg) == 0) + { + parsed_arg->def = def; + break; + } + } + + // Search exhausted & argument not found. RIP. + if (!parsed_arg->def) + { + err = ZYAN_STATUS_ARG_NOT_UNDERSTOOD; + ZYAN_ERR_TOK(cur_arg); + goto failure; + } + + // Does the argument expect a value? If yes, consume next token. + if (!parsed_arg->def->boolean) + { + if (i == cfg->argc - 1) + { + err = ZYAN_STATUS_ARG_MISSES_VALUE; + ZYAN_ERR_TOK(cur_arg); + goto failure; + } + parsed_arg->has_value = ZYAN_TRUE; + ZYAN_CHECK(ZyanStringViewInsideBuffer(&parsed_arg->value, cfg->argv[++i])); + } + } + + // Continue parsing at next token. + continue; + } + + // Single-dash argument? + // TODO: How to deal with just dashes? Current code treats it as unnamed arg. + if (accept_dash_args && arg_len > 1 && cur_arg[0] == '-') + { + // Iterate argument token chars until there are either no more chars left + // or we encounter a non-boolean argument, in which case we consume the + // remaining chars as its value. + for (const char* read_ptr = cur_arg + 1; *read_ptr; ++read_ptr) + { + // Allocate parsed argument struct. + ZyanArgParseArg* parsed_arg; + ZYAN_CHECK(ZyanVectorEmplace(parsed, (void**)&parsed_arg, ZYAN_NULL)); + ZYAN_MEMSET(parsed_arg, 0, sizeof(*parsed_arg)); + + // Find corresponding argument definition. + for (const ZyanArgParseDefinition* def = cfg->args; def && def->name; ++def) + { + if (ZYAN_STRLEN(def->name) == 2 && + def->name[0] == '-' && + def->name[1] == *read_ptr) + { + parsed_arg->def = def; + break; + } + } + + // Search exhausted, no match found? + if (!parsed_arg->def) + { + err = ZYAN_STATUS_ARG_NOT_UNDERSTOOD; + ZYAN_ERR_TOK(cur_arg); + goto failure; + } + + // Requires value? + if (!parsed_arg->def->boolean) + { + // If there are chars left, consume them (e.g. `-n1000`). + if (read_ptr[1]) + { + parsed_arg->has_value = ZYAN_TRUE; + ZYAN_CHECK(ZyanStringViewInsideBuffer(&parsed_arg->value, read_ptr + 1)); + } + // If not, consume next token (e.g. `-n 1000`). + else + { + if (i == cfg->argc - 1) + { + err = ZYAN_STATUS_ARG_MISSES_VALUE; + ZYAN_ERR_TOK(cur_arg) + goto failure; + } + + parsed_arg->has_value = ZYAN_TRUE; + ZYAN_CHECK(ZyanStringViewInsideBuffer(&parsed_arg->value, cfg->argv[++i])); + } + + // Either way, continue with next argument. + goto continue_main_loop; + } + } + } + + // Still here? We're looking at an unnamed argument. + ++num_unnamed_args; + if (num_unnamed_args > cfg->max_unnamed_args) + { + err = ZYAN_STATUS_TOO_MANY_ARGS; + ZYAN_ERR_TOK(cur_arg); + goto failure; + } + + // Allocate parsed argument struct. + ZyanArgParseArg* parsed_arg; + ZYAN_CHECK(ZyanVectorEmplace(parsed, (void**)&parsed_arg, ZYAN_NULL)); + ZYAN_MEMSET(parsed_arg, 0, sizeof(*parsed_arg)); + parsed_arg->has_value = ZYAN_TRUE; + ZYAN_CHECK(ZyanStringViewInsideBuffer(&parsed_arg->value, cur_arg)); + + continue_main_loop:; + } + + // All tokens processed. Do we have enough unnamed arguments? + if (num_unnamed_args < cfg->min_unnamed_args) + { + err = ZYAN_STATUS_TOO_FEW_ARGS; + // No sensible error token for this error type. + goto failure; + } + + // Check whether all required arguments are present. + ZyanUSize num_parsed_args; + ZYAN_CHECK(ZyanVectorGetSize(parsed, &num_parsed_args)); + for (const ZyanArgParseDefinition* def = cfg->args; def && def->name; ++def) + { + if (!def->required) continue; + + ZyanBool arg_found = ZYAN_FALSE; + for (ZyanUSize i = 0; i < num_parsed_args; ++i) + { + const ZyanArgParseArg* arg = ZYAN_NULL; + ZYAN_CHECK(ZyanVectorGetPointer(parsed, i, (const void**)&arg)); + + // Skip unnamed args. + if (!arg->def) continue; + + if (arg->def == def) + { + arg_found = ZYAN_TRUE; + break; + } + } + + if (!arg_found) + { + err = ZYAN_STATUS_REQUIRED_ARG_MISSING; + ZYAN_ERR_TOK(def->name); + goto failure; + } + } + + // Yay! + ZYAN_ERR_TOK(ZYAN_NULL); + return ZYAN_STATUS_SUCCESS; + +failure: + ZYAN_CHECK(ZyanVectorDestroy(parsed)); + return err; + +# undef ZYAN_ERR_TOK +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/Bitset.c b/externals/dynarmic/externals/zycore/src/Bitset.c new file mode 100755 index 000000000..289aa69da --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/Bitset.c @@ -0,0 +1,670 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Internal constants */ +/* ============================================================================================== */ + +#define ZYAN_BITSET_GROWTH_FACTOR 2.00f +#define ZYAN_BITSET_SHRINK_THRESHOLD 0.50f + +/* ============================================================================================== */ +/* Internal macros */ +/* ============================================================================================== */ + +/** + * Computes the smallest integer value not less than `x`. + * + * @param x The value. + * + * @return The smallest integer value not less than `x`. + */ +#define ZYAN_BITSET_CEIL(x) \ + (((x) == ((ZyanU32)(x))) ? (ZyanU32)(x) : ((ZyanU32)(x)) + 1) + +/** + * Converts bits to bytes. + * + * @param x The value in bits. + * + * @return The amount of bytes needed to fit `x` bits. + */ +#define ZYAN_BITSET_BITS_TO_BYTES(x) \ + ZYAN_BITSET_CEIL((x) / 8.0f) + +/** + * Returns the offset of the given bit. + * + * @param index The bit index. + * + * @return The offset of the given bit. + */ +#define ZYAN_BITSET_BIT_OFFSET(index) \ + (7 - ((index) % 8)) + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Initializes the given `vector` with `count` "zero"-bytes. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param count The number of bytes. + * + * @return A zyan status code. + */ +static ZyanStatus ZyanBitsetInitVectorElements(ZyanVector* vector, ZyanUSize count) +{ + ZYAN_ASSERT(vector); + + static const ZyanU8 zero = 0; + for (ZyanUSize i = 0; i < count; ++i) + { + ZYAN_CHECK(ZyanVectorPushBack(vector, &zero)); + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Byte operations */ +/* ---------------------------------------------------------------------------------------------- */ + +static ZyanStatus ZyanBitsetOperationAND(ZyanU8* b1, const ZyanU8* b2) +{ + *b1 &= *b2; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZyanBitsetOperationOR (ZyanU8* b1, const ZyanU8* b2) +{ + *b1 |= *b2; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZyanBitsetOperationXOR(ZyanU8* b1, const ZyanU8* b2) +{ + *b1 ^= *b2; + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constructor and destructor */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +ZyanStatus ZyanBitsetInit(ZyanBitset* bitset, ZyanUSize count) +{ + return ZyanBitsetInitEx(bitset, count, ZyanAllocatorDefault(), ZYAN_BITSET_GROWTH_FACTOR, + ZYAN_BITSET_SHRINK_THRESHOLD); +} + +#endif // ZYAN_NO_LIBC + +ZyanStatus ZyanBitsetInitEx(ZyanBitset* bitset, ZyanUSize count, ZyanAllocator* allocator, + float growth_factor, float shrink_threshold) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanU32 bytes = ZYAN_BITSET_BITS_TO_BYTES(count); + + bitset->size = count; + ZYAN_CHECK(ZyanVectorInitEx(&bitset->bits, sizeof(ZyanU8), bytes, ZYAN_NULL, allocator, + growth_factor, shrink_threshold)); + ZYAN_CHECK(ZyanBitsetInitVectorElements(&bitset->bits, bytes)); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetInitBuffer(ZyanBitset* bitset, ZyanUSize count, void* buffer, + ZyanUSize capacity) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanU32 bytes = ZYAN_BITSET_BITS_TO_BYTES(count); + if (capacity < bytes) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + bitset->size = count; + ZYAN_CHECK(ZyanVectorInitCustomBuffer(&bitset->bits, sizeof(ZyanU8), buffer, capacity, + ZYAN_NULL)); + ZYAN_CHECK(ZyanBitsetInitVectorElements(&bitset->bits, bytes)); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetDestroy(ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorDestroy(&bitset->bits); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Logical operations */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanBitsetPerformByteOperation(ZyanBitset* destination, const ZyanBitset* source, + ZyanBitsetByteOperation operation) +{ + if (!destination || !source || !operation) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanUSize s1; + ZyanUSize s2; + ZYAN_CHECK(ZyanVectorGetSize(&destination->bits, &s1)); + ZYAN_CHECK(ZyanVectorGetSize(&source->bits, &s2)); + + const ZyanUSize min = ZYAN_MIN(s1, s2); + for (ZyanUSize i = 0; i < min; ++i) + { + ZyanU8* v1; + const ZyanU8* v2; + ZYAN_CHECK(ZyanVectorGetPointerMutable(&destination->bits, i, (void**)&v1)); + ZYAN_CHECK(ZyanVectorGetPointer(&source->bits, i, (const void**)&v2)); + + ZYAN_ASSERT(v1); + ZYAN_ASSERT(v2); + + ZYAN_CHECK(operation(v1, v2)); + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetAND(ZyanBitset* destination, const ZyanBitset* source) +{ + return ZyanBitsetPerformByteOperation(destination, source, ZyanBitsetOperationAND); +} + +ZyanStatus ZyanBitsetOR (ZyanBitset* destination, const ZyanBitset* source) +{ + return ZyanBitsetPerformByteOperation(destination, source, ZyanBitsetOperationOR ); +} + +ZyanStatus ZyanBitsetXOR(ZyanBitset* destination, const ZyanBitset* source) +{ + return ZyanBitsetPerformByteOperation(destination, source, ZyanBitsetOperationXOR); +} + +ZyanStatus ZyanBitsetFlip(ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&bitset->bits, &size)); + for (ZyanUSize i = 0; i < size; ++i) + { + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointerMutable(&bitset->bits, i, (void**)&value)); + *value = ~(*value); + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Bit access */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanBitsetSet(ZyanBitset* bitset, ZyanUSize index) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index >= bitset->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointerMutable(&bitset->bits, index / 8, (void**)&value)); + + *value |= (1 << ZYAN_BITSET_BIT_OFFSET(index)); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetReset(ZyanBitset* bitset, ZyanUSize index) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index >= bitset->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointerMutable(&bitset->bits, index / 8, (void**)&value)); + *value &= ~(1 << ZYAN_BITSET_BIT_OFFSET(index)); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetAssign(ZyanBitset* bitset, ZyanUSize index, ZyanBool value) +{ + if (value) + { + return ZyanBitsetSet(bitset, index); + } + return ZyanBitsetReset(bitset, index); +} + +ZyanStatus ZyanBitsetToggle(ZyanBitset* bitset, ZyanUSize index) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index >= bitset->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointerMutable(&bitset->bits, index / 8, (void**)&value)); + *value ^= (1 << ZYAN_BITSET_BIT_OFFSET(index)); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetTest(ZyanBitset* bitset, ZyanUSize index) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index >= bitset->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + const ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointer(&bitset->bits, index / 8, (const void**)&value)); + if ((*value & (1 << ZYAN_BITSET_BIT_OFFSET(index))) == 0) + { + return ZYAN_STATUS_FALSE; + } + return ZYAN_STATUS_TRUE; +} + +ZyanStatus ZyanBitsetTestMSB(ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanBitsetTest(bitset, bitset->size - 1); +} + +ZyanStatus ZyanBitsetTestLSB(ZyanBitset* bitset) +{ + return ZyanBitsetTest(bitset, 0); +} + +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanBitsetSetAll(ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&bitset->bits, &size)); + for (ZyanUSize i = 0; i < size; ++i) + { + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointerMutable(&bitset->bits, i, (void**)&value)); + *value = 0xFF; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetResetAll(ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&bitset->bits, &size)); + for (ZyanUSize i = 0; i < size; ++i) + { + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointerMutable(&bitset->bits, i, (void**)&value)); + *value = 0x00; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Size management */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanBitsetPush(ZyanBitset* bitset, ZyanBool value) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if ((bitset->size++ % 8) == 0) + { + static const ZyanU8 zero = 0; + ZYAN_CHECK(ZyanVectorPushBack(&bitset->bits, &zero)); + } + + return ZyanBitsetAssign(bitset, bitset->size - 1, value); +} + +ZyanStatus ZyanBitsetPop(ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if ((--bitset->size % 8) == 0) + { + return ZyanVectorPopBack(&bitset->bits); + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetClear(ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + bitset->size = 0; + return ZyanVectorClear(&bitset->bits); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanBitsetReserve(ZyanBitset* bitset, ZyanUSize count) +{ + return ZyanVectorReserve(&bitset->bits, ZYAN_BITSET_BITS_TO_BYTES(count)); +} + +ZyanStatus ZyanBitsetShrinkToFit(ZyanBitset* bitset) +{ + return ZyanVectorShrinkToFit(&bitset->bits); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanBitsetGetSize(const ZyanBitset* bitset, ZyanUSize* size) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *size = bitset->size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetGetCapacity(const ZyanBitset* bitset, ZyanUSize* capacity) +{ + ZYAN_CHECK(ZyanBitsetGetCapacityBytes(bitset, capacity)); + *capacity *= 8; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetGetSizeBytes(const ZyanBitset* bitset, ZyanUSize* size) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorGetSize(&bitset->bits, size); +} + +ZyanStatus ZyanBitsetGetCapacityBytes(const ZyanBitset* bitset, ZyanUSize* capacity) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorGetCapacity(&bitset->bits, capacity); +} + +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanBitsetCount(const ZyanBitset* bitset, ZyanUSize* count) +{ + if (!bitset || !count) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *count = 0; + + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&bitset->bits, &size)); + for (ZyanUSize i = 0; i < size; ++i) + { + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointer(&bitset->bits, i, (const void**)&value)); + + ZyanU8 popcnt = *value; + popcnt = (popcnt & 0x55) + ((popcnt >> 1) & 0x55); + popcnt = (popcnt & 0x33) + ((popcnt >> 2) & 0x33); + popcnt = (popcnt & 0x0F) + ((popcnt >> 4) & 0x0F); + + *count += popcnt; + } + + *count = ZYAN_MIN(*count, bitset->size); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanBitsetAll(const ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&bitset->bits, &size)); + for (ZyanUSize i = 0; i < size; ++i) + { + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointer(&bitset->bits, i, (const void**)&value)); + if (i < (size - 1)) + { + if (*value != 0xFF) + { + return ZYAN_STATUS_FALSE; + } + } else + { + const ZyanU8 mask = ~(8 - (bitset->size % 8)); + if ((*value & mask) != mask) + { + return ZYAN_STATUS_FALSE; + } + } + } + + return ZYAN_STATUS_TRUE; +} + +ZyanStatus ZyanBitsetAny(const ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&bitset->bits, &size)); + for (ZyanUSize i = 0; i < size; ++i) + { + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointer(&bitset->bits, i, (const void**)&value)); + if (i < (size - 1)) + { + if (*value != 0x00) + { + return ZYAN_STATUS_TRUE; + } + } else + { + const ZyanU8 mask = ~(8 - (bitset->size % 8)); + if ((*value & mask) != 0x00) + { + return ZYAN_STATUS_TRUE; + } + } + } + + return ZYAN_STATUS_FALSE; +} + +ZyanStatus ZyanBitsetNone(const ZyanBitset* bitset) +{ + if (!bitset) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&bitset->bits, &size)); + for (ZyanUSize i = 0; i < size; ++i) + { + ZyanU8* value; + ZYAN_CHECK(ZyanVectorGetPointer(&bitset->bits, i, (const void**)&value)); + if (i < (size - 1)) + { + if (*value != 0x00) + { + return ZYAN_STATUS_FALSE; + } + } else + { + const ZyanU8 mask = ~(8 - (bitset->size % 8)); + if ((*value & mask) != 0x00) + { + return ZYAN_STATUS_FALSE; + } + } + } + + return ZYAN_STATUS_TRUE; +} + +/* ---------------------------------------------------------------------------------------------- */ + +//ZyanStatus ZyanBitsetToU32(const ZyanBitset* bitset, ZyanU32* value) +//{ +// if (!bitset) +// { +// return ZYAN_STATUS_INVALID_ARGUMENT; +// } +// if (bitset->size > 32) +// { +// return ZYAN_STATUS_INVALID_OPERATION; +// } +// +// // TODO: +// +// return ZYAN_STATUS_SUCCESS; +//} +// +//ZyanStatus ZyanBitsetToU64(const ZyanBitset* bitset, ZyanU64* value) +//{ +// if (!bitset) +// { +// return ZYAN_STATUS_INVALID_ARGUMENT; +// } +// if (bitset->size > 64) +// { +// return ZYAN_STATUS_INVALID_OPERATION; +// } +// +// // TODO: +// +// return ZYAN_STATUS_SUCCESS; +//} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/Format.c b/externals/dynarmic/externals/zycore/src/Format.c new file mode 100755 index 000000000..d187d2a2b --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/Format.c @@ -0,0 +1,507 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Defines */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYCORE_MAXCHARS_DEC_32 10 +#define ZYCORE_MAXCHARS_DEC_64 20 +#define ZYCORE_MAXCHARS_HEX_32 8 +#define ZYCORE_MAXCHARS_HEX_64 16 + +/* ---------------------------------------------------------------------------------------------- */ +/* Lookup Tables */ +/* ---------------------------------------------------------------------------------------------- */ + +static const char* const DECIMAL_LOOKUP = + "00010203040506070809" + "10111213141516171819" + "20212223242526272829" + "30313233343536373839" + "40414243444546474849" + "50515253545556575859" + "60616263646566676869" + "70717273747576777879" + "80818283848586878889" + "90919293949596979899"; + +/* ---------------------------------------------------------------------------------------------- */ +/* Static strings */ +/* ---------------------------------------------------------------------------------------------- */ + +static const ZyanStringView STR_ADD = ZYAN_DEFINE_STRING_VIEW("+"); +static const ZyanStringView STR_SUB = ZYAN_DEFINE_STRING_VIEW("-"); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Internal macros */ +/* ============================================================================================== */ + +/** + * Writes a terminating '\0' character at the end of the string data. + */ +#define ZYCORE_STRING_NULLTERMINATE(string) \ + *(char*)((ZyanU8*)(string)->vector.data + (string)->vector.size - 1) = '\0'; + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Decimal */ +/* ---------------------------------------------------------------------------------------------- */ + +#if defined(ZYAN_X86) || defined(ZYAN_ARM) || defined(ZYAN_EMSCRIPTEN) +ZyanStatus ZyanStringAppendDecU32(ZyanString* string, ZyanU32 value, ZyanU8 padding_length) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + char buffer[ZYCORE_MAXCHARS_DEC_32]; + char *buffer_end = &buffer[ZYCORE_MAXCHARS_DEC_32]; + char *buffer_write_pointer = buffer_end; + while (value >= 100) + { + const ZyanU32 value_old = value; + buffer_write_pointer -= 2; + value /= 100; + ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[(value_old - (value * 100)) * 2], 2); + } + buffer_write_pointer -= 2; + ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[value * 2], 2); + + const ZyanUSize offset_odd = (ZyanUSize)(value < 10); + const ZyanUSize length_number = buffer_end - buffer_write_pointer - offset_odd; + const ZyanUSize length_total = ZYAN_MAX(length_number, padding_length); + const ZyanUSize length_target = string->vector.size; + + if (string->vector.size + length_total > string->vector.capacity) + { + ZYAN_CHECK(ZyanStringResize(string, string->vector.size + length_total - 1)); + } + + ZyanUSize offset_write = 0; + if (padding_length > length_number) + { + offset_write = padding_length - length_number; + ZYAN_MEMSET((char*)string->vector.data + length_target - 1, '0', offset_write); + } + + ZYAN_MEMCPY((char*)string->vector.data + length_target + offset_write - 1, + buffer_write_pointer + offset_odd, length_number); + string->vector.size = length_target + length_total; + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} +#endif + +ZyanStatus ZyanStringAppendDecU64(ZyanString* string, ZyanU64 value, ZyanU8 padding_length) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + char buffer[ZYCORE_MAXCHARS_DEC_64]; + char *buffer_end = &buffer[ZYCORE_MAXCHARS_DEC_64]; + char *buffer_write_pointer = buffer_end; + while (value >= 100) + { + const ZyanU64 value_old = value; + buffer_write_pointer -= 2; + value /= 100; + ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[(value_old - (value * 100)) * 2], 2); + } + buffer_write_pointer -= 2; + ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[value * 2], 2); + + const ZyanUSize offset_odd = (ZyanUSize)(value < 10); + const ZyanUSize length_number = buffer_end - buffer_write_pointer - offset_odd; + const ZyanUSize length_total = ZYAN_MAX(length_number, padding_length); + const ZyanUSize length_target = string->vector.size; + + if (string->vector.size + length_total > string->vector.capacity) + { + ZYAN_CHECK(ZyanStringResize(string, string->vector.size + length_total - 1)); + } + + ZyanUSize offset_write = 0; + if (padding_length > length_number) + { + offset_write = padding_length - length_number; + ZYAN_MEMSET((char*)string->vector.data + length_target - 1, '0', offset_write); + } + + ZYAN_MEMCPY((char*)string->vector.data + length_target + offset_write - 1, + buffer_write_pointer + offset_odd, length_number); + string->vector.size = length_target + length_total; + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Hexadecimal */ +/* ---------------------------------------------------------------------------------------------- */ + +#if defined(ZYAN_X86) || defined(ZYAN_ARM) || defined(ZYAN_EMSCRIPTEN) +ZyanStatus ZyanStringAppendHexU32(ZyanString* string, ZyanU32 value, ZyanU8 padding_length, + ZyanBool uppercase) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = string->vector.size; + ZyanUSize remaining = string->vector.capacity - string->vector.size; + + if (remaining < (ZyanUSize)padding_length) + { + ZYAN_CHECK(ZyanStringResize(string, len + padding_length - 1)); + remaining = padding_length; + } + + if (!value) + { + const ZyanU8 n = (padding_length ? padding_length : 1); + + if (remaining < (ZyanUSize)n) + { + ZYAN_CHECK(ZyanStringResize(string, string->vector.size + n - 1)); + } + + ZYAN_MEMSET((char*)string->vector.data + len - 1, '0', n); + string->vector.size = len + n; + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; + } + + ZyanU8 n = 0; + char* buffer = ZYAN_NULL; + for (ZyanI8 i = ZYCORE_MAXCHARS_HEX_32 - 1; i >= 0; --i) + { + const ZyanU8 v = (value >> i * 4) & 0x0F; + if (!n) + { + if (!v) + { + continue; + } + if (remaining <= (ZyanU8)i) + { + ZYAN_CHECK(ZyanStringResize(string, string->vector.size + i)); + } + buffer = (char*)string->vector.data + len - 1; + if (padding_length > i) + { + n = padding_length - i - 1; + ZYAN_MEMSET(buffer, '0', n); + } + } + ZYAN_ASSERT(buffer); + if (uppercase) + { + buffer[n++] = "0123456789ABCDEF"[v]; + } else + { + buffer[n++] = "0123456789abcdef"[v]; + } + } + string->vector.size = len + n; + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} +#endif + +ZyanStatus ZyanStringAppendHexU64(ZyanString* string, ZyanU64 value, ZyanU8 padding_length, + ZyanBool uppercase) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = string->vector.size; + ZyanUSize remaining = string->vector.capacity - string->vector.size; + + if (remaining < (ZyanUSize)padding_length) + { + ZYAN_CHECK(ZyanStringResize(string, len + padding_length - 1)); + remaining = padding_length; + } + + if (!value) + { + const ZyanU8 n = (padding_length ? padding_length : 1); + + if (remaining < (ZyanUSize)n) + { + ZYAN_CHECK(ZyanStringResize(string, string->vector.size + n - 1)); + } + + ZYAN_MEMSET((char*)string->vector.data + len - 1, '0', n); + string->vector.size = len + n; + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; + } + + ZyanU8 n = 0; + char* buffer = ZYAN_NULL; + for (ZyanI8 i = ((value & 0xFFFFFFFF00000000) ? + ZYCORE_MAXCHARS_HEX_64 : ZYCORE_MAXCHARS_HEX_32) - 1; i >= 0; --i) + { + const ZyanU8 v = (value >> i * 4) & 0x0F; + if (!n) + { + if (!v) + { + continue; + } + if (remaining <= (ZyanU8)i) + { + ZYAN_CHECK(ZyanStringResize(string, string->vector.size + i)); + } + buffer = (char*)string->vector.data + len - 1; + if (padding_length > i) + { + n = padding_length - i - 1; + ZYAN_MEMSET(buffer, '0', n); + } + } + ZYAN_ASSERT(buffer); + if (uppercase) + { + buffer[n++] = "0123456789ABCDEF"[v]; + } else + { + buffer[n++] = "0123456789abcdef"[v]; + } + } + string->vector.size = len + n; + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Insertion */ +/* ---------------------------------------------------------------------------------------------- */ + +//ZyanStatus ZyanStringInsertFormat(ZyanString* string, ZyanUSize index, const char* format, ...) +//{ +// +//} +// +///* ---------------------------------------------------------------------------------------------- */ +// +//ZyanStatus ZyanStringInsertDecU(ZyanString* string, ZyanUSize index, ZyanU64 value, +// ZyanUSize padding_length) +//{ +// +//} +// +//ZyanStatus ZyanStringInsertDecS(ZyanString* string, ZyanUSize index, ZyanI64 value, +// ZyanUSize padding_length, ZyanBool force_sign, const ZyanString* prefix) +//{ +// +//} +// +//ZyanStatus ZyanStringInsertHexU(ZyanString* string, ZyanUSize index, ZyanU64 value, +// ZyanUSize padding_length, ZyanBool uppercase) +//{ +// +//} +// +//ZyanStatus ZyanStringInsertHexS(ZyanString* string, ZyanUSize index, ZyanI64 value, +// ZyanUSize padding_length, ZyanBool uppercase, ZyanBool force_sign, const ZyanString* prefix) +//{ +// +//} + +/* ---------------------------------------------------------------------------------------------- */ +/* Appending */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +ZyanStatus ZyanStringAppendFormat(ZyanString* string, const char* format, ...) +{ + if (!string || !format) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanVAList arglist; + ZYAN_VA_START(arglist, format); + + const ZyanUSize len = string->vector.size; + + ZyanI32 w = ZYAN_VSNPRINTF((char*)string->vector.data + len - 1, + string->vector.capacity - len + 1, format, arglist); + if (w < 0) + { + ZYAN_VA_END(arglist); + return ZYAN_STATUS_FAILED; + } + if (w <= (ZyanI32)(string->vector.capacity - len)) + { + string->vector.size = len + w; + + ZYAN_VA_END(arglist); + return ZYAN_STATUS_SUCCESS; + } + + // The remaining capacity was not sufficent to fit the formatted string. Trying to resize .. + const ZyanStatus status = ZyanStringResize(string, string->vector.size + w - 1); + if (!ZYAN_SUCCESS(status)) + { + ZYAN_VA_END(arglist); + return status; + } + + w = ZYAN_VSNPRINTF((char*)string->vector.data + len - 1, + string->vector.capacity - string->vector.size + 1, format, arglist); + if (w < 0) + { + ZYAN_VA_END(arglist); + return ZYAN_STATUS_FAILED; + } + ZYAN_ASSERT(w <= (ZyanI32)(string->vector.capacity - string->vector.size)); + + ZYAN_VA_END(arglist); + return ZYAN_STATUS_SUCCESS; +} + +#endif // ZYAN_NO_LIBC + +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringAppendDecU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length) +{ +#if defined(ZYAN_X64) || defined(ZYAN_AARCH64) + return ZyanStringAppendDecU64(string, value, padding_length); +#else + // Working with 64-bit values is slow on non 64-bit systems + if (value & 0xFFFFFFFF00000000) + { + return ZyanStringAppendDecU64(string, value, padding_length); + } + return ZyanStringAppendDecU32(string, (ZyanU32)value, padding_length); +#endif +} + +ZyanStatus ZyanStringAppendDecS(ZyanString* string, ZyanI64 value, ZyanU8 padding_length, + ZyanBool force_sign, const ZyanStringView* prefix) +{ + if (value < 0) + { + ZYAN_CHECK(ZyanStringAppend(string, &STR_SUB)); + if (prefix) + { + ZYAN_CHECK(ZyanStringAppend(string, prefix)); + } + return ZyanStringAppendDecU(string, ZyanAbsI64(value), padding_length); + } + + if (force_sign) + { + ZYAN_ASSERT(value >= 0); + ZYAN_CHECK(ZyanStringAppend(string, &STR_ADD)); + } + + if (prefix) + { + ZYAN_CHECK(ZyanStringAppend(string, prefix)); + } + return ZyanStringAppendDecU(string, value, padding_length); +} + +ZyanStatus ZyanStringAppendHexU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length, + ZyanBool uppercase) +{ +#if defined(ZYAN_X64) || defined(ZYAN_AARCH64) + return ZyanStringAppendHexU64(string, value, padding_length, uppercase); +#else + // Working with 64-bit values is slow on non 64-bit systems + if (value & 0xFFFFFFFF00000000) + { + return ZyanStringAppendHexU64(string, value, padding_length, uppercase); + } + return ZyanStringAppendHexU32(string, (ZyanU32)value, padding_length, uppercase); +#endif +} + +ZyanStatus ZyanStringAppendHexS(ZyanString* string, ZyanI64 value, ZyanU8 padding_length, + ZyanBool uppercase, ZyanBool force_sign, const ZyanStringView* prefix) +{ + if (value < 0) + { + ZYAN_CHECK(ZyanStringAppend(string, &STR_SUB)); + if (prefix) + { + ZYAN_CHECK(ZyanStringAppend(string, prefix)); + } + return ZyanStringAppendHexU(string, ZyanAbsI64(value), padding_length, uppercase); + } + + if (force_sign) + { + ZYAN_ASSERT(value >= 0); + ZYAN_CHECK(ZyanStringAppend(string, &STR_ADD)); + } + + if (prefix) + { + ZYAN_CHECK(ZyanStringAppend(string, prefix)); + } + return ZyanStringAppendHexU(string, value, padding_length, uppercase); +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/List.c b/externals/dynarmic/externals/zycore/src/List.c new file mode 100755 index 000000000..e233da81f --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/List.c @@ -0,0 +1,673 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Internal macros */ +/* ============================================================================================== */ + +/** + * Returns a pointer to the data of the given `node`. + * + * @param node A pointer to the `ZyanNodeData` struct. + * + * @return A pointer to the data of the given `node`. + */ +#define ZYCORE_LIST_GET_NODE_DATA(node) \ + ((void*)(node + 1)) + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Allocates memory for a new list node. + * + * @param list A pointer to the `ZyanList` instance. + * @param node Receives a pointer to the new `ZyanListNode` struct. + * + * @return A zyan status code. + */ +static ZyanStatus ZyanListAllocateNode(ZyanList* list, ZyanListNode** node) +{ + ZYAN_ASSERT(list); + ZYAN_ASSERT(node); + + const ZyanBool is_dynamic = (list->allocator != ZYAN_NULL); + if (is_dynamic) + { + ZYAN_ASSERT(list->allocator->allocate); + ZYAN_CHECK(list->allocator->allocate(list->allocator, (void**)node, + sizeof(ZyanListNode) + list->element_size, 1)); + } else + { + if (list->first_unused) + { + *node = list->first_unused; + list->first_unused = (*node)->next; + } else + { + const ZyanUSize size = list->size * (sizeof(ZyanListNode) + list->element_size); + if (size + (sizeof(ZyanListNode) + list->element_size) > list->capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + *node = (ZyanListNode*)((ZyanU8*)list->buffer + size); + } + } + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Frees memory of a node. + * + * @param list A pointer to the `ZyanList` instance. + * @param node A pointer to the `ZyanListNode` struct. + * + * @return A zyan status code. + */ +static ZyanStatus ZyanListDeallocateNode(ZyanList* list, ZyanListNode* node) +{ + ZYAN_ASSERT(list); + ZYAN_ASSERT(node); + + const ZyanBool is_dynamic = (list->allocator != ZYAN_NULL); + if (is_dynamic) + { + ZYAN_ASSERT(list->allocator->deallocate); + ZYAN_CHECK(list->allocator->deallocate(list->allocator, (void*)node, + sizeof(ZyanListNode) + list->element_size, 1)); + } else + { + node->next = list->first_unused; + list->first_unused = node; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constructor and destructor */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +ZYAN_REQUIRES_LIBC ZyanStatus ZyanListInit(ZyanList* list, ZyanUSize element_size, + ZyanMemberProcedure destructor) +{ + return ZyanListInitEx(list, element_size, destructor, ZyanAllocatorDefault()); +} + +#endif // ZYAN_NO_LIBC + +ZyanStatus ZyanListInitEx(ZyanList* list, ZyanUSize element_size, ZyanMemberProcedure destructor, + ZyanAllocator* allocator) +{ + if (!list || !element_size || !allocator) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + list->allocator = allocator; + list->size = 0; + list->element_size = element_size; + list->destructor = destructor; + list->head = ZYAN_NULL; + list->tail = ZYAN_NULL; + list->buffer = ZYAN_NULL; + list->capacity = 0; + list->first_unused = ZYAN_NULL; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListInitCustomBuffer(ZyanList* list, ZyanUSize element_size, + ZyanMemberProcedure destructor, void* buffer, ZyanUSize capacity) +{ + if (!list || !element_size || !buffer || !capacity) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + list->allocator = ZYAN_NULL; + list->size = 0; + list->element_size = element_size; + list->destructor = destructor; + list->head = ZYAN_NULL; + list->tail = ZYAN_NULL; + list->buffer = buffer; + list->capacity = capacity; + list->first_unused = ZYAN_NULL; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListDestroy(ZyanList* list) +{ + if (!list) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_ASSERT(list->element_size); + + const ZyanBool is_dynamic = (list->allocator != ZYAN_NULL); + ZyanListNode* node = (is_dynamic || list->destructor) ? list->head : ZYAN_NULL; + while (node) + { + if (list->destructor) + { + list->destructor(ZYCORE_LIST_GET_NODE_DATA(node)); + } + + ZyanListNode* const next = node->next; + + if (is_dynamic) + { + ZYAN_CHECK(list->allocator->deallocate(list->allocator, node, + sizeof(ZyanListNode) + list->element_size, 1)); + } + + node = next; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Duplication */ +/* ---------------------------------------------------------------------------------------------- */ + + + +/* ---------------------------------------------------------------------------------------------- */ +/* Item access */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanListGetHeadNode(const ZyanList* list, const ZyanListNode** node) +{ + if (!list) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *node = list->head; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListGetTailNode(const ZyanList* list, const ZyanListNode** node) +{ + if (!list) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *node = list->tail; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListGetPrevNode(const ZyanListNode** node) +{ + if (!node || !*node) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *node = (*node)->prev; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListGetNextNode(const ZyanListNode** node) +{ + if (!node || !*node) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *node = (*node)->next; + + return ZYAN_STATUS_SUCCESS; +} + +const void* ZyanListGetNodeData(const ZyanListNode* node) +{ + if (!node) + { + return ZYAN_NULL; + } + + return (const void*)ZYCORE_LIST_GET_NODE_DATA(node); +} + +ZyanStatus ZyanListGetNodeDataEx(const ZyanListNode* node, const void** value) +{ + if (!node) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *value = (const void*)ZYCORE_LIST_GET_NODE_DATA(node); + + return ZYAN_STATUS_SUCCESS; +} + +void* ZyanListGetNodeDataMutable(const ZyanListNode* node) +{ + if (!node) + { + return ZYAN_NULL; + } + + return ZYCORE_LIST_GET_NODE_DATA(node); +} + +ZyanStatus ZyanListGetNodeDataMutableEx(const ZyanListNode* node, void** value) +{ + if (!node) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *value = ZYCORE_LIST_GET_NODE_DATA(node); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListSetNodeData(const ZyanList* list, const ZyanListNode* node, const void* value) +{ + if (!list || !node || !value) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (list->destructor) + { + list->destructor(ZYCORE_LIST_GET_NODE_DATA(node)); + } + + ZYAN_ASSERT(list->element_size); + ZYAN_MEMCPY(ZYCORE_LIST_GET_NODE_DATA(node), value, list->element_size); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Insertion */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanListPushBack(ZyanList* list, const void* item) +{ + if (!list || !item) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanListNode* node; + ZYAN_CHECK(ZyanListAllocateNode(list, &node)); + node->prev = list->tail; + node->next = ZYAN_NULL; + + ZYAN_MEMCPY(ZYCORE_LIST_GET_NODE_DATA(node), item, list->element_size); + + if (!list->head) + { + list->head = node; + list->tail = node; + } else + { + list->tail->next = node; + list->tail = node; + } + ++list->size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListPushFront(ZyanList* list, const void* item) +{ + if (!list || !item) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanListNode* node; + ZYAN_CHECK(ZyanListAllocateNode(list, &node)); + node->prev = ZYAN_NULL; + node->next = list->head; + + ZYAN_MEMCPY(ZYCORE_LIST_GET_NODE_DATA(node), item, list->element_size); + + if (!list->head) + { + list->head = node; + list->tail = node; + } else + { + list->head->prev= node; + list->head = node; + } + ++list->size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListEmplaceBack(ZyanList* list, void** item, ZyanMemberFunction constructor) +{ + if (!list || !item) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanListNode* node; + ZYAN_CHECK(ZyanListAllocateNode(list, &node)); + node->prev = list->tail; + node->next = ZYAN_NULL; + + *item = ZYCORE_LIST_GET_NODE_DATA(node); + if (constructor) + { + constructor(*item); + } + + if (!list->head) + { + list->head = node; + list->tail = node; + } else + { + list->tail->next = node; + list->tail = node; + } + ++list->size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListEmplaceFront(ZyanList* list, void** item, ZyanMemberFunction constructor) +{ + if (!list || !item) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanListNode* node; + ZYAN_CHECK(ZyanListAllocateNode(list, &node)); + node->prev = ZYAN_NULL; + node->next = list->head; + + *item = ZYCORE_LIST_GET_NODE_DATA(node); + if (constructor) + { + constructor(*item); + } + + if (!list->head) + { + list->head = node; + list->tail = node; + } else + { + list->head->prev= node; + list->head = node; + } + ++list->size; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Deletion */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanListPopBack(ZyanList* list) +{ + if (!list) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (!list->tail) + { + return ZYAN_STATUS_INVALID_OPERATION; + } + + ZyanListNode* const node = list->tail; + + if (list->destructor) + { + list->destructor(ZYCORE_LIST_GET_NODE_DATA(node)); + } + + list->tail = node->prev; + if (list->tail) + { + list->tail->next = ZYAN_NULL; + } + if (list->head == node) + { + list->head = list->tail; + } + --list->size; + + return ZyanListDeallocateNode(list, node); +} + +ZyanStatus ZyanListPopFront(ZyanList* list) +{ + if (!list) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (!list->head) + { + return ZYAN_STATUS_INVALID_OPERATION; + } + + ZyanListNode* const node = list->head; + + if (list->destructor) + { + list->destructor(ZYCORE_LIST_GET_NODE_DATA(node)); + } + + list->head = node->next; + if (list->head) + { + list->head->prev = ZYAN_NULL; + } + if (list->tail == node) + { + list->tail = list->head; + } + --list->size; + + return ZyanListDeallocateNode(list, node); +} + +ZyanStatus ZyanListRemove(ZyanList* list, const ZyanListNode* node) +{ + ZYAN_UNUSED(list); + ZYAN_UNUSED(node); + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListRemoveRange(ZyanList* list, const ZyanListNode* first, const ZyanListNode* last) +{ + ZYAN_UNUSED(list); + ZYAN_UNUSED(first); + ZYAN_UNUSED(last); + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanListClear(ZyanList* list) +{ + return ZyanListResizeEx(list, 0, ZYAN_NULL); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Searching */ +/* ---------------------------------------------------------------------------------------------- */ + + + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanListResize(ZyanList* list, ZyanUSize size) +{ + return ZyanListResizeEx(list, size, ZYAN_NULL); +} + +ZyanStatus ZyanListResizeEx(ZyanList* list, ZyanUSize size, const void* initializer) +{ + if (!list) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (size == list->size) + { + return ZYAN_STATUS_SUCCESS; + } + + if (size == 0) + { + const ZyanBool is_dynamic = (list->allocator != ZYAN_NULL); + ZyanListNode* node = (is_dynamic || list->destructor) ? list->head : ZYAN_NULL; + while (node) + { + if (list->destructor) + { + list->destructor(ZYCORE_LIST_GET_NODE_DATA(node)); + } + + ZyanListNode* const next = node->next; + + if (is_dynamic) + { + ZYAN_CHECK(list->allocator->deallocate(list->allocator, node, + sizeof(ZyanListNode) + list->element_size, 1)); + } + + node = next; + } + + list->size = 0; + list->head = 0; + list->tail = 0; + list->first_unused = ZYAN_NULL; + + return ZYAN_STATUS_SUCCESS; + } + + if (size > list->size) + { + ZyanListNode* node; + for (ZyanUSize i = list->size; i < size; ++i) + { + ZYAN_CHECK(ZyanListAllocateNode(list, &node)); + node->prev = list->tail; + node->next = ZYAN_NULL; + + if (initializer) + { + ZYAN_MEMCPY(ZYCORE_LIST_GET_NODE_DATA(node), initializer, list->element_size); + } + + if (!list->head) + { + list->head = node; + list->tail = node; + } else + { + list->tail->next = node; + list->tail = node; + } + + // `ZyanListAllocateNode` needs the list size + ++list->size; + } + } else + { + for (ZyanUSize i = size; i < list->size; ++i) + { + ZyanListNode* const node = list->tail; + + if (list->destructor) + { + list->destructor(ZYCORE_LIST_GET_NODE_DATA(node)); + } + + list->tail = node->prev; + if (list->tail) + { + list->tail->next = ZYAN_NULL; + } + + ZYAN_CHECK(ZyanListDeallocateNode(list, node)); + } + + list->size = size; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanListGetSize(const ZyanList* list, ZyanUSize* size) +{ + if (!list) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *size = list->size; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/String.c b/externals/dynarmic/externals/zycore/src/String.c new file mode 100755 index 000000000..feeb04d04 --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/String.c @@ -0,0 +1,1098 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Internal macros */ +/* ============================================================================================== */ + +/** + * Writes a terminating '\0' character at the end of the string data. + */ +#define ZYCORE_STRING_NULLTERMINATE(string) \ + *(char*)((ZyanU8*)(string)->vector.data + (string)->vector.size - 1) = '\0'; + +/** + * Checks for a terminating '\0' character at the end of the string data. + */ +#define ZYCORE_STRING_ASSERT_NULLTERMINATION(string) \ + ZYAN_ASSERT(*(char*)((ZyanU8*)(string)->vector.data + (string)->vector.size - 1) == '\0'); + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constructor and destructor */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +ZyanStatus ZyanStringInit(ZyanString* string, ZyanUSize capacity) +{ + return ZyanStringInitEx(string, capacity, ZyanAllocatorDefault(), + ZYAN_STRING_DEFAULT_GROWTH_FACTOR, ZYAN_STRING_DEFAULT_SHRINK_THRESHOLD); +} + +#endif // ZYAN_NO_LIBC + +ZyanStatus ZyanStringInitEx(ZyanString* string, ZyanUSize capacity, ZyanAllocator* allocator, + float growth_factor, float shrink_threshold) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + string->flags = 0; + capacity = ZYAN_MAX(ZYAN_STRING_MIN_CAPACITY, capacity) + 1; + ZYAN_CHECK(ZyanVectorInitEx(&string->vector, sizeof(char), capacity, ZYAN_NULL, allocator, + growth_factor, shrink_threshold)); + ZYAN_ASSERT(string->vector.capacity >= capacity); + // Some of the string code relies on `sizeof(char) == 1` + ZYAN_ASSERT(string->vector.element_size == 1); + + *(char*)string->vector.data = '\0'; + ++string->vector.size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringInitCustomBuffer(ZyanString* string, char* buffer, ZyanUSize capacity) +{ + if (!string || !capacity) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + string->flags = ZYAN_STRING_HAS_FIXED_CAPACITY; + ZYAN_CHECK(ZyanVectorInitCustomBuffer(&string->vector, sizeof(char), (void*)buffer, capacity, + ZYAN_NULL)); + ZYAN_ASSERT(string->vector.capacity == capacity); + // Some of the string code relies on `sizeof(char) == 1` + ZYAN_ASSERT(string->vector.element_size == 1); + + *(char*)string->vector.data = '\0'; + ++string->vector.size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringDestroy(ZyanString* string) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (string->flags & ZYAN_STRING_HAS_FIXED_CAPACITY) + { + return ZYAN_STATUS_SUCCESS; + } + + return ZyanVectorDestroy(&string->vector); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Duplication */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +ZyanStatus ZyanStringDuplicate(ZyanString* destination, const ZyanStringView* source, + ZyanUSize capacity) +{ + return ZyanStringDuplicateEx(destination, source, capacity, ZyanAllocatorDefault(), + ZYAN_STRING_DEFAULT_GROWTH_FACTOR, ZYAN_STRING_DEFAULT_SHRINK_THRESHOLD); +} + +#endif // ZYAN_NO_LIBC + +ZyanStatus ZyanStringDuplicateEx(ZyanString* destination, const ZyanStringView* source, + ZyanUSize capacity, ZyanAllocator* allocator, float growth_factor, float shrink_threshold) +{ + if (!source || !source->string.vector.size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = source->string.vector.size; + capacity = ZYAN_MAX(capacity, len - 1); + ZYAN_CHECK(ZyanStringInitEx(destination, capacity, allocator, growth_factor, shrink_threshold)); + ZYAN_ASSERT(destination->vector.capacity >= len); + + ZYAN_MEMCPY(destination->vector.data, source->string.vector.data, + source->string.vector.size - 1); + destination->vector.size = len; + ZYCORE_STRING_NULLTERMINATE(destination); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringDuplicateCustomBuffer(ZyanString* destination, const ZyanStringView* source, + char* buffer, ZyanUSize capacity) +{ + if (!source || !source->string.vector.size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = source->string.vector.size; + if (capacity < len) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_CHECK(ZyanStringInitCustomBuffer(destination, buffer, capacity)); + ZYAN_ASSERT(destination->vector.capacity >= len); + + ZYAN_MEMCPY(destination->vector.data, source->string.vector.data, + source->string.vector.size - 1); + destination->vector.size = len; + ZYCORE_STRING_NULLTERMINATE(destination); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Concatenation */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +ZyanStatus ZyanStringConcat(ZyanString* destination, const ZyanStringView* s1, + const ZyanStringView* s2, ZyanUSize capacity) +{ + return ZyanStringConcatEx(destination, s1, s2, capacity, ZyanAllocatorDefault(), + ZYAN_STRING_DEFAULT_GROWTH_FACTOR, ZYAN_STRING_DEFAULT_SHRINK_THRESHOLD); +} + +#endif // ZYAN_NO_LIBC + +ZyanStatus ZyanStringConcatEx(ZyanString* destination, const ZyanStringView* s1, + const ZyanStringView* s2, ZyanUSize capacity, ZyanAllocator* allocator, float growth_factor, + float shrink_threshold) +{ + if (!s1 || !s2 || !s1->string.vector.size || !s2->string.vector.size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = s1->string.vector.size + s2->string.vector.size - 1; + capacity = ZYAN_MAX(capacity, len - 1); + ZYAN_CHECK(ZyanStringInitEx(destination, capacity, allocator, growth_factor, shrink_threshold)); + ZYAN_ASSERT(destination->vector.capacity >= len); + + ZYAN_MEMCPY(destination->vector.data, s1->string.vector.data, s1->string.vector.size - 1); + ZYAN_MEMCPY((char*)destination->vector.data + s1->string.vector.size - 1, + s2->string.vector.data, s2->string.vector.size - 1); + destination->vector.size = len; + ZYCORE_STRING_NULLTERMINATE(destination); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringConcatCustomBuffer(ZyanString* destination, const ZyanStringView* s1, + const ZyanStringView* s2, char* buffer, ZyanUSize capacity) +{ + if (!s1 || !s2 || !s1->string.vector.size || !s2->string.vector.size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = s1->string.vector.size + s2->string.vector.size - 1; + if (capacity < len) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_CHECK(ZyanStringInitCustomBuffer(destination, buffer, capacity)); + ZYAN_ASSERT(destination->vector.capacity >= len); + + ZYAN_MEMCPY(destination->vector.data, s1->string.vector.data, s1->string.vector.size - 1); + ZYAN_MEMCPY((char*)destination->vector.data + s1->string.vector.size - 1, + s2->string.vector.data, s2->string.vector.size - 1); + destination->vector.size = len; + ZYCORE_STRING_NULLTERMINATE(destination); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Views */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringViewInsideView(ZyanStringView* view, const ZyanStringView* source) +{ + if (!view || !source) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + view->string.vector.data = source->string.vector.data; + view->string.vector.size = source->string.vector.size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringViewInsideViewEx(ZyanStringView* view, const ZyanStringView* source, + ZyanUSize index, ZyanUSize count) +{ + if (!view || !source) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (index + count >= source->string.vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + view->string.vector.data = (void*)((char*)source->string.vector.data + index); + view->string.vector.size = count; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringViewInsideBuffer(ZyanStringView* view, const char* string) +{ + if (!view || !string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + view->string.vector.data = (void*)string; + view->string.vector.size = ZYAN_STRLEN(string) + 1; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringViewInsideBufferEx(ZyanStringView* view, const char* buffer, ZyanUSize length) +{ + if (!view || !buffer || !length) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + view->string.vector.data = (void*)buffer; + view->string.vector.size = length + 1; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringViewGetSize(const ZyanStringView* view, ZyanUSize* size) +{ + if (!view || !size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_ASSERT(view->string.vector.size >= 1); + *size = view->string.vector.size - 1; + + return ZYAN_STATUS_SUCCESS; +} + +ZYCORE_EXPORT ZyanStatus ZyanStringViewGetData(const ZyanStringView* view, const char** buffer) +{ + if (!view || !buffer) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *buffer = view->string.vector.data; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Character access */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringGetChar(const ZyanStringView* string, ZyanUSize index, char* value) +{ + if (!string || !value) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow direct access to the terminating '\0' character + if (index + 1 >= string->string.vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + const char* chr; + ZYAN_CHECK(ZyanVectorGetPointer(&string->string.vector, index, (const void**)&chr)); + *value = *chr; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringGetCharMutable(ZyanString* string, ZyanUSize index, char** value) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow direct access to the terminating '\0' character + if (index + 1 >= string->vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + return ZyanVectorGetPointerMutable(&string->vector, index, (void**)value); +} + +ZyanStatus ZyanStringSetChar(ZyanString* string, ZyanUSize index, char value) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow direct access to the terminating '\0' character + if (index + 1 >= string->vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + return ZyanVectorSet(&string->vector, index, (void*)&value); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Insertion */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringInsert(ZyanString* destination, ZyanUSize index, const ZyanStringView* source) +{ + if (!destination || !source || !source->string.vector.size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (index == destination->vector.size) + { + return ZyanStringAppend(destination, source); + } + + // Don't allow insertion after the terminating '\0' character + if (index >= destination->vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_CHECK(ZyanVectorInsertRange(&destination->vector, index, source->string.vector.data, + source->string.vector.size - 1)); + ZYCORE_STRING_ASSERT_NULLTERMINATION(destination); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringInsertEx(ZyanString* destination, ZyanUSize destination_index, + const ZyanStringView* source, ZyanUSize source_index, ZyanUSize count) +{ + if (!destination || !source || !source->string.vector.size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (destination_index == destination->vector.size) + { + return ZyanStringAppendEx(destination, source, source_index, count); + } + + // Don't allow insertion after the terminating '\0' character + if (destination_index >= destination->vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + // Don't allow access to the terminating '\0' character + if (source_index + count >= source->string.vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_CHECK(ZyanVectorInsertRange(&destination->vector, destination_index, + (char*)source->string.vector.data + source_index, count)); + ZYCORE_STRING_ASSERT_NULLTERMINATION(destination); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Appending */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringAppend(ZyanString* destination, const ZyanStringView* source) +{ + if (!destination || !source || !source->string.vector.size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = destination->vector.size; + ZYAN_CHECK(ZyanVectorResize(&destination->vector, len + source->string.vector.size - 1)); + ZYAN_MEMCPY((char*)destination->vector.data + len - 1, source->string.vector.data, + source->string.vector.size - 1); + ZYCORE_STRING_NULLTERMINATE(destination); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringAppendEx(ZyanString* destination, const ZyanStringView* source, + ZyanUSize source_index, ZyanUSize count) +{ + if (!destination || !source || !source->string.vector.size) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow access to the terminating '\0' character + if (source_index + count >= source->string.vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + const ZyanUSize len = destination->vector.size; + ZYAN_CHECK(ZyanVectorResize(&destination->vector, len + count)); + ZYAN_MEMCPY((char*)destination->vector.data + len - 1, + (const char*)source->string.vector.data + source_index, count); + ZYCORE_STRING_NULLTERMINATE(destination); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Deletion */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringDelete(ZyanString* string, ZyanUSize index, ZyanUSize count) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow removal of the terminating '\0' character + if (index + count >= string->vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_CHECK(ZyanVectorDeleteRange(&string->vector, index, count)); + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringTruncate(ZyanString* string, ZyanUSize index) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow removal of the terminating '\0' character + if (index >= string->vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_CHECK(ZyanVectorDeleteRange(&string->vector, index, string->vector.size - index - 1)); + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringClear(ZyanString* string) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_CHECK(ZyanVectorClear(&string->vector)); + // `ZyanVector` guarantees a minimum capacity of 1 element/character + ZYAN_ASSERT(string->vector.capacity >= 1); + + *(char*)string->vector.data = '\0'; + string->vector.size++; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Searching */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringLPos(const ZyanStringView* haystack, const ZyanStringView* needle, + ZyanISize* found_index) +{ + if (!haystack) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanStringLPosEx(haystack, needle, found_index, 0, haystack->string.vector.size - 1); +} + +ZyanStatus ZyanStringLPosEx(const ZyanStringView* haystack, const ZyanStringView* needle, + ZyanISize* found_index, ZyanUSize index, ZyanUSize count) +{ + if (!haystack || !needle || !found_index) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow access to the terminating '\0' character + if (index + count >= haystack->string.vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if ((haystack->string.vector.size == 1) || (needle->string.vector.size == 1) || + (haystack->string.vector.size < needle->string.vector.size)) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + + const char* s = (const char*)haystack->string.vector.data + index; + const char* b = (const char*)needle->string.vector.data; + for (; s + 1 < (const char*)haystack->string.vector.data + haystack->string.vector.size; ++s) + { + if (*s != *b) + { + continue; + } + const char* a = s; + for (;;) + { + if ((ZyanUSize)(a - (const char*)haystack->string.vector.data) > index + count) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + if (*b == 0) + { + *found_index = (ZyanISize)(s - (const char*)haystack->string.vector.data); + return ZYAN_STATUS_TRUE; + } + if (*a++ != *b++) + { + break; + } + } + b = (char*)needle->string.vector.data; + } + + *found_index = -1; + return ZYAN_STATUS_FALSE; +} + +ZyanStatus ZyanStringLPosI(const ZyanStringView* haystack, const ZyanStringView* needle, + ZyanISize* found_index) +{ + if (!haystack) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanStringLPosIEx(haystack, needle, found_index, 0, haystack->string.vector.size - 1); +} + +ZyanStatus ZyanStringLPosIEx(const ZyanStringView* haystack, const ZyanStringView* needle, + ZyanISize* found_index, ZyanUSize index, ZyanUSize count) +{ + // This solution assumes that characters are represented using ASCII representation, i.e., + // codes for 'a', 'b', 'c', .. 'z' are 97, 98, 99, .. 122 respectively. And codes for 'A', + // 'B', 'C', .. 'Z' are 65, 66, .. 95 respectively. + + if (!haystack || !needle || !found_index) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow access to the terminating '\0' character + if (index + count >= haystack->string.vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if ((haystack->string.vector.size == 1) || (needle->string.vector.size == 1) || + (haystack->string.vector.size < needle->string.vector.size)) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + + const char* s = (const char*)haystack->string.vector.data + index; + const char* b = (const char*)needle->string.vector.data; + for (; s + 1 < (const char*)haystack->string.vector.data + haystack->string.vector.size; ++s) + { + if ((*s != *b) && ((*s ^ 32) != *b)) + { + continue; + } + const char* a = s; + for (;;) + { + if ((ZyanUSize)(a - (const char*)haystack->string.vector.data) > index + count) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + if (*b == 0) + { + *found_index = (ZyanISize)(s - (const char*)haystack->string.vector.data); + return ZYAN_STATUS_TRUE; + } + const char c1 = *a++; + const char c2 = *b++; + if ((c1 != c2) && ((c1 ^ 32) != c2)) + { + break; + } + } + b = (char*)needle->string.vector.data; + } + + *found_index = -1; + return ZYAN_STATUS_FALSE; +} + +ZyanStatus ZyanStringRPos(const ZyanStringView* haystack, const ZyanStringView* needle, + ZyanISize* found_index) +{ + if (!haystack) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanStringRPosEx(haystack, needle, found_index, haystack->string.vector.size - 1, + haystack->string.vector.size - 1); +} + +ZyanStatus ZyanStringRPosEx(const ZyanStringView* haystack, const ZyanStringView* needle, + ZyanISize* found_index, ZyanUSize index, ZyanUSize count) +{ + if (!haystack || !needle || !found_index) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow access to the terminating '\0' character + if ((index >= haystack->string.vector.size) || (count > index)) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if (!index || !count || + (haystack->string.vector.size == 1) || (needle->string.vector.size == 1) || + (haystack->string.vector.size < needle->string.vector.size)) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + + const char* s = (const char*)haystack->string.vector.data + index - 1; + const char* b = (const char*)needle->string.vector.data + needle->string.vector.size - 2; + for (; s >= (const char*)haystack->string.vector.data; --s) + { + if (*s != *b) + { + continue; + } + const char* a = s; + for (;;) + { + if (b < (const char*)needle->string.vector.data) + { + *found_index = (ZyanISize)(a - (const char*)haystack->string.vector.data + 1); + return ZYAN_STATUS_TRUE; + } + if (a < (const char*)haystack->string.vector.data + index - count) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + if (*a-- != *b--) + { + break; + } + } + b = (char*)needle->string.vector.data + needle->string.vector.size - 2; + } + + *found_index = -1; + return ZYAN_STATUS_FALSE; +} + +ZyanStatus ZyanStringRPosI(const ZyanStringView* haystack, const ZyanStringView* needle, + ZyanISize* found_index) +{ + if (!haystack) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanStringRPosIEx(haystack, needle, found_index, haystack->string.vector.size - 1, + haystack->string.vector.size - 1); +} + +ZyanStatus ZyanStringRPosIEx(const ZyanStringView* haystack, const ZyanStringView* needle, + ZyanISize* found_index, ZyanUSize index, ZyanUSize count) +{ + // This solution assumes that characters are represented using ASCII representation, i.e., + // codes for 'a', 'b', 'c', .. 'z' are 97, 98, 99, .. 122 respectively. And codes for 'A', + // 'B', 'C', .. 'Z' are 65, 66, .. 95 respectively. + + if (!haystack || !needle || !found_index) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow access to the terminating '\0' character + if ((index >= haystack->string.vector.size) || (count > index)) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if (!index || !count || + (haystack->string.vector.size == 1) || (needle->string.vector.size == 1) || + (haystack->string.vector.size < needle->string.vector.size)) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + + const char* s = (const char*)haystack->string.vector.data + index - 1; + const char* b = (const char*)needle->string.vector.data + needle->string.vector.size - 2; + for (; s >= (const char*)haystack->string.vector.data; --s) + { + if ((*s != *b) && ((*s ^ 32) != *b)) + { + continue; + } + const char* a = s; + for (;;) + { + if (b < (const char*)needle->string.vector.data) + { + *found_index = (ZyanISize)(a - (const char*)haystack->string.vector.data + 1); + return ZYAN_STATUS_TRUE; + } + if (a < (const char*)haystack->string.vector.data + index - count) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + const char c1 = *a--; + const char c2 = *b--; + if ((c1 != c2) && ((c1 ^ 32) != c2)) + { + break; + } + } + b = (char*)needle->string.vector.data + needle->string.vector.size - 2; + } + + *found_index = -1; + return ZYAN_STATUS_FALSE; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Comparing */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringCompare(const ZyanStringView* s1, const ZyanStringView* s2, ZyanI32* result) +{ + if (!s1 || !s2) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (s1->string.vector.size < s2->string.vector.size) + { + *result = -1; + return ZYAN_STATUS_FALSE; + } + if (s1->string.vector.size > s2->string.vector.size) + { + *result = 1; + return ZYAN_STATUS_FALSE; + } + + const char* const a = (char*)s1->string.vector.data; + const char* const b = (char*)s2->string.vector.data; + ZyanUSize i; + for (i = 0; (i + 1 < s1->string.vector.size) && (i + 1 < s2->string.vector.size); ++i) + { + if (a[i] == b[i]) + { + continue; + } + break; + } + + if (a[i] == b[i]) + { + *result = 0; + return ZYAN_STATUS_TRUE; + } + + if ((a[i] | 32) < (b[i] | 32)) + { + *result = -1; + return ZYAN_STATUS_FALSE; + } + + *result = 1; + return ZYAN_STATUS_FALSE; +} + +ZyanStatus ZyanStringCompareI(const ZyanStringView* s1, const ZyanStringView* s2, ZyanI32* result) +{ + // This solution assumes that characters are represented using ASCII representation, i.e., + // codes for 'a', 'b', 'c', .. 'z' are 97, 98, 99, .. 122 respectively. And codes for 'A', + // 'B', 'C', .. 'Z' are 65, 66, .. 95 respectively. + + if (!s1 || !s2) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (s1->string.vector.size < s2->string.vector.size) + { + *result = -1; + return ZYAN_STATUS_FALSE; + } + if (s1->string.vector.size > s2->string.vector.size) + { + *result = 1; + return ZYAN_STATUS_FALSE; + } + + const char* const a = (char*)s1->string.vector.data; + const char* const b = (char*)s2->string.vector.data; + ZyanUSize i; + for (i = 0; (i + 1 < s1->string.vector.size) && (i + 1 < s2->string.vector.size); ++i) + { + if ((a[i] == b[i]) || ((a[i] ^ 32) == b[i])) + { + continue; + } + break; + } + + if (a[i] == b[i]) + { + *result = 0; + return ZYAN_STATUS_TRUE; + } + + if ((a[i] | 32) < (b[i] | 32)) + { + *result = -1; + return ZYAN_STATUS_FALSE; + } + + *result = 1; + return ZYAN_STATUS_FALSE; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Case conversion */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringToLowerCase(ZyanString* string) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanStringToLowerCaseEx(string, 0, string->vector.size - 1); +} + +ZyanStatus ZyanStringToLowerCaseEx(ZyanString* string, ZyanUSize index, ZyanUSize count) +{ + // This solution assumes that characters are represented using ASCII representation, i.e., + // codes for 'a', 'b', 'c', .. 'z' are 97, 98, 99, .. 122 respectively. And codes for 'A', + // 'B', 'C', .. 'Z' are 65, 66, .. 95 respectively. + + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow access to the terminating '\0' character + if (index + count >= string->vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + char* s = (char*)string->vector.data + index; + for (ZyanUSize i = index; i < index + count; ++i) + { + const char c = *s; + if ((c >= 'A') && (c <= 'Z')) + { + *s = c | 32; + } + ++s; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringToUpperCase(ZyanString* string) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanStringToUpperCaseEx(string, 0, string->vector.size - 1); +} + +ZyanStatus ZyanStringToUpperCaseEx(ZyanString* string, ZyanUSize index, ZyanUSize count) +{ + // This solution assumes that characters are represented using ASCII representation, i.e., + // codes for 'a', 'b', 'c', .. 'z' are 97, 98, 99, .. 122 respectively. And codes for 'A', + // 'B', 'C', .. 'Z' are 65, 66, .. 95 respectively. + + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Don't allow access to the terminating '\0' character + if (index + count >= string->vector.size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + char* s = (char*)string->vector.data + index; + for (ZyanUSize i = index; i < index + count; ++i) + { + const char c = *s; + if ((c >= 'a') && (c <= 'z')) + { + *s = c & ~32; + } + ++s; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringResize(ZyanString* string, ZyanUSize size) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_CHECK(ZyanVectorResize(&string->vector, size + 1)); + ZYCORE_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringReserve(ZyanString* string, ZyanUSize capacity) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorReserve(&string->vector, capacity); +} + +ZyanStatus ZyanStringShrinkToFit(ZyanString* string) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorShrinkToFit(&string->vector); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanStringGetCapacity(const ZyanString* string, ZyanUSize* capacity) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_ASSERT(string->vector.capacity >= 1); + *capacity = string->vector.capacity - 1; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringGetSize(const ZyanString* string, ZyanUSize* size) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_ASSERT(string->vector.size >= 1); + *size = string->vector.size - 1; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanStringGetData(const ZyanString* string, const char** value) +{ + if (!string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *value = string->vector.data; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/Vector.c b/externals/dynarmic/externals/zycore/src/Vector.c new file mode 100755 index 000000000..6b8d67c4a --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/Vector.c @@ -0,0 +1,848 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Internal macros */ +/* ============================================================================================== */ + +/** + * Checks, if the passed vector should grow. + * + * @param size The desired size of the vector. + * @param capacity The current capacity of the vector. + * + * @return `ZYAN_TRUE`, if the vector should grow or `ZYAN_FALSE`, if not. + */ +#define ZYCORE_VECTOR_SHOULD_GROW(size, capacity) \ + ((size) > (capacity)) + +/** + * Checks, if the passed vector should shrink. + * + * @param size The desired size of the vector. + * @param capacity The current capacity of the vector. + * @param threshold The shrink threshold. + * + * @return `ZYAN_TRUE`, if the vector should shrink or `ZYAN_FALSE`, if not. + */ +#define ZYCORE_VECTOR_SHOULD_SHRINK(size, capacity, threshold) \ + ((size) < (capacity) * (threshold)) + +/** + * Returns the offset of the element at the given `index`. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The element index. + * + * @return The offset of the element at the given `index`. + */ +#define ZYCORE_VECTOR_OFFSET(vector, index) \ + ((void*)((ZyanU8*)(vector)->data + ((index) * (vector)->element_size))) + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Reallocates the internal buffer of the vector. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param capacity The new capacity. + * + * @return A zyan status code. + */ +static ZyanStatus ZyanVectorReallocate(ZyanVector* vector, ZyanUSize capacity) +{ + ZYAN_ASSERT(vector); + ZYAN_ASSERT(vector->capacity >= ZYAN_VECTOR_MIN_CAPACITY); + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + if (!vector->allocator) + { + if (vector->capacity < capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + return ZYAN_STATUS_SUCCESS; + } + + ZYAN_ASSERT(vector->allocator); + ZYAN_ASSERT(vector->allocator->reallocate); + + if (capacity < ZYAN_VECTOR_MIN_CAPACITY) + { + if (vector->capacity > ZYAN_VECTOR_MIN_CAPACITY) + { + capacity = ZYAN_VECTOR_MIN_CAPACITY; + } else + { + return ZYAN_STATUS_SUCCESS; + } + } + + vector->capacity = capacity; + ZYAN_CHECK(vector->allocator->reallocate(vector->allocator, &vector->data, + vector->element_size, vector->capacity)); + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Shifts all elements starting at the specified `index` by the amount of + * `count` to the left. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The start index. + * @param count The amount of shift operations. + * + * @return A zyan status code. + */ +static ZyanStatus ZyanVectorShiftLeft(ZyanVector* vector, ZyanUSize index, ZyanUSize count) +{ + ZYAN_ASSERT(vector); + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + ZYAN_ASSERT(count > 0); + //ZYAN_ASSERT((ZyanISize)count - (ZyanISize)index + 1 >= 0); + + void* const source = ZYCORE_VECTOR_OFFSET(vector, index + count); + void* const dest = ZYCORE_VECTOR_OFFSET(vector, index); + const ZyanUSize size = (vector->size - index - count) * vector->element_size; + ZYAN_MEMMOVE(dest, source, size); + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Shifts all elements starting at the specified `index` by the amount of + * `count` to the right. + * + * @param vector A pointer to the `ZyanVector` instance. + * @param index The start index. + * @param count The amount of shift operations. + * + * @return A zyan status code. + */ +static ZyanStatus ZyanVectorShiftRight(ZyanVector* vector, ZyanUSize index, ZyanUSize count) +{ + ZYAN_ASSERT(vector); + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + ZYAN_ASSERT(count > 0); + ZYAN_ASSERT(vector->size + count <= vector->capacity); + + void* const source = ZYCORE_VECTOR_OFFSET(vector, index); + void* const dest = ZYCORE_VECTOR_OFFSET(vector, index + count); + const ZyanUSize size = (vector->size - index) * vector->element_size; + ZYAN_MEMMOVE(dest, source, size); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constructor and destructor */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +ZyanStatus ZyanVectorInit(ZyanVector* vector, ZyanUSize element_size, ZyanUSize capacity, + ZyanMemberProcedure destructor) +{ + return ZyanVectorInitEx(vector, element_size, capacity, destructor, ZyanAllocatorDefault(), + ZYAN_VECTOR_DEFAULT_GROWTH_FACTOR, ZYAN_VECTOR_DEFAULT_SHRINK_THRESHOLD); +} + +#endif // ZYAN_NO_LIBC + +ZyanStatus ZyanVectorInitEx(ZyanVector* vector, ZyanUSize element_size, ZyanUSize capacity, + ZyanMemberProcedure destructor, ZyanAllocator* allocator, float growth_factor, + float shrink_threshold) +{ + if (!vector || !element_size || !allocator || (growth_factor < 1.0f) || + (shrink_threshold < 0.0f) || (shrink_threshold > 1.0f)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_ASSERT(allocator->allocate); + + vector->allocator = allocator; + vector->growth_factor = growth_factor; + vector->shrink_threshold = shrink_threshold; + vector->size = 0; + vector->capacity = ZYAN_MAX(ZYAN_VECTOR_MIN_CAPACITY, capacity); + vector->element_size = element_size; + vector->destructor = destructor; + vector->data = ZYAN_NULL; + + return allocator->allocate(vector->allocator, &vector->data, vector->element_size, + vector->capacity); +} + +ZyanStatus ZyanVectorInitCustomBuffer(ZyanVector* vector, ZyanUSize element_size, + void* buffer, ZyanUSize capacity, ZyanMemberProcedure destructor) +{ + if (!vector || !element_size || !buffer || !capacity) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + vector->allocator = ZYAN_NULL; + vector->growth_factor = 1.0f; + vector->shrink_threshold = 0.0f; + vector->size = 0; + vector->capacity = capacity; + vector->element_size = element_size; + vector->destructor = destructor; + vector->data = buffer; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorDestroy(ZyanVector* vector) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + if (vector->destructor) + { + for (ZyanUSize i = 0; i < vector->size; ++i) + { + vector->destructor(ZYCORE_VECTOR_OFFSET(vector, i)); + } + } + + if (vector->allocator && vector->capacity) + { + ZYAN_ASSERT(vector->allocator->deallocate); + ZYAN_CHECK(vector->allocator->deallocate(vector->allocator, vector->data, + vector->element_size, vector->capacity)); + } + + vector->data = ZYAN_NULL; + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Duplication */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYAN_NO_LIBC + +ZyanStatus ZyanVectorDuplicate(ZyanVector* destination, const ZyanVector* source, + ZyanUSize capacity) +{ + return ZyanVectorDuplicateEx(destination, source, capacity, ZyanAllocatorDefault(), + ZYAN_VECTOR_DEFAULT_GROWTH_FACTOR, ZYAN_VECTOR_DEFAULT_SHRINK_THRESHOLD); +} + +#endif // ZYAN_NO_LIBC + +ZyanStatus ZyanVectorDuplicateEx(ZyanVector* destination, const ZyanVector* source, + ZyanUSize capacity, ZyanAllocator* allocator, float growth_factor, float shrink_threshold) +{ + if (!source) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = source->size; + + capacity = ZYAN_MAX(capacity, len); + ZYAN_CHECK(ZyanVectorInitEx(destination, source->element_size, capacity, source->destructor, + allocator, growth_factor, shrink_threshold)); + ZYAN_ASSERT(destination->capacity >= len); + + ZYAN_MEMCPY(destination->data, source->data, len * source->element_size); + destination->size = len; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorDuplicateCustomBuffer(ZyanVector* destination, const ZyanVector* source, + void* buffer, ZyanUSize capacity) +{ + if (!source) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanUSize len = source->size; + + if (capacity < len) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_CHECK(ZyanVectorInitCustomBuffer(destination, source->element_size, buffer, capacity, + source->destructor)); + ZYAN_ASSERT(destination->capacity >= len); + + ZYAN_MEMCPY(destination->data, source->data, len * source->element_size); + destination->size = len; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Element access */ +/* ---------------------------------------------------------------------------------------------- */ + +const void* ZyanVectorGet(const ZyanVector* vector, ZyanUSize index) +{ + if (!vector || (index >= vector->size)) + { + return ZYAN_NULL; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + return ZYCORE_VECTOR_OFFSET(vector, index); +} + +void* ZyanVectorGetMutable(const ZyanVector* vector, ZyanUSize index) +{ + if (!vector || (index >= vector->size)) + { + return ZYAN_NULL; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + return ZYCORE_VECTOR_OFFSET(vector, index); +} + +ZyanStatus ZyanVectorGetPointer(const ZyanVector* vector, ZyanUSize index, const void** value) +{ + if (!vector || !value) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index >= vector->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + *value = (const void*)ZYCORE_VECTOR_OFFSET(vector, index); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorGetPointerMutable(const ZyanVector* vector, ZyanUSize index, void** value) +{ + if (!vector || !value) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index >= vector->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + *value = ZYCORE_VECTOR_OFFSET(vector, index); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorSet(ZyanVector* vector, ZyanUSize index, const void* value) +{ + if (!vector || !value) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index >= vector->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + void* const offset = ZYCORE_VECTOR_OFFSET(vector, index); + if (vector->destructor) + { + vector->destructor(offset); + } + ZYAN_MEMCPY(offset, value, vector->element_size); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Insertion */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanVectorPushBack(ZyanVector* vector, const void* element) +{ + if (!vector || !element) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + if (ZYCORE_VECTOR_SHOULD_GROW(vector->size + 1, vector->capacity)) + { + ZYAN_CHECK(ZyanVectorReallocate(vector, + ZYAN_MAX(1, (ZyanUSize)((vector->size + 1) * vector->growth_factor)))); + } + + void* const offset = ZYCORE_VECTOR_OFFSET(vector, vector->size); + ZYAN_MEMCPY(offset, element, vector->element_size); + + ++vector->size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorInsert(ZyanVector* vector, ZyanUSize index, const void* element) +{ + return ZyanVectorInsertRange(vector, index, element, 1); +} + +ZyanStatus ZyanVectorInsertRange(ZyanVector* vector, ZyanUSize index, const void* elements, + ZyanUSize count) +{ + if (!vector || !elements || !count) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index > vector->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + if (ZYCORE_VECTOR_SHOULD_GROW(vector->size + count, vector->capacity)) + { + ZYAN_CHECK(ZyanVectorReallocate(vector, + ZYAN_MAX(1, (ZyanUSize)((vector->size + count) * vector->growth_factor)))); + } + + if (index < vector->size) + { + ZYAN_CHECK(ZyanVectorShiftRight(vector, index, count)); + } + + void* const offset = ZYCORE_VECTOR_OFFSET(vector, index); + ZYAN_MEMCPY(offset, elements, count * vector->element_size); + vector->size += count; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorEmplace(ZyanVector* vector, void** element, ZyanMemberFunction constructor) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorEmplaceEx(vector, vector->size, element, constructor); +} + +ZyanStatus ZyanVectorEmplaceEx(ZyanVector* vector, ZyanUSize index, void** element, + ZyanMemberFunction constructor) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index > vector->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + if (ZYCORE_VECTOR_SHOULD_GROW(vector->size + 1, vector->capacity)) + { + ZYAN_CHECK(ZyanVectorReallocate(vector, + ZYAN_MAX(1, (ZyanUSize)((vector->size + 1) * vector->growth_factor)))); + } + + if (index < vector->size) + { + ZYAN_CHECK(ZyanVectorShiftRight(vector, index, 1)); + } + + *element = ZYCORE_VECTOR_OFFSET(vector, index); + if (constructor) + { + ZYAN_CHECK(constructor(*element)); + } + + ++vector->size; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Utils */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanVectorSwapElements(ZyanVector* vector, ZyanUSize index_first, ZyanUSize index_second) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if ((index_first >= vector->size) || (index_second >= vector->size)) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if (vector->size == vector->capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + ZyanU64* const t = ZYCORE_VECTOR_OFFSET(vector, vector->size); + ZyanU64* const a = ZYCORE_VECTOR_OFFSET(vector, index_first); + ZyanU64* const b = ZYCORE_VECTOR_OFFSET(vector, index_second); + ZYAN_MEMCPY(t, a, vector->element_size); + ZYAN_MEMCPY(a, b, vector->element_size); + ZYAN_MEMCPY(b, t, vector->element_size); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Deletion */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanVectorDelete(ZyanVector* vector, ZyanUSize index) +{ + return ZyanVectorDeleteRange(vector, index, 1); +} + +ZyanStatus ZyanVectorDeleteRange(ZyanVector* vector, ZyanUSize index, ZyanUSize count) +{ + if (!vector || !count) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (index + count > vector->size) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if (vector->destructor) + { + for (ZyanUSize i = index; i < index + count; ++i) + { + vector->destructor(ZYCORE_VECTOR_OFFSET(vector, i)); + } + } + + if (index + count < vector->size) + { + ZYAN_CHECK(ZyanVectorShiftLeft(vector, index, count)); + } + + vector->size -= count; + if (ZYCORE_VECTOR_SHOULD_SHRINK(vector->size, vector->capacity, vector->shrink_threshold)) + { + return ZyanVectorReallocate(vector, + ZYAN_MAX(1, (ZyanUSize)(vector->size * vector->growth_factor))); + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorPopBack(ZyanVector* vector) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (vector->size == 0) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if (vector->destructor) + { + vector->destructor(ZYCORE_VECTOR_OFFSET(vector, vector->size - 1)); + } + + --vector->size; + if (ZYCORE_VECTOR_SHOULD_SHRINK(vector->size, vector->capacity, vector->shrink_threshold)) + { + return ZyanVectorReallocate(vector, + ZYAN_MAX(1, (ZyanUSize)(vector->size * vector->growth_factor))); + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorClear(ZyanVector* vector) +{ + return ZyanVectorResizeEx(vector, 0, ZYAN_NULL); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Searching */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanVectorFind(const ZyanVector* vector, const void* element, ZyanISize* found_index, + ZyanEqualityComparison comparison) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorFindEx(vector, element, found_index, comparison, 0, vector->size); +} + +ZyanStatus ZyanVectorFindEx(const ZyanVector* vector, const void* element, ZyanISize* found_index, + ZyanEqualityComparison comparison, ZyanUSize index, ZyanUSize count) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if ((index + count > vector->size) || (index == vector->size)) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if (!count) + { + *found_index = -1; + return ZYAN_STATUS_FALSE; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + for (ZyanUSize i = index; i < index + count; ++i) + { + if (comparison(ZYCORE_VECTOR_OFFSET(vector, i), element)) + { + *found_index = i; + return ZYAN_STATUS_TRUE; + } + } + + *found_index = -1; + return ZYAN_STATUS_FALSE; +} + +ZyanStatus ZyanVectorBinarySearch(const ZyanVector* vector, const void* element, + ZyanUSize* found_index, ZyanComparison comparison) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorBinarySearchEx(vector, element, found_index, comparison, 0, vector->size); +} + +ZyanStatus ZyanVectorBinarySearchEx(const ZyanVector* vector, const void* element, + ZyanUSize* found_index, ZyanComparison comparison, ZyanUSize index, ZyanUSize count) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (((index >= vector->size) && (count > 0)) || (index + count > vector->size)) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + + if (!count) + { + *found_index = index; + return ZYAN_STATUS_FALSE; + } + + ZYAN_ASSERT(vector->element_size); + ZYAN_ASSERT(vector->data); + + ZyanStatus status = ZYAN_STATUS_FALSE; + ZyanISize l = index; + ZyanISize h = index + count - 1; + while (l <= h) + { + const ZyanUSize mid = l + ((h - l) >> 1); + const ZyanI32 cmp = comparison(ZYCORE_VECTOR_OFFSET(vector, mid), element); + if (cmp < 0) + { + l = mid + 1; + } else + { + h = mid - 1; + if (cmp == 0) + { + status = ZYAN_STATUS_TRUE; + } + } + } + + *found_index = l; + return status; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory management */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanVectorResize(ZyanVector* vector, ZyanUSize size) +{ + return ZyanVectorResizeEx(vector, size, ZYAN_NULL); +} + +ZyanStatus ZyanVectorResizeEx(ZyanVector* vector, ZyanUSize size, const void* initializer) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (size == vector->size) + { + return ZYAN_STATUS_SUCCESS; + } + + if (vector->destructor && (size < vector->size)) + { + for (ZyanUSize i = size; i < vector->size; ++i) + { + vector->destructor(ZYCORE_VECTOR_OFFSET(vector, i)); + } + } + + if (ZYCORE_VECTOR_SHOULD_GROW(size, vector->capacity) || + ZYCORE_VECTOR_SHOULD_SHRINK(size, vector->capacity, vector->shrink_threshold)) + { + ZYAN_CHECK(ZyanVectorReallocate(vector, (ZyanUSize)(size * vector->growth_factor))); + }; + + if (initializer && (size > vector->size)) + { + for (ZyanUSize i = vector->size; i < size; ++i) + { + ZYAN_MEMCPY(ZYCORE_VECTOR_OFFSET(vector, i), initializer, vector->element_size); + } + } + + vector->size = size; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorReserve(ZyanVector* vector, ZyanUSize capacity) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (capacity > vector->capacity) + { + ZYAN_CHECK(ZyanVectorReallocate(vector, capacity)); + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorShrinkToFit(ZyanVector* vector) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZyanVectorReallocate(vector, vector->size); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Information */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZyanVectorGetCapacity(const ZyanVector* vector, ZyanUSize* capacity) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *capacity = vector->capacity; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZyanVectorGetSize(const ZyanVector* vector, ZyanUSize* size) +{ + if (!vector) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *size = vector->size; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/src/Zycore.c b/externals/dynarmic/externals/zycore/src/Zycore.c new file mode 100755 index 000000000..9bbb20024 --- /dev/null +++ b/externals/dynarmic/externals/zycore/src/Zycore.c @@ -0,0 +1,38 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +ZyanU64 ZycoreGetVersion(void) +{ + return ZYCORE_VERSION; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/tests/ArgParse.cpp b/externals/dynarmic/externals/zycore/tests/ArgParse.cpp new file mode 100755 index 000000000..612a5dd9e --- /dev/null +++ b/externals/dynarmic/externals/zycore/tests/ArgParse.cpp @@ -0,0 +1,320 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief Tests the the arg parse implementation. + */ + +#include + +#include +#include +#include + +/* ============================================================================================== */ +/* Helpers */ +/* ============================================================================================== */ + +auto cvt_string_view(const ZyanStringView *sv) +{ + const char* buf; + if (ZYAN_FAILED(ZyanStringViewGetData(sv, &buf))) throw std::exception{}; + ZyanUSize len; + if (ZYAN_FAILED(ZyanStringViewGetSize(sv, &len))) throw std::exception{}; + + return std::string_view{buf, len}; +} + +/* ============================================================================================== */ +/* Tests */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Unnamed args */ +/* ---------------------------------------------------------------------------------------------- */ + +static auto UnnamedArgTest(ZyanU64 min, ZyanU64 max) +{ + const char* argv[] + { + "./test", "a", "xxx" + }; + + ZyanArgParseConfig cfg + { + argv, // argv + 3, // argc + min, // min_unnamed_args + max, // max_unnamed_args + nullptr // args + }; + + ZyanVector parsed; + const char* err_tok = nullptr; + ZYAN_MEMSET(&parsed, 0, sizeof(parsed)); + auto status = ZyanArgParse(&cfg, &parsed, &err_tok); + return std::make_tuple(status, parsed, err_tok); +} + +TEST(UnnamedArgs, TooFew) +{ + auto [status, parsed, err_tok] = UnnamedArgTest(5, 5); + ASSERT_EQ(status, ZYAN_STATUS_TOO_FEW_ARGS); + ASSERT_STREQ(err_tok, nullptr); +} + +TEST(UnnamedArgs, TooMany) +{ + auto [status, parsed, err_tok] = UnnamedArgTest(1, 1); + ASSERT_EQ(status, ZYAN_STATUS_TOO_MANY_ARGS); + ASSERT_STREQ(err_tok, "xxx"); +} + +TEST(UnnamedArgs, PerfectFit) +{ + auto [status, parsed, err_tok] = UnnamedArgTest(2, 2); + ASSERT_TRUE(ZYAN_SUCCESS(status)); + + ZyanUSize size; + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetSize(&parsed, &size))); + ASSERT_EQ(size, 2); + + auto arg = (const ZyanArgParseArg*)ZyanVectorGet(&parsed, 0); + ASSERT_NE(arg, nullptr); + ASSERT_TRUE(arg->has_value); + ASSERT_EQ(cvt_string_view(&arg->value), "a"); + + arg = (const ZyanArgParseArg*)ZyanVectorGet(&parsed, 1); + ASSERT_NE(arg, nullptr); + ASSERT_TRUE(arg->has_value); + ASSERT_EQ(cvt_string_view(&arg->value), "xxx"); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Dash args */ +/* ---------------------------------------------------------------------------------------------- */ + +TEST(DashArg, MixedBoolAndValueArgs) +{ + const char* argv[] + { + "./test", "-aio42", "-n", "xxx" + }; + + ZyanArgParseDefinition args[] + { + {"-o", ZYAN_FALSE, ZYAN_FALSE}, + {"-a", ZYAN_TRUE, ZYAN_FALSE}, + {"-n", ZYAN_FALSE, ZYAN_FALSE}, + {"-i", ZYAN_TRUE, ZYAN_FALSE}, + {nullptr, ZYAN_FALSE, ZYAN_FALSE} + }; + + ZyanArgParseConfig cfg + { + argv, // argv + 4, // argc + 0, // min_unnamed_args + 0, // max_unnamed_args + args // args + }; + + ZyanVector parsed; + ZYAN_MEMSET(&parsed, 0, sizeof(parsed)); + auto status = ZyanArgParse(&cfg, &parsed, nullptr); + ASSERT_TRUE(ZYAN_SUCCESS(status)); + + ZyanUSize size; + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetSize(&parsed, &size))); + ASSERT_EQ(size, 4); + + const ZyanArgParseArg* arg; + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 0, (const void**)&arg))); + ASSERT_STREQ(arg->def->name, "-a"); + ASSERT_FALSE(arg->has_value); + + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 1, (const void**)&arg))); + ASSERT_STREQ(arg->def->name, "-i"); + ASSERT_FALSE(arg->has_value); + + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 2, (const void**)&arg))); + ASSERT_STREQ(arg->def->name, "-o"); + ASSERT_TRUE(arg->has_value); + ASSERT_EQ(cvt_string_view(&arg->value), "42"); + + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 3, (const void**)&arg))); + ASSERT_STREQ(arg->def->name, "-n"); + ASSERT_TRUE(arg->has_value); + ASSERT_EQ(cvt_string_view(&arg->value), "xxx"); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Double dash args */ +/* ---------------------------------------------------------------------------------------------- */ + +TEST(DoubleDashArg, PerfectFit) +{ + const char* argv[] + { + "./test", "--help", "--stuff", "1337" + }; + + ZyanArgParseDefinition args[] + { + {"--help", ZYAN_TRUE, ZYAN_FALSE}, + {"--stuff", ZYAN_FALSE, ZYAN_FALSE}, + {nullptr, ZYAN_FALSE, ZYAN_FALSE} + }; + + ZyanArgParseConfig cfg + { + argv, // argv + 4, // argc + 0, // min_unnamed_args + 0, // max_unnamed_args + args // args + }; + + ZyanVector parsed; + ZYAN_MEMSET(&parsed, 0, sizeof(parsed)); + auto status = ZyanArgParse(&cfg, &parsed, nullptr); + ASSERT_TRUE(ZYAN_SUCCESS(status)); + + ZyanUSize size; + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetSize(&parsed, &size))); + ASSERT_EQ(size, 2); + + const ZyanArgParseArg* arg; + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 0, (const void**)&arg))); + ASSERT_STREQ(arg->def->name, "--help"); + ASSERT_FALSE(arg->has_value); + + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 1, (const void**)&arg))); + ASSERT_STREQ(arg->def->name, "--stuff"); + ASSERT_TRUE(arg->has_value); + ASSERT_EQ(cvt_string_view(&arg->value), "1337"); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Mixed */ +/* ---------------------------------------------------------------------------------------------- */ + +TEST(MixedArgs, MissingRequiredArg) +{ + const char* argv[] + { + "./test", "blah.c", "woof.moo" + }; + + ZyanArgParseDefinition args[] + { + {"--feature-xyz", ZYAN_TRUE, ZYAN_FALSE}, + {"-n", ZYAN_FALSE, ZYAN_TRUE}, + {nullptr, ZYAN_FALSE, ZYAN_FALSE} + }; + + ZyanArgParseConfig cfg + { + argv, // argv + 3, // argc + 0, // min_unnamed_args + 100, // max_unnamed_args + args // args + }; + + ZyanVector parsed; + ZYAN_MEMSET(&parsed, 0, sizeof(parsed)); + const char* err_tok = nullptr; + auto status = ZyanArgParse(&cfg, &parsed, &err_tok); + ASSERT_EQ(status, ZYAN_STATUS_REQUIRED_ARG_MISSING); + ASSERT_STREQ(err_tok, "-n"); +} + +TEST(MixedArgs, Stuff) +{ + const char* argv[] + { + "./test", "--feature-xyz", "-n5", "blah.c", "woof.moo" + }; + + ZyanArgParseDefinition args[] + { + {"--feature-xyz", ZYAN_TRUE, ZYAN_FALSE}, + {"-n", ZYAN_FALSE, ZYAN_FALSE}, + {nullptr, ZYAN_FALSE, ZYAN_FALSE} + }; + + ZyanArgParseConfig cfg + { + argv, // argv + 5, // argc + 0, // min_unnamed_args + 100, // max_unnamed_args + args // args + }; + + ZyanVector parsed; + ZYAN_MEMSET(&parsed, 0, sizeof(parsed)); + auto status = ZyanArgParse(&cfg, &parsed, nullptr); + ASSERT_TRUE(ZYAN_SUCCESS(status)); + + ZyanUSize size; + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetSize(&parsed, &size))); + ASSERT_EQ(size, 4); + + const ZyanArgParseArg* arg; + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 0, (const void**)&arg))); + ASSERT_STREQ(arg->def->name, "--feature-xyz"); + ASSERT_FALSE(arg->has_value); + + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 1, (const void**)&arg))); + ASSERT_STREQ(arg->def->name, "-n"); + ASSERT_TRUE(arg->has_value); + ASSERT_EQ(cvt_string_view(&arg->value), "5"); + + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 2, (const void**)&arg))); + ASSERT_EQ(arg->def, nullptr); + ASSERT_TRUE(arg->has_value); + ASSERT_EQ(cvt_string_view(&arg->value), "blah.c"); + + ASSERT_TRUE(ZYAN_SUCCESS(ZyanVectorGetPointer(&parsed, 3, (const void**)&arg))); + ASSERT_EQ(arg->def, nullptr); + ASSERT_TRUE(arg->has_value); + ASSERT_EQ(cvt_string_view(&arg->value), "woof.moo"); +} + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/tests/String.cpp b/externals/dynarmic/externals/zycore/tests/String.cpp new file mode 100755 index 000000000..3c00fb99a --- /dev/null +++ b/externals/dynarmic/externals/zycore/tests/String.cpp @@ -0,0 +1,69 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief Tests the `ZyanString` implementation. + */ + +#include +#include + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + + + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + + + +/* ============================================================================================== */ +/* Tests */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* */ +/* ---------------------------------------------------------------------------------------------- */ + + + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zycore/tests/Vector.cpp b/externals/dynarmic/externals/zycore/tests/Vector.cpp new file mode 100755 index 000000000..ade6b09f6 --- /dev/null +++ b/externals/dynarmic/externals/zycore/tests/Vector.cpp @@ -0,0 +1,505 @@ +/*************************************************************************************************** + + Zyan Core Library (Zycore-C) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief Tests the `ZyanVector` implementation. + */ + +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Fixtures */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* VectorTestBase */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * @brief Implements a fixture-class that provides an initialized `ZyanVector` instance for + * `ZyanU64` values. + */ +class VectorTestBase : public ::testing::TestWithParam +{ +protected: + static const ZyanUSize m_test_size = 100; + ZyanBool m_has_fixed_capacity; + ZyanVector m_vector; + std::vector m_buffer; +protected: + void SetUp() override + { + m_has_fixed_capacity = GetParam(); + + if (!m_has_fixed_capacity) + { + ASSERT_EQ(ZyanVectorInit(&m_vector, sizeof(ZyanU64), m_test_size, + reinterpret_cast(ZYAN_NULL)), ZYAN_STATUS_SUCCESS); + } else + { + m_buffer.reserve(m_test_size); + ASSERT_EQ(ZyanVectorInitCustomBuffer(&m_vector, sizeof(ZyanU64), m_buffer.data(), + m_test_size, reinterpret_cast(ZYAN_NULL)), + ZYAN_STATUS_SUCCESS); + } + } + + void TearDown() override + { + EXPECT_EQ(ZyanVectorDestroy(&m_vector), ZYAN_STATUS_SUCCESS); + } +}; + +/* ---------------------------------------------------------------------------------------------- */ +/* VectorTestFilled */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * @brief Implements a fixture-class that provides an initialized `ZyanVector` instance which + * is filled with `ZyanU64` values from 0..100. + */ +class VectorTestFilled : public VectorTestBase +{ +protected: + void SetUp() override + { + VectorTestBase::SetUp(); + + if (m_has_fixed_capacity) + { + m_buffer.resize(m_test_size); + } + for (ZyanU64 i = 0; i < m_test_size; ++i) + { + ASSERT_EQ(ZyanVectorPushBack(&m_vector, &i), ZYAN_STATUS_SUCCESS); + } + } +}; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +/** + * @brief A dummy constructor for `ZyanU64` objects. + * + * @param object A pointer to the object. + * + * @return A zyan status code. + */ +static ZyanStatus InitZyanU64(ZyanU64* object) +{ + *object = 1337; + return ZYAN_STATUS_SUCCESS; +} + +/** + * @brief A dummy destructor for `ZyanU16` objects. + * + * @param object A pointer to the object. + * + * @return A zyan status code. + */ +static ZyanStatus FreeZyanU16(ZyanU16* object) +{ + *object = 0; + return ZYAN_STATUS_SUCCESS; +} + +/* ============================================================================================== */ +/* Tests */ +/* ============================================================================================== */ + +TEST(VectorTest, InitBasic) +{ + ZyanVector vector; + + ASSERT_EQ(ZyanVectorInit(&vector, sizeof(ZyanU64), 0, + reinterpret_cast(ZYAN_NULL)), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(vector.allocator, ZyanAllocatorDefault()); + EXPECT_FLOAT_EQ(vector.growth_factor, ZYAN_VECTOR_DEFAULT_GROWTH_FACTOR); + EXPECT_FLOAT_EQ(vector.shrink_threshold, ZYAN_VECTOR_DEFAULT_SHRINK_THRESHOLD); + EXPECT_EQ(vector.size, static_cast(0)); + EXPECT_EQ(vector.capacity, static_cast(ZYAN_VECTOR_MIN_CAPACITY)); + EXPECT_EQ(vector.element_size, sizeof(ZyanU64)); + EXPECT_NE(vector.data, ZYAN_NULL); + EXPECT_EQ(ZyanVectorDestroy(&vector), ZYAN_STATUS_SUCCESS); + + // Custom capacity + EXPECT_EQ(ZyanVectorInit(&vector, sizeof(ZyanU16), 10, + reinterpret_cast(ZYAN_NULL)), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(vector.capacity, static_cast(ZYAN_MAX(ZYAN_VECTOR_MIN_CAPACITY, 10))); + EXPECT_EQ(ZyanVectorDestroy(&vector), ZYAN_STATUS_SUCCESS); +} + +TEST(VectorTest, InitAdvanced) +{ + ZyanVector vector; + + ASSERT_EQ(ZyanVectorInitEx(&vector, sizeof(ZyanU16), 0, + reinterpret_cast(ZYAN_NULL), ZyanAllocatorDefault(), 1.0f, 0.0f), + ZYAN_STATUS_SUCCESS); + EXPECT_EQ(vector.allocator, ZyanAllocatorDefault()); + EXPECT_FLOAT_EQ(vector.growth_factor, 1.0f); + EXPECT_FLOAT_EQ(vector.shrink_threshold, 0.0f); + EXPECT_EQ(vector.size, static_cast(0)); + EXPECT_EQ(vector.capacity, static_cast(ZYAN_VECTOR_MIN_CAPACITY)); + EXPECT_EQ(vector.element_size, sizeof(ZyanU16)); + EXPECT_NE(vector.data, ZYAN_NULL); + EXPECT_EQ(ZyanVectorDestroy(&vector), ZYAN_STATUS_SUCCESS); + + // Custom capacity + EXPECT_EQ(ZyanVectorInitEx(&vector, sizeof(ZyanU16), 10, + reinterpret_cast(ZYAN_NULL), ZyanAllocatorDefault(), 1.0f, 0.0f), + ZYAN_STATUS_SUCCESS); + EXPECT_EQ(vector.capacity, static_cast(ZYAN_MAX(ZYAN_VECTOR_MIN_CAPACITY, 10))); + EXPECT_EQ(ZyanVectorDestroy(&vector), ZYAN_STATUS_SUCCESS); +} + +TEST(VectorTest, InitCustomBuffer) +{ + ZyanVector vector; + + ZyanU16 buffer[32]; + EXPECT_EQ(ZyanVectorInitCustomBuffer(&vector, sizeof(ZyanU16), &buffer, 0, + reinterpret_cast(ZYAN_NULL)), ZYAN_STATUS_INVALID_ARGUMENT); + ASSERT_EQ(ZyanVectorInitCustomBuffer(&vector, sizeof(ZyanU16), &buffer, + ZYAN_ARRAY_LENGTH(buffer), reinterpret_cast(ZYAN_NULL)), + ZYAN_STATUS_SUCCESS); + EXPECT_EQ(vector.allocator, ZYAN_NULL); + EXPECT_FLOAT_EQ(vector.growth_factor, 1.0f); + EXPECT_FLOAT_EQ(vector.shrink_threshold, 0.0f); + EXPECT_EQ(vector.size, static_cast(0)); + EXPECT_EQ(vector.capacity, ZYAN_ARRAY_LENGTH(buffer)); + EXPECT_EQ(vector.element_size, sizeof(ZyanU16)); + EXPECT_EQ(vector.data, &buffer); + EXPECT_EQ(ZyanVectorDestroy(&vector), ZYAN_STATUS_SUCCESS); +} + +TEST(VectorTest, Destructor) +{ + ZyanVector vector; + + ZyanU16 buffer[16]; + ASSERT_EQ(ZyanVectorInitCustomBuffer(&vector, sizeof(ZyanU16), &buffer, + ZYAN_ARRAY_LENGTH(buffer), reinterpret_cast(&FreeZyanU16)), + ZYAN_STATUS_SUCCESS); + + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(buffer); ++i) + { + const auto element = static_cast(i) + 0; + ASSERT_EQ(ZyanVectorPushBack(&vector, &element), ZYAN_STATUS_SUCCESS); + ASSERT_EQ(buffer[i], element); + } + + ASSERT_EQ(ZyanVectorPopBack(&vector), ZYAN_STATUS_SUCCESS); + ASSERT_EQ(buffer[15], 0); + + ASSERT_EQ(ZyanVectorDeleteRange(&vector, 12, 3), ZYAN_STATUS_SUCCESS); + ASSERT_EQ(buffer[12], 0); + ASSERT_EQ(buffer[13], 0); + ASSERT_EQ(buffer[14], 0); + + ASSERT_EQ(ZyanVectorClear(&vector), ZYAN_STATUS_SUCCESS); + for (ZyanUSize i : buffer) + { + ASSERT_EQ(i, 0); + } + + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(buffer); ++i) + { + const auto element = static_cast(i) + 1; + ASSERT_EQ(ZyanVectorPushBack(&vector, &element), ZYAN_STATUS_SUCCESS); + ASSERT_EQ(buffer[i], element); + } + + EXPECT_EQ(ZyanVectorDestroy(&vector), ZYAN_STATUS_SUCCESS); + for (ZyanUSize i : buffer) + { + ASSERT_EQ(i, 0); + } +} + +TEST_P(VectorTestFilled, ElementAccess) +{ + static const ZyanU64 element_in = 1337; + const ZyanU64* element_dummy; + ZyanU64* element_out_mut; + + EXPECT_EQ(ZyanVectorSet(&m_vector, m_vector.size, &element_in), + ZYAN_STATUS_OUT_OF_RANGE); + EXPECT_EQ(ZyanVectorSet(&m_vector, m_vector.size - 1, &element_in), + ZYAN_STATUS_SUCCESS); + + EXPECT_EQ(ZyanVectorGetPointer(&m_vector, m_vector.size, + reinterpret_cast(&element_dummy)), ZYAN_STATUS_OUT_OF_RANGE); + EXPECT_EQ(ZYAN_VECTOR_GET(ZyanU64, &m_vector, m_vector.size - 1), element_in); + + EXPECT_EQ(ZyanVectorGetPointerMutable(&m_vector, m_vector.size, + reinterpret_cast(&element_out_mut)), ZYAN_STATUS_OUT_OF_RANGE); + EXPECT_EQ(ZyanVectorGetPointerMutable(&m_vector, m_vector.size - 1, + reinterpret_cast(&element_out_mut)), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(*element_out_mut, element_in); + *element_out_mut = 42; + EXPECT_EQ(ZYAN_VECTOR_GET(ZyanU64, &m_vector, m_vector.size - 1), 42); + + if (m_has_fixed_capacity) + { + EXPECT_EQ(ZYAN_VECTOR_GET(ZyanU64, &m_vector, m_vector.size - 1), + m_buffer[m_vector.size - 1]); + } +} + +TEST_P(VectorTestFilled, PushPop) +{ + static const ZyanU64 element_in = 1337; + const ZyanUSize size = m_vector.size; + + if (!m_has_fixed_capacity) + { + EXPECT_EQ(ZyanVectorPushBack(&m_vector, &element_in), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(m_vector.size, size + 1); + EXPECT_EQ(ZYAN_VECTOR_GET(ZyanU64, &m_vector, size), element_in); + EXPECT_EQ(ZyanVectorPopBack(&m_vector), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(m_vector.size, size); + } else + { + EXPECT_EQ(ZyanVectorPushBack(&m_vector, &element_in), ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE); + EXPECT_EQ(m_vector.size, size); + EXPECT_EQ(ZyanVectorPopBack(&m_vector), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(m_vector.size, size - 1); + EXPECT_EQ(ZyanVectorPushBack(&m_vector, &element_in), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(m_vector.size, size); + EXPECT_EQ(ZYAN_VECTOR_GET(ZyanU64, &m_vector, size - 1), element_in); + } +} + +TEST_P(VectorTestFilled, Insert) +{ + static const ZyanU64 elements[4] = + { + 1337, 1338, 1339, 1340 + }; + const ZyanUSize count = ZYAN_ARRAY_LENGTH(elements); + + if (m_has_fixed_capacity) + { + const ZyanUSize size_temp = m_vector.size; + EXPECT_EQ(ZyanVectorInsertRange(&m_vector, size_temp / 2, &elements, count), + ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE); + EXPECT_EQ(ZyanVectorResize(&m_vector, size_temp - count), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(m_vector.size, size_temp - count); + } + + const ZyanUSize size = m_vector.size; + const ZyanUSize half = (size / 2); + + EXPECT_EQ(ZyanVectorInsertRange(&m_vector, half, &elements, ZYAN_ARRAY_LENGTH(elements)), + ZYAN_STATUS_SUCCESS); + EXPECT_EQ(m_vector.size, size + count); + for (ZyanUSize i = 0; i < m_vector.size; ++i) + { + const ZyanU64 element_out = ZYAN_VECTOR_GET(ZyanU64, &m_vector, i); + + if ((i >= half) && (i < half + count)) + { + EXPECT_EQ(element_out, elements[i - half]); + } else + if (i < half) + { + EXPECT_EQ(element_out, i); + } else + { + EXPECT_EQ(element_out, i - count); + } + } +} + +TEST_P(VectorTestFilled, Delete) +{ + EXPECT_EQ(ZyanVectorDeleteRange(&m_vector, m_vector.size, 1), ZYAN_STATUS_OUT_OF_RANGE); + EXPECT_EQ(ZyanVectorDeleteRange(&m_vector, 1, m_vector.size), ZYAN_STATUS_OUT_OF_RANGE); + + const ZyanUSize size = m_vector.size; + const ZyanUSize half = (size / 2); + const ZyanUSize count = (half / 2); + + EXPECT_EQ(ZyanVectorDeleteRange(&m_vector, half, count), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(m_vector.size, size - count); + for (ZyanUSize i = 0; i < m_vector.size; ++i) + { + const ZyanU64 element_out = ZYAN_VECTOR_GET(ZyanU64, &m_vector, i); + + if ((i >= half) && (i < half + count)) + { + EXPECT_EQ(element_out, i + count); + } else + if (i < half) + { + EXPECT_EQ(element_out, i); + } else + { + EXPECT_EQ(element_out, i - count); + } + } +} + +TEST_P(VectorTestFilled, Find) +{ + ZyanISize index; + ZyanU64 element_in = m_vector.size / 2; + EXPECT_EQ(ZyanVectorFind(&m_vector, &element_in, &index, + reinterpret_cast(&ZyanEqualsNumeric64)), ZYAN_STATUS_TRUE); + EXPECT_EQ(static_cast(index), element_in); + + element_in = 1337; + EXPECT_EQ(ZyanVectorFind(&m_vector, &element_in, &index, + reinterpret_cast(&ZyanEqualsNumeric64)), ZYAN_STATUS_FALSE); + EXPECT_EQ(index, -1); + + // Edge cases + EXPECT_EQ(ZyanVectorFindEx(&m_vector, &element_in, &index, + reinterpret_cast(&ZyanEqualsNumeric64), 0, 0), + ZYAN_STATUS_FALSE); + EXPECT_EQ(ZyanVectorFindEx(&m_vector, &element_in, &index, + reinterpret_cast(&ZyanEqualsNumeric64), 0, m_vector.size + 1), + ZYAN_STATUS_OUT_OF_RANGE); + EXPECT_EQ(ZyanVectorFindEx(&m_vector, &element_in, &index, + reinterpret_cast(&ZyanEqualsNumeric64), 1, m_vector.size), + ZYAN_STATUS_OUT_OF_RANGE); +} + +TEST_P(VectorTestBase, BinarySearch) +{ + EXPECT_EQ(ZyanVectorReserve(&m_vector, 100), ZYAN_STATUS_SUCCESS); + for (ZyanUSize i = 0; i < 100; ++i) + { + const ZyanU64 element = rand() % 100; + + ZyanUSize index; + const ZyanStatus status = ZyanVectorBinarySearch(&m_vector, &element, &index, + reinterpret_cast(&ZyanCompareNumeric64)); + EXPECT_EQ(ZYAN_SUCCESS(status), ZYAN_TRUE); + EXPECT_EQ(ZyanVectorInsert(&m_vector, index, &element), ZYAN_STATUS_SUCCESS); + } + EXPECT_EQ(m_vector.size, static_cast(100)); + + ZyanU64 element_out = ZYAN_VECTOR_GET(ZyanU64, &m_vector, 0); + for (ZyanUSize i = 1; i < m_vector.size; ++i) + { + const ZyanU64 value = element_out; + element_out = ZYAN_VECTOR_GET(ZyanU64, &m_vector, i); + EXPECT_GE(element_out, value); + } + + // Edge cases + const ZyanU64 element_in = 1337; + ZyanUSize index; + EXPECT_EQ(ZyanVectorBinarySearchEx(&m_vector, &element_in, &index, + reinterpret_cast(&ZyanCompareNumeric64), 0, 101), + ZYAN_STATUS_OUT_OF_RANGE); + EXPECT_EQ(ZyanVectorBinarySearchEx(&m_vector, &element_in, &index, + reinterpret_cast(&ZyanCompareNumeric64), 1, 100), + ZYAN_STATUS_OUT_OF_RANGE); +} + +TEST_P(VectorTestBase, Emplace) +{ + ZyanU64* element_new; + + for (ZyanUSize i = 0; i < 10; ++i) + { + EXPECT_EQ(ZyanVectorEmplace(&m_vector, reinterpret_cast(&element_new), + reinterpret_cast(ZYAN_NULL)), ZYAN_STATUS_SUCCESS); + *element_new = i; + } + EXPECT_EQ(m_vector.size, static_cast(10)); + + for (ZyanUSize i = 0; i < m_vector.size; ++i) + { + EXPECT_EQ(ZYAN_VECTOR_GET(ZyanU64, &m_vector, i), i); + } + + EXPECT_EQ(ZyanVectorEmplaceEx(&m_vector, 5, reinterpret_cast(&element_new), + reinterpret_cast(&InitZyanU64)), ZYAN_STATUS_SUCCESS); + EXPECT_EQ(*element_new, 1337); + EXPECT_EQ(ZYAN_VECTOR_GET(ZyanU64, &m_vector, 5), 1337); +} + +TEST_P(VectorTestFilled, SwapElements) +{ + EXPECT_EQ(m_vector.capacity, m_vector.size); + + // Edge cases + EXPECT_EQ(ZyanVectorSwapElements(&m_vector, 0, m_vector.size), ZYAN_STATUS_OUT_OF_RANGE); + EXPECT_EQ(ZyanVectorSwapElements(&m_vector, m_vector.size, 0), ZYAN_STATUS_OUT_OF_RANGE); + EXPECT_EQ(ZyanVectorSwapElements(&m_vector, 0, m_vector.size - 1), + ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE); + + // Free space for the temporary element + EXPECT_EQ(ZyanVectorPopBack(&m_vector), ZYAN_STATUS_SUCCESS); + + // Retrieve element pointers + const ZyanU64* element_first; + EXPECT_EQ(ZyanVectorGetPointer(&m_vector, 0, reinterpret_cast(&element_first)), + ZYAN_STATUS_SUCCESS); + const ZyanU64* element_second; + EXPECT_EQ(ZyanVectorGetPointer(&m_vector, m_vector.size - 1, + reinterpret_cast(&element_second)), ZYAN_STATUS_SUCCESS); + + const ZyanU64 values_before[2] = { *element_first, *element_second }; + EXPECT_EQ(ZyanVectorSwapElements(&m_vector, 0, m_vector.size - 1), ZYAN_STATUS_SUCCESS); + const ZyanU64 values_after [2] = { *element_first, *element_second }; + + EXPECT_EQ(values_before[0], values_after[1]); + EXPECT_EQ(values_before[1], values_after[0]); +} + +INSTANTIATE_TEST_SUITE_P(Param, VectorTestBase, ::testing::Values(false, true)); +INSTANTIATE_TEST_SUITE_P(Param, VectorTestFilled, ::testing::Values(false, true)); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(int argc, char **argv) +{ + time_t t; + srand(static_cast(time(&t))); + + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/.gitattributes b/externals/dynarmic/externals/zydis/.gitattributes new file mode 100755 index 000000000..ef3a96fa0 --- /dev/null +++ b/externals/dynarmic/externals/zydis/.gitattributes @@ -0,0 +1 @@ +*.inc linguist-language=C diff --git a/externals/dynarmic/externals/zydis/.github/FUNDING.yml b/externals/dynarmic/externals/zydis/.github/FUNDING.yml new file mode 100755 index 000000000..c18b510ff --- /dev/null +++ b/externals/dynarmic/externals/zydis/.github/FUNDING.yml @@ -0,0 +1 @@ +github: flobernd \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/.github/workflows/main.yml b/externals/dynarmic/externals/zydis/.github/workflows/main.yml new file mode 100755 index 000000000..080e1214e --- /dev/null +++ b/externals/dynarmic/externals/zydis/.github/workflows/main.yml @@ -0,0 +1,69 @@ +name: GitHub Actions CI + +on: [push, pull_request] + +jobs: + build: + name: "Build Zydis (${{ matrix.image_name }}, ${{ matrix.no_libc }})" + runs-on: "${{ matrix.image_name }}" + + strategy: + matrix: + image_name: ["macOS-latest", "windows-2016", "ubuntu-18.04"] + no_libc: ["", "-DZYAN_NO_LIBC=ON"] + include: + - image_name: "ubuntu-16.04" + no_libc: "-DCMAKE_BUILD_TYPE=Release" + dev_mode: "-DZYAN_DEV_MODE=ON" + + steps: + - uses: "actions/checkout@v1" + - name: "Cloning submodules" + run: | + git submodule update --init + - name: "Configuring" + run: | + mkdir build + cd build + cmake ${{ matrix.dev_mode }} ${{ matrix.no_libc }} .. + - name: "Building" + run: | + cmake --build build --config Release + - name: "Running regression tests" + run: | + cd tests + python3 regression.py test ../build/ZydisInfo + if: "!matrix.no_libc && matrix.image_name != 'windows-2016'" + - name: "Running regression tests" + run: | + cd tests + python regression.py test ..\\build\\Release\\ZydisInfo.exe + if: "!matrix.no_libc && matrix.image_name == 'windows-2016'" + + fuzzing: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sanitizer: [address, undefined, memory] + steps: + - name: Build Fuzzers (${{ matrix.sanitizer }}) + id: build + uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master + with: + oss-fuzz-project-name: 'zydis' + dry-run: false + sanitizer: ${{ matrix.sanitizer }} + - name: Run Fuzzers (${{ matrix.sanitizer }}) + uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master + with: + oss-fuzz-project-name: 'zydis' + fuzz-seconds: 600 + dry-run: false + sanitizer: ${{ matrix.sanitizer }} + - name: Upload Crash + uses: actions/upload-artifact@v1 + if: failure() && steps.build.outcome == 'success' + with: + name: ${{ matrix.sanitizer }}-artifacts + path: ./out/artifacts diff --git a/externals/dynarmic/externals/zydis/.gitignore b/externals/dynarmic/externals/zydis/.gitignore new file mode 100755 index 000000000..7e1b0d733 --- /dev/null +++ b/externals/dynarmic/externals/zydis/.gitignore @@ -0,0 +1,101 @@ +# Created by https://www.gitignore.io/api/c,c++,cmake + +### C ### +# Object files +*.o +*.ko +*.obj +*.elf + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.a +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex + +# Debug files +*.dSYM/ +*.su + + +### C++ ### +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + + +### CMake ### +CMakeCache.txt +CMakeFiles +CMakeScripts +Makefile +cmake_install.cmake +install_manifest.txt +CTestTestfile.cmake + + +# MacOS +.DS_Store + +build* + +# MSVC +.vs +*.vcxproj.user +*.suo +*.sdf +*.opensdf +*.VC.db +*.VC.opendb +msvc/**/*.user +msvc/**/obj/ +msvc/**/bin/ + +doc/html + +.vscode +.idea +cmake-build-debug \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/.gitmodules b/externals/dynarmic/externals/zydis/.gitmodules new file mode 100755 index 000000000..e0a443d5e --- /dev/null +++ b/externals/dynarmic/externals/zydis/.gitmodules @@ -0,0 +1,3 @@ +[submodule "dependencies/zycore"] + path = dependencies/zycore + url = https://github.com/zyantific/zycore-c diff --git a/externals/dynarmic/externals/zydis/CMakeLists.txt b/externals/dynarmic/externals/zydis/CMakeLists.txt new file mode 100755 index 000000000..4bacb5d8b --- /dev/null +++ b/externals/dynarmic/externals/zydis/CMakeLists.txt @@ -0,0 +1,296 @@ +cmake_minimum_required(VERSION 3.1 FATAL_ERROR) + +project(Zydis VERSION 3.1.0.0 LANGUAGES C CXX) + +include(GenerateExportHeader) +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + +# =============================================================================================== # +# Overridable options # +# =============================================================================================== # + +# Features +option(ZYDIS_MINIMAL_MODE + "Enable minimal mode (forces ZYDIS_DECODER_MODE_MINIMAL runtime option)" + OFF) +option(ZYDIS_FEATURE_DECODER + "Enable instruction decoding functionality" + ON) +option(ZYDIS_FEATURE_FORMATTER + "Enable instruction formatting functionality" + ON) +option(ZYDIS_FEATURE_AVX512 + "Enable support for AVX-512 instructions" + ON) +option(ZYDIS_FEATURE_KNC + "Enable support for KNC instructions" + ON) + +# Build configuration +option(ZYDIS_BUILD_SHARED_LIB + "Build shared library" + OFF) +option(ZYDIS_BUILD_EXAMPLES + "Build examples" + ON) +option(ZYDIS_BUILD_TOOLS + "Build tools" + ON) +option(ZYDIS_FUZZ_AFL_FAST + "Enables AFL persistent mode and reduces prints in ZydisFuzzIn" + OFF) +option(ZYDIS_LIBFUZZER + "Enables LLVM libfuzzer mode and reduces prints in ZydisFuzzIn" + OFF) +set(ZYDIS_ZYCORE_PATH + "${CMAKE_CURRENT_LIST_DIR}/dependencies/zycore" + CACHE + PATH + "The path to look for Zycore") + +# =============================================================================================== # +# Dependencies # +# =============================================================================================== # + +# Try to initialize the Zycore submodule using Git +if (NOT EXISTS "${ZYDIS_ZYCORE_PATH}/CMakeLists.txt" AND + "${ZYDIS_ZYCORE_PATH}" STREQUAL "${CMAKE_CURRENT_LIST_DIR}/dependencies/zycore") + find_package(Git QUIET) + if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") + execute_process( + COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) + endif() +endif () + +if (NOT EXISTS "${ZYDIS_ZYCORE_PATH}/CMakeLists.txt") + message( + FATAL_ERROR + "Can't find zycore submodule. Please make sure to clone the repo recursively.\n" + "You can fix this by running\n" + " git submodule update --init\n" + "or by cloning using\n" + " git clone --recursive \n" + "Alternatively, you can manually clone zycore to some path and set ZYDIS_ZYCORE_PATH." + ) +endif () + +add_subdirectory(${ZYDIS_ZYCORE_PATH} "zycore" EXCLUDE_FROM_ALL) + +# =============================================================================================== # +# Library configuration # +# =============================================================================================== # + +if (ZYDIS_BUILD_SHARED_LIB) + add_library("Zydis" SHARED) +else () + add_library("Zydis" STATIC) +endif () + +target_link_libraries("Zydis" PUBLIC "Zycore") +target_include_directories("Zydis" + PUBLIC "include" ${PROJECT_BINARY_DIR} + PRIVATE "src") +target_compile_definitions("Zydis" PRIVATE "_CRT_SECURE_NO_WARNINGS" "ZYDIS_EXPORTS") +zyan_set_common_flags("Zydis") +zyan_maybe_enable_wpo_for_lib("Zydis") +generate_export_header("Zydis" BASE_NAME "ZYDIS" EXPORT_FILE_NAME "ZydisExportConfig.h") + +if (ZYDIS_FEATURE_FORMATTER AND NOT ZYDIS_FEATURE_DECODER) + message( + FATAL_ERROR + "\nZYDIS_FEATURE_FORMATTER requires ZYDIS_FEATURE_DECODER to be enabled" + ) +endif () + +if (ZYDIS_MINIMAL_MODE) + target_compile_definitions("Zydis" PUBLIC "ZYDIS_MINIMAL_MODE") +endif () +if (NOT ZYDIS_FEATURE_DECODER) + target_compile_definitions("Zydis" PUBLIC "ZYDIS_DISABLE_DECODER") +endif () +if (NOT ZYDIS_FEATURE_FORMATTER) + target_compile_definitions("Zydis" PUBLIC "ZYDIS_DISABLE_FORMATTER") +endif () +if (NOT ZYDIS_FEATURE_AVX512) + target_compile_definitions("Zydis" PUBLIC "ZYDIS_DISABLE_AVX512") +endif () +if (NOT ZYDIS_FEATURE_KNC) + target_compile_definitions("Zydis" PUBLIC "ZYDIS_DISABLE_KNC") +endif () + +target_sources("Zydis" + PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/MetaInfo.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Mnemonic.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Register.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/SharedTypes.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/ShortString.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Status.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Utils.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Zydis.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Internal/SharedData.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Internal/String.h" + "src/MetaInfo.c" + "src/Mnemonic.c" + "src/Register.c" + "src/SharedData.c" + "src/String.c" + "src/Utils.c" + "src/Zydis.c") + +if (ZYDIS_FEATURE_DECODER) + target_sources("Zydis" + PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Decoder.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/DecoderTypes.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Internal/DecoderData.h" + "src/Decoder.c" + "src/DecoderData.c") + if (ZYDIS_FEATURE_FORMATTER AND (NOT ZYDIS_MINIMAL_MODE)) + target_sources("Zydis" + PRIVATE + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Formatter.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/FormatterBuffer.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Internal/FormatterATT.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Internal/FormatterBase.h" + "${CMAKE_CURRENT_LIST_DIR}/include/Zydis/Internal/FormatterIntel.h" + "src/Formatter.c" + "src/FormatterBuffer.c" + "src/FormatterATT.c" + "src/FormatterBase.c" + "src/FormatterIntel.c") + endif () +endif () + +if (ZYDIS_BUILD_SHARED_LIB AND WIN32) + target_sources("Zydis" PRIVATE "resources/VersionInfo.rc") +endif () + +zyan_set_source_group("Zydis") + +configure_package_config_file(cmake/zydis-config.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/zydis-config.cmake" + INSTALL_DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake" +) +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/zydis-config.cmake" + DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake" +) + +install(TARGETS "Zydis" + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(FILES + "${PROJECT_BINARY_DIR}/ZydisExportConfig.h" + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") +install(DIRECTORY "include/" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +function (_maybe_set_emscripten_cfg target) + if (EMSCRIPTEN) + # Yep, that madness below is how Emscripten likes its quotes. + set_target_properties("${target}" + PROPERTIES COMPILE_FLAGS + "-s \"EXPORT_NAME='${target}'\" -s MODULARIZE=1") + set_target_properties("${target}" + PROPERTIES LINK_FLAGS_RELEASE + "-s \"EXPORT_NAME='${target}'\" -s MODULARIZE=1") + endif () +endfunction () + +# =============================================================================================== # +# Examples # +# =============================================================================================== # + +if (ZYDIS_BUILD_EXAMPLES AND NOT ZYAN_NO_LIBC) + if (ZYDIS_FEATURE_DECODER AND ZYDIS_FEATURE_FORMATTER AND (NOT ZYDIS_MINIMAL_MODE)) + add_executable("Formatter01" "examples/Formatter01.c") + target_link_libraries("Formatter01" "Zydis") + set_target_properties("Formatter01" PROPERTIES FOLDER "Examples/Formatter") + target_compile_definitions("Formatter01" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_set_common_flags("Formatter01") + zyan_maybe_enable_wpo("Formatter01") + _maybe_set_emscripten_cfg("Formatter01") + + add_executable("Formatter02" "examples/Formatter02.c") + target_link_libraries("Formatter02" "Zydis") + set_target_properties("Formatter02" PROPERTIES FOLDER "Examples/Formatter") + target_compile_definitions("Formatter02" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_set_common_flags("Formatter02") + zyan_maybe_enable_wpo("Formatter02") + _maybe_set_emscripten_cfg("Formatter02") + + add_executable("Formatter03" "examples/Formatter03.c") + target_link_libraries("Formatter03" "Zydis") + set_target_properties("Formatter03" PROPERTIES FOLDER "Examples/Formatter") + target_compile_definitions("Formatter03" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_set_common_flags("Formatter03") + zyan_maybe_enable_wpo("Formatter03") + _maybe_set_emscripten_cfg("Formatter03") + + add_executable("ZydisPerfTest" "examples/ZydisPerfTest.c") + target_link_libraries("ZydisPerfTest" "Zydis") + set_target_properties("ZydisPerfTest" PROPERTIES FOLDER "Examples") + target_compile_definitions("ZydisPerfTest" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_set_common_flags("ZydisPerfTest") + zyan_maybe_enable_wpo("ZydisPerfTest") + _maybe_set_emscripten_cfg("ZydisPerfTest") + if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" + OR ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD") + target_compile_definitions("ZydisPerfTest" PRIVATE "_GNU_SOURCE") + find_package(Threads REQUIRED) + target_link_libraries("ZydisPerfTest" Threads::Threads) + endif () + endif () +endif () + +# =============================================================================================== # +# Tools # +# =============================================================================================== # + +if (ZYDIS_BUILD_TOOLS AND NOT ZYAN_NO_LIBC) + if (ZYDIS_FEATURE_DECODER AND ZYDIS_FEATURE_FORMATTER AND (NOT ZYDIS_MINIMAL_MODE)) + add_executable("ZydisDisasm" "tools/ZydisDisasm.c") + target_link_libraries("ZydisDisasm" "Zydis") + set_target_properties ("ZydisDisasm" PROPERTIES FOLDER "Tools") + target_compile_definitions("ZydisDisasm" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_set_common_flags("ZydisDisasm") + zyan_maybe_enable_wpo("ZydisDisasm") + _maybe_set_emscripten_cfg("ZydisDisasm") + install(TARGETS "ZydisDisasm" RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable("ZydisFuzzIn" "tools/ZydisFuzzIn.c") + target_link_libraries("ZydisFuzzIn" "Zydis") + set_target_properties("ZydisFuzzIn" PROPERTIES FOLDER "Tools") + target_compile_definitions("ZydisFuzzIn" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_set_common_flags("ZydisFuzzIn") + zyan_maybe_enable_wpo("ZydisFuzzIn") + _maybe_set_emscripten_cfg("ZydisFuzzIn") + if (ZYDIS_FUZZ_AFL_FAST) + target_compile_definitions("ZydisFuzzIn" PRIVATE "ZYDIS_FUZZ_AFL_FAST") + endif () + if (ZYDIS_LIBFUZZER) + target_compile_definitions("ZydisFuzzIn" PRIVATE "ZYDIS_LIBFUZZER") + endif () + + add_executable("ZydisInfo" "tools/ZydisInfo.c") + target_link_libraries("ZydisInfo" "Zydis") + set_target_properties ("ZydisInfo" PROPERTIES FOLDER "Tools") + target_compile_definitions("ZydisInfo" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_set_common_flags("ZydisInfo") + zyan_maybe_enable_wpo("ZydisInfo") + _maybe_set_emscripten_cfg("ZydisInfo") + install(TARGETS "ZydisInfo" RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable("ZydisPE" "tools/ZydisPE.c") + target_link_libraries("ZydisPE" "Zydis") + set_target_properties ("ZydisPE" PROPERTIES FOLDER "Tools") + target_compile_definitions("ZydisPE" PRIVATE "_CRT_SECURE_NO_WARNINGS") + zyan_set_common_flags("ZydisPE") + zyan_maybe_enable_wpo("ZydisPE") + _maybe_set_emscripten_cfg("ZydisPE") + endif () +endif () diff --git a/externals/dynarmic/externals/zydis/Doxyfile b/externals/dynarmic/externals/zydis/Doxyfile new file mode 100755 index 000000000..dc101bb94 --- /dev/null +++ b/externals/dynarmic/externals/zydis/Doxyfile @@ -0,0 +1,2471 @@ +# Doxyfile 1.8.13 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all text +# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv +# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = Zydis + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = v3.1.0 + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = ./doc + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = YES + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = YES + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines. + +ALIASES = + +# This tag can be used to specify a number of word-keyword mappings (TCL only). +# A mapping has the form "name=value". For example adding "class=itcl::class" +# will allow you to use the command class in the itcl::class meaning. + +TCL_SUBST = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, Javascript, +# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran: +# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran: +# Fortran. In the later case the parser tries to guess whether the code is fixed +# or free formatted code, this is the default for Fortran type files), VHDL. For +# instance to make doxygen treat .inc files as Fortran files (default is PHP), +# and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 0. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 0 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = NO + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = NO + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = NO + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = NO + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = NO + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = YES + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = ./include \ + ./README.md \ + ./files.dox + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf and *.qsf. + +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.idl \ + *.ddl \ + *.odl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.cs \ + *.d \ + *.inc \ + *.m \ + *.markdown \ + *.md \ + *.mm \ + *.dox \ + *.py \ + *.pyw \ + *.f90 \ + *.f95 \ + *.f03 \ + *.f08 \ + *.f \ + *.for \ + *.tcl \ + *.vhd \ + *.vhdl \ + *.ucf \ + *.qsf + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = * + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = README.md + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# function all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = NO + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = NO + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see http://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = YES + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = NO + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = NO + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# http://www.mathjax.org) which uses client side Javascript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /

+ License: MIT + GitHub Actions + Fuzzing Status + Gitter + Discord +

+ +

Fast and lightweight x86/x86-64 disassembler library.

+ +## Features +- Supports all x86 and x86-64 (AMD64) instructions and [extensions](./include/Zydis/Generated/EnumISAExt.h) +- Optimized for high performance +- No dynamic memory allocation ("malloc") +- Thread-safe by design +- Very small file-size overhead compared to other common disassembler libraries +- [Complete doxygen documentation](https://zydis.re/doc/3/) +- Absolutely no third party dependencies — not even libc + - Should compile on any platform with a working C99 compiler + - Tested on Windows, macOS, FreeBSD, Linux and UEFI, both user and kernel mode + +## Quick Example +The following example program uses Zydis to disassemble a given memory buffer and prints the output to the console ([more examples here](./examples/)). + +```C +#include +#include +#include + +int main() +{ + ZyanU8 data[] = + { + 0x51, 0x8D, 0x45, 0xFF, 0x50, 0xFF, 0x75, 0x0C, 0xFF, 0x75, + 0x08, 0xFF, 0x15, 0xA0, 0xA5, 0x48, 0x76, 0x85, 0xC0, 0x0F, + 0x88, 0xFC, 0xDA, 0x02, 0x00 + }; + + // Initialize decoder context + ZydisDecoder decoder; + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64); + + // Initialize formatter. Only required when you actually plan to do instruction + // formatting ("disassembling"), like we do here + ZydisFormatter formatter; + ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL); + + // Loop over the instructions in our buffer. + // The runtime-address (instruction pointer) is chosen arbitrary here in order to better + // visualize relative addressing + ZyanU64 runtime_address = 0x007FFFFFFF400000; + ZyanUSize offset = 0; + const ZyanUSize length = sizeof(data); + ZydisDecodedInstruction instruction; + while (ZYAN_SUCCESS(ZydisDecoderDecodeBuffer(&decoder, data + offset, length - offset, + &instruction))) + { + // Print current instruction pointer. + printf("%016" PRIX64 " ", runtime_address); + + // Format & print the binary instruction structure to human readable format + char buffer[256]; + ZydisFormatterFormatInstruction(&formatter, &instruction, buffer, sizeof(buffer), + runtime_address); + puts(buffer); + + offset += instruction.length; + runtime_address += instruction.length; + } +} +``` + +## Sample Output +The above example program generates the following output: + +```asm +007FFFFFFF400000 push rcx +007FFFFFFF400001 lea eax, [rbp-0x01] +007FFFFFFF400004 push rax +007FFFFFFF400005 push qword ptr [rbp+0x0C] +007FFFFFFF400008 push qword ptr [rbp+0x08] +007FFFFFFF40000B call [0x008000007588A5B1] +007FFFFFFF400011 test eax, eax +007FFFFFFF400013 js 0x007FFFFFFF42DB15 +``` + +## Build + +#### Unix +Zydis builds cleanly on most platforms without any external dependencies. You can use CMake to generate project files for your favorite C99 compiler. + +```bash +git clone --recursive 'https://github.com/zyantific/zydis.git' +cd zydis +mkdir build && cd build +cmake .. +make +``` + +#### Windows +Either use the [Visual Studio 2017 project](./msvc/) or build Zydis using [CMake](https://cmake.org/download/) ([video guide](https://www.youtube.com/watch?v=fywLDK1OAtQ)). + +#### Building Zydis - Using vcpkg + +You can download and install Zydis using the [vcpkg](https://github.com/Microsoft/vcpkg) dependency manager: + +```bash +git clone https://github.com/Microsoft/vcpkg.git +cd vcpkg +./bootstrap-vcpkg.sh +./vcpkg integrate install +vcpkg install zydis +``` +The Zydis port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository. + +## Using Zydis in a CMake project +An example on how to use Zydis in your own CMake based project [can be found in this repo](https://github.com/zyantific/zydis-submodule-example). + +## `ZydisInfo` tool +![ZydisInfo](./assets/screenshots/ZydisInfo.png) + +## Bindings +Official bindings exist for a selection of languages: +- [Pascal](https://github.com/zyantific/zydis-pascal) +- [Python 3](https://github.com/zyantific/zydis-py) +- [Rust](https://github.com/zyantific/zydis-rs) + +Unofficial but actively maintained bindings: +- [Go](https://github.com/jpap/go-zydis) +- [LuaJIT](https://github.com/Wiladams/lj2zydis) +- [Haskell](https://github.com/nerded1337/zydiskell) + +## Versions + +#### Scheme +Versions follow the [semantic versioning scheme](https://semver.org/). All stability guarantees apply to the API only — ABI stability between patches cannot be assumed unless explicitly mentioned in the release notes. + +#### Branches & Tags +- `master` holds the bleeding edge code of the next, unreleased Zydis version. Elevated amounts of bugs and issues must be expected, API stability is not guaranteed outside of tagged commits. +- Stable and preview versions are annotated with git tags + - beta and other preview versions have `-beta`, `-rc`, etc. suffixes +- `maintenance/v2` contains the code of the latest legacy release of v2 + - v2 is now deprecated, but will receive security fixes until 2021 + +## Credits +- Intel (for open-sourcing [XED](https://github.com/intelxed/xed), allowing for automatic comparison of our tables against theirs, improving both) +- [LLVM](https://llvm.org) (for providing pretty solid instruction data as well) +- Christian Ludloff (http://sandpile.org, insanely helpful) +- [LekoArts](https://www.lekoarts.de/) (for creating the project logo) +- Our [contributors on GitHub](https://github.com/zyantific/zydis/graphs/contributors) + +## Troubleshooting + +#### `-fPIC` for shared library builds + +``` +/usr/bin/ld: ./libfoo.a(foo.c.o): relocation R_X86_64_PC32 against symbol `bar' can not be used when making a shared object; recompile with -fPIC +``` + +Under some circumstances (e.g. when building Zydis as a static library using +CMake and then using Makefiles to manually link it into a shared library), CMake +might fail to detect that relocation information must be emitted. This can be forced +by passing `-DCMAKE_POSITION_INDEPENDENT_CODE=ON` to the CMake invocation. + +## Consulting and Business Support +We offer consulting services and professional business support for Zydis. If you need a custom extension, require help in integrating Zydis into your product or simply want contractually guaranteed updates and turnaround times, we are happy to assist with that! Please contact us at business@zyantific.com. + +## Donations + +Since GitHub Sponsors currently doesn't support sponsoring teams directly, donations are collected and distributed using [flobernd](https://github.com/users/flobernd/sponsorship)s account. + +## License + +Zydis is licensed under the MIT license. diff --git a/externals/dynarmic/externals/zydis/assets/ZydisExportConfigSample.h b/externals/dynarmic/externals/zydis/assets/ZydisExportConfigSample.h new file mode 100755 index 000000000..8bc50d33f --- /dev/null +++ b/externals/dynarmic/externals/zydis/assets/ZydisExportConfigSample.h @@ -0,0 +1,41 @@ + +#ifndef ZYDIS_EXPORT_H +#define ZYDIS_EXPORT_H + +#ifdef ZYDIS_STATIC_DEFINE +# define ZYDIS_EXPORT +# define ZYDIS_NO_EXPORT +#else +# ifndef ZYDIS_EXPORT +# ifdef Zydis_EXPORTS + /* We are building this library */ +# define ZYDIS_EXPORT +# else + /* We are using this library */ +# define ZYDIS_EXPORT +# endif +# endif + +# ifndef ZYDIS_NO_EXPORT +# define ZYDIS_NO_EXPORT +# endif +#endif + +#ifndef ZYDIS_DEPRECATED +# define ZYDIS_DEPRECATED __attribute__ ((__deprecated__)) +#endif + +#ifndef ZYDIS_DEPRECATED_EXPORT +# define ZYDIS_DEPRECATED_EXPORT ZYDIS_EXPORT ZYDIS_DEPRECATED +#endif + +#ifndef ZYDIS_DEPRECATED_NO_EXPORT +# define ZYDIS_DEPRECATED_NO_EXPORT ZYDIS_NO_EXPORT ZYDIS_DEPRECATED +#endif + +#define DEFINE_NO_DEPRECATED 0 +#if DEFINE_NO_DEPRECATED +# define ZYDIS_NO_DEPRECATED +#endif + +#endif diff --git a/externals/dynarmic/externals/zydis/assets/ZydisFuzz_seed_corpus.zip b/externals/dynarmic/externals/zydis/assets/ZydisFuzz_seed_corpus.zip new file mode 100755 index 0000000000000000000000000000000000000000..84969b4eceaa6ba87e3fa81bf0c83fee68f0cd5b GIT binary patch literal 371379 zcmb@v30PEh8#aDsVHjY5K^6y5859xM&N*{tvy=f8QBhIR&|GFYGcK9pR%sE)@np$t+l3SLVR%poi--lsr;(bNG|M!*Hc3oZ1`JLzYEcbIi z_et$15{D23Atg=}y*+4wR=vA7{;9cuAYzG@gq3BrdYf5iR%>)RGp*4xtkq^^NS(%} zXRUfQtF>6HDoQmp&4&;bZ`wbG|C#ZwA0ZI`j{imd|Jh>1A7-WaVtBZsMWI)fG9+Ty z`B^dY$Ej^ zhANjO^svED{{};8l4dkCtu@hB+N5T*I@-!GtckLzSe7;0v>LtMqM~hVy`igNB>&Uc zP}X4QxaHw>Dza|Q_9&u!D|gx+ae(M#5${Y1f0W9Wh8H>3wUF;J^lGVG)-gwT+jM07 zq^yp)a&P&Yrq{QfbSjIvfE&|u#~8N^XtSl}kI{iXgx90ahDSl_^SkFv7(afzOy=<% z$8q4dwS6D(2kzJK9A=wY%bG1_joEC$52LfGR4k*VC{nH0=op=q(&M3Yw)*Gz6wko_ zG=2`VlW0?r+|ni+-&>k7BWM2mPagT?IHEfy%Z-99H*XdMRn-&MH)@yYn ztumP`S{tp?&{~a7t!>iKde5-q(7)zz)V?8w7Yj1Z=EnyP4Oht{=t4hnG1Gk6=gu{` ziv}Mosn+F86$>IIxqUBdUe2^*0{TKQ99iO67&S*d5CFxw*az^f0 zW#6E#_r2E%B8*#~ykbA$9dWG8NjA6nr~b%sZz$^GW%d>+7e^$ilk(Hwe*0~?oD_R~ zDG-c|+0ee-&{Ly+kMwvB-X+Sq3$G=4xCEt9F|=N#v1%xiROxBjs-{VmiB?fIi`isR zX)O4Ai^@`e(yQPO{7++-_~%JSkmY^aO1h_YuqibaYd<99_Om06J4HjvGMT(S@vTH& zTjlKxy;3R%ct!Y3Q+uyi9GNP}Zr#YvUEhbz7zjIk8_wILqG-LvW~Ed%+N{%%EXiop zR+Ubrw~#cer`1-oiZW}MChcSm{GrCgKIJ&>30K+7H+GgnTo&C{l-(^QXR-ImeDRV6 zr0GoJpt41!4oCYIDf%|^Lj4`tX~VKMBdY_GMPbg1PNn@s-g5oNUK9LMzjOJ8)NBWrw6J8Zn|{e&7BB`<71p@$7Gpdi4|eHF}z^^lv?l92IuD3y(|Q98ymhgJNI8Wkm^5+8;&`IGuO!GfBlKZ0({@?zCo@+%;zh^OUcXX7hEKfQTKBp% z>YSZi^dRmaViBh#rW~2McUXSu0z>$w&xdDpD4IQd(=Y7>bBufaWF8B(LANgbt9Y1LX}8Z)gk+4N@eC9Z)%(5AqU zP#AQgE>JAnD`>lNx3kUhyx#4HZ5N(uW@y%Zp|M+*Juo{^Zcop!uI>@F`Q!5OvpX)6 zJodSMTRXX>fB1gG;V1e#4u96uX8sLas#`vKG;DUq8d^iz7&VI^W3rKW|0Y_^T6Gqk zhSBLMR>v?}WFe%^7sMJnXK+5^;tG!E$Uoy2tt*HZB+R7}#>JC9SBuD7@gK$}#Lkwa zIU`QmMTV1CMN0!@GXK3Hbjz{EGj{s-GwYW9iz20lqL#AALF>fZFIAR$g)H)#Qq^^~ z#KVL5Gw-$S=DTmees^xtQ5L0Yty;s-q}i;|SxuCgQ6VJRG_;AOn)K^> z4|1LP&{cw9T{%&7B%oq-U7|fI&8zMHur~t~^S=on72i2$s`HH4>&^*7xqQnGIk9J@ z|FK^}4NLPL?6d0}C8Dj0lE*43@#XkOkEgvNC*~A2GJaR|k?ZiHXU6L_8V#vsDXW>b zP#T7%EhZ~#)|<>~txl`4Xss-1ve7p6i;YLzlpd1)M2mJr?IaYjWU;90bb%|Qo}h@J zOx%q{C4mzjz0URs9yV0g`Qn^GTOWD1*pM%OeDYCi_NPGdNQ<8Nv^ZXneX}9jj(29r6>U(OYz8jZLMsn5|YFP3yI4KHwmI zHR(RC3mkOI9+XnY`C6!qtj9*8>cL-en*QUePjlQ>Wq)Z<@02&hFwxt!dX(|x{XJQ$Chk-=MH!B4b`G@meSZL62-Y$i<*%nEgH&X(lBbuVnVJ$0ygu-nx1x* zjL$1%_+VatX+^<>+hi35Ycd`@;baB!Q*p|BJ>+d~2aAtAow+F5nQx1g9}v*X74NPM z&mfXQKJA*XJLN1cama`C9y4g2X$nM}ATreunv`qhhCne2pdNvjmvF_Aql z+|reB%=dU6{#A@xu<7zBJWo(V;ABag31zxkrB=gr@G?}Cmc*s7>aB>TxE7?|qDHk= z??p}44@5S{nK~y1vo$FZ+h41oFWw8b(St)5hCwI*a-1Rs^oq(?L*tyZm?qRgy? zHlsh$l1-lef0YKNtepk2B7<VwD+-wU1}m2UT1*^aQ>a<=rEdOnl2IKuF7 z!aFjVvTuL?lCG@+6w=C#A`g4{n4=r}_(#4SaeF_kWVC8@M+|KuQD>@AU7FF8=yk|r zENW4`-VEQNUmSCsLPgni?q5bt&OxWo8ZKL~f5YmFCy1;#j@y;RTq%@%*Vf*_cc;VD zwThmh^vYH)t&vNM?-VQhFNg{iu5lFo z7}DrDcBKt2wce&&}GTT-v#y_Dto>;1so@O+{8enJ_~W zyyQb}@d8#n;(oZeDqIobShk`?!l-T`k3bHs~cHWuQi{m_B$1(nOj2?X~ z4UggDzPuW9eceWyNh_;Un^}{_tk=WuwOX}}HKVOH=}`o^F7HZoRQ%8X?5g1X8Ch4j z*K_|ZM{BsZHdAgmcc|RnilnOqef*1a?-@q48ujE)?oZB96)5|F8{~+|5g%m?At}yD zk+VM-8arV~yt2bl>a+DFbG#ZIe&ymRUv~F!A{yZy$yTp5QK&&JD$+zFX<77IR->^1 z=^!m;3#+AFclLQ9)Rnjd^EteME3bK@z>&7^uXt40(-}ijg#jVS7s_N662ru&kDg8N3KG-&QcZ>1+-afvNC4M zq*u9Gz$PQ2QmR;-EUgKYWPCZYX8Ob8<=Nu8+PoGy!q$QZ!EAg|bSGV5PAlD+{#EU- zXQWjx3Q#B-9bNmX@$2-k?HOQ!{s`fXB5~DBdbN(W&}vev0!XAn$w(p}X-QVEciHwl zzpXzyr*9oMN3~_~p)T8nl7OwbCJ#WVe?EiQiYeZzn3ua-#1#JCVIG zppj|StwU0#dc0NKCl;+I&D!emE42!B2vR#7QD>ph^O&qw8*ku?L&FOi(fpdfB9qa$ z5dv@4nqu7b1J^rLC^*FysSO`++~jyVB*1Q)dT^Ok*^e0IcVnzbkSG`0+g);`cj*#Z zk%HoC-La3nx(xhrH=4A+0XaV0bu8;OPK#%9hY8kZR++RqomPeF7I2{!0G-}uvRO39 z^KfIvqSm8cad~Q!#|?Z)>9q5ZMeu8-$=H7TKj8bF5j|Q21;J|@_ z8`1&=1%}4J)x$4OE*j%`*cOH%(V7D_YzhwHEck+yQ05{Z$)1*wa z7QxBFnn~JBlX|{~K$mQ>)MpemATEUC`UhyT(dT=IP=dUT5UqmLNQ3=<^hmH{Xvsz6(1`YwaJ8@v*}mx zcj_K%WSydr)O}esRSEW}4TV5vhqDO=?XbV@?=LKC-Ep$tn)Gm;oaP+F;e?vsRelG@ z?y-89$RF~Gg(GJ04Q60NdNAqqG(1Fu0!V`t$FMkJvyRb{W>(LTCSY;^m064HkeiHT zd~H|KIY~NZi6A1wXsl`Ltck3gTG4S)K;2XC74HR&TIQ8fC+Pc>JALau7ni1(aDAk7 zed02&qGEsET^70sJ?^xRDrnr zl>Cq%Yd1{nyyW}IMaw19EhFS-h3OM5tNo^);JDwp9djLoD3RPBvye+BqMhQ0q3QPG zV8K7bMtry-P~~B_-h$2-X+&kykX9OqAxvjXB!$SRMLZ#`B!w7BHEp*m!4ZlD-ejA_ zsrOg-m%XLz>(@57g&?H$%wG*c`B<^#!*e2G?D`|cA4x>At&N;v=DtlSvtg9GQU<(Re3CY#meuT9=KK0dR~6Zcn_UFnp6NLm4~a4Tmh zJ}iCx0ueLZ&@(tK*#)m{c`T|bxBHXA8GgzKWdp7h9T5(zi<}r*c(MF`pqZ#Lifb0# zVLKFx&PV+kVw9Y{WRQ!+vUoW$>`=g9sn-OVZ2V@~=G%Sxtp9yWUE{RezKZY`ibo5{`&@6LSamZo zT_y`Kv}?b3Wx4d*nqR(b-ICZh>#*`k{)!2g6ZY)h%}Ao}(HF~{t;wa2m5m? z20Vtl(1TB)oTv4q&8AnQE737HU)IL577NZ7Zq1L;bT5U@x+hZ&^OBJ8(XZ`Kzh4>e zAeP<8IvbW=bw5ZWG0ES~Xu15FRMLb&~NbY zwwY1`sYk4)EjIL3DmA7&XucU&z1O54^BG(wCSFbV>Li+1E|EtOZCa*=?2^+999JT8 zrEN7!Qw6DxYnhTk#b@L0m8>ZK^-9m!CxI0|a-8=k(&<`JV%U;UZRcK76_TGOw;#WLd}4}+%^D0$aioA}cpJ?YKm(Xv^V!{sJEz7)q*Pi} zL*3uxVZWfbF0v49>awOAhXgPqh{FN#Q;&}<>fTUShX&Nu-n`)5NuJxHi@md-N*5tj zWMyUb%*>Hcm~Y3&4wOjVRDS3y?$hT(pEnz~GUu)bDm>>8I-B06Mten>O?uX3G21YC zwOKJ7#DlOF;2~xU8VK5jem}3aHrYiE{v#jC#b<3DArs2R*@H(Bfi;WRFGDH~GxDv*#9a=h6i=Zfw$5v{PVQT!P@Ekc zt{8l7Y4HH>C955VRq-u*ZV|+H@ytGa*f~Vcp!iPw88Bi3nyI!S;=rYV+E{Hg+@G{! z6oJ95iPG|uPDK6}7vy##Ofu5GYO$ll;c$q$7E4MlZZExHG3Li#?VBY{ip>ieqHlRO zXV;^$bzSp~wlj{oF(n<3T$RM6g|->@>)CVXzRe~ir+UcG+|CwxBKW-3v46cK9|5b~ z!4f8$5nvFsHF_0kwJ{8!J_Zq8W!B&!^ePobL}q={Fo-Ky3VkFi?Lqn6LEYT~VMaWe zA-*b+i#q>m-@4fAi{&|jwxy1g^kvdpQFh0tty6oRP8fKviu>dX+u{GLT>g>d+&e*A zFFON#|1j*Cj|tbjmQM~hz7oXn=uMu;pGmE=@YNx}8sPNs72w8dt6FD9gJwnYq0oSm zjL8LmH+dzT0clYoZRMXR=dUi?P;(2QUuHEa70(v^6kbKmS^fj(Jy^c#0{IOmw^!td z+LD`(+OJG%mESLFT~K!G@~uA_Tcv)GWGIp3d?xOmnbY|h; zSP~t@-S~>tT!GQzCBND^qaTpfH}XP@+7um-O-v12(r4$wovHSdt<&u1H`mH!o0Wx+ z`edr*wPU_)(a3uG7h-`K*1J(-D+)-)s6K00v}H?ET`~77_$m*gtk~v+0?sx zlbwY#aBFyJd{yTA6K-5t!h_oaYw6lPqbx?b;l`L=KP5Q!{m@#{T|xZztz-NKo^ciEW1hUICpls;_O-bk`9V2@~sXX$cRSIz}$^^$g@=3 zc>r7r3=A2o)oQVT{b50aL|QQgA}wkgI3YBtwJ@wj(3y+|tb=dKXvgA{hr@H%M`+p}4`Cgf7jq+CumLMY30q;&5t7*;56Wa#MY z>BCb!48`6PR)q!*6{AkgkTxr8Rbz5&(Ezr$Y0WnFB|M#P<3J6fYscD!n_^RI zGP{qI`^m*i3k(y@r;GF24E3+beRua7$LQ$-LF`Gdm{-Xe>CGnVmQ0a511dHvlR8SH z+YK#UJCQR(YUEGYO5b zJ+eEF0GKpc^njy)N0~76V^s*`8Xk57v4An*p0XyL?PbVq9`l=*iX%el79vX`^WI)^ zIoo%8x6n=9Ld8pZ+*WNJ{pAzx&iO`m-wuq5%YxnR210K!*>rjvcvk>1(HmPRt4;%t z(E*bHwuv;VvRFZ8c`*RQS2VfzQg6g1k-u}D^2Ixb4s@nH_0GD-wW{9lw0kXId+NTd zXNN4kM0xd<)WDtdekLVn#sPdQ+B_}l4?9t~!|P~TY|TS1^TV#%l(__Ved`DR{&{hK zGi#K5veF+7X?*+|rBJ5W9VZfq4&FR1d~E_*xQz8nYs`aNHoxU|zC?Dr5N2lpW-;3b z3IH+!;-cDy$f=`rTB{Y0kD3jY+sjN#{#mu97t>sP^{WZZ72B25s=_~Y#P%YO5Iq%w zJ<2T^hMh@vhrC9#=TY4FkLr5u2&t?)?%XSh{bSJ;@9ZvV%l!MsUG{GDa+-g;{C+wN ze|CQ{O-4zESvVq&$;<-5wVC1THq5FpP{8zu(poSbe2JGM8lVg_^}NsF=x8Gof2FKX zq9nzc*I{>XO2=Z~sixRqBItxM#&2FuTj_POh7ja?4U&pi_b{pMsoIJ5T<#zc=PKlQgbqI*PBScv257Uv_z6D-~o&^fq5|?Q&MVLg^m`4#s%0wYH)`;Q0J)1KI zNw!!1i^~9>anv_xY>lWQOjcwMoUf3PYo>a+Ur5xic6(ptN9F{|5&ElNTDIf0H{?+Q zc4PU1tk~HP4=*n1m+dI~=9|+G&P_RzxNzZr@mPnd4on+@r*Xso4CobVn*}u{tpTx4 ztufgEkeL|V01b_5Udv+Oj26BA9X+Q-S+$VzwUcsj`@@0PgANanZ>wD~XVK>$soSra zdwZpMvTo9qmaief!m5Or`}~~{_?h6`9=1~6XlX-X32p`MCavXJqc(m}3sjobv$z2)No#@psxjE7 z%&y$~yqO?C(`1pkhq8`az5L26plQV#v(Dmu{43ATEXXo03ChQ;t$|A%wIOV%H5y%jR5Uo7q)zXmG(PWr)c05oa6_BA#EZgMdh1qs8OMEq>6b)dyI(%M zK-w&CXvTe{u>*(elESX9Ub$!TJKYETJGCrs(`OtHHauJ%FYW3%oaN2^<3QGsp&sTk zj7f#SWLBGWm^89x27oF>>GXOPpgu6BRN#aF=ySn3O_?h+=W=oOB8MYeAkc-Uf=I`( zXA(a&+pdd!%g@V&UkXzte#>$nd{@SLm)@~TZ{VE_TDQ&_*0K1LKvh_*K09>cYt2tQ z`21dB=vM%G|Mq&mS|g7~eZ-%#8!xlsc4GKKnK6~Kz=^E1R!@;OwN}m8)ELNU7)){D zUrk+A7ssCv`AH8c%PR?Q9_G^;bC$-WvyboJst6QkY`^mP&IwWTL7d@yQYCvTu z>3KMcH8{X;lQeR}yZ;sc<3($9q2-MWhnRgs zKj-8Bv*&{0xUMFOHX#q2FgV2|4Bl@snKg_C^I^4`G}Btwe7foQFA9(-Rs&GLHJ-zl zbXB$9B6gI)nRQ~&*mossLdsUoHU1Wu9x0L-C-TjrDt;8z+!mO6uAY?J_!>C8LP8?>#qz6RIEc*dwPArKR|BYsfPR{Ys1%XZl^M%Y-12F!NEk2 z4vrweV~qX*lb|9ZRXjHty@Bo}D6(L?M1|bUj3q15*7yw-w^=~#q3@UV+J4#IoTNH1 z&WlGDw`&>i%q#Pj8afx}6X~_*+DG>qthmu%5VSe<6vxTie>wBoCfU0E_6<)2{XN4e zZ}`>2JxVfQxI5;6xK61s&e7PcYH;rHOU>wMJ=PmAVE{cAG&?gW<1WLWR|Wk)AgLWG zJsl>EdgAzKop8{d@0mT_H%<5|`-6i{r!3}DS#)q^(y%TPf%4ykxNGAl8mYfG0PpA7 zt3ba68n3Gm1;~ustkRnplOCwPjc*$en=naMyUL~Kq~eAh9;qU{F556+LcKwXv;M{< z&HElX+@{ady1=vkLWztFOY}<^P0WAm?zC{{A9{P2r(E-{WryVj$3I9`h6fnK3@7#- zathd=Z{Oa0`}QdN_D8=zQY^E7)%W;-U&c0$QysiBhVkSQ_nR?;cS_-EV0?-C8B-rj zzfqX#84Cb6@ZFK}FtV^UJsLDQy%3Ay8#tR=J~ezq3d}LeUvsx`i_V306uiIC>)-Q+ z`gJ@dZ5t*K?vR-sRdqs&?A_q*;9mV}?k&hb*5Uu_?#rM+?=xJ`{YGH%hp%taNYm zZhLz0C^D?4)VVK(lzbm4|Ko$bU-ZbfcN^&$N_k(8UiofdKM&8)VnzFP9X>YV8A?;3PH`fN22LvF<>l)F$z zT#_|=!V?F=753}B8y#`0$f;W1joq&w6(x`nz13{Orjb>Ru3e3xlwM=gnL$)X8-PVM zR%3Y?m>6B}^!w;{S+V(iaA$0QWS9~LRl1_%lA+?;7Lo``GPIHnl7L5+*({Y~bJbd@E^NUNf zCg3^Tab8Py=&ib!i1RMgL2e8w6ral~ki|M3 z4xpFCgIQ;pJ)(h^0(L>iKO@I=y7u1QDGTKjx{3}y<&=eGg{%ChDr5}NZbsCIaK%)I zfjC;0d^j2Th!;x{0H%=#MK?yp~vWa$8D~o=QHvCl^=G*%M*YA zCZuI3zHGCiiL^1mBUljK(R67rw*yL~gkUvw2FvZ+`5A3W zgN=5-{2m{eje7&mJ!qf?T{W0ulv>vsBj^S55)H+vye_l9hm_IkH6#CR9I=iqGzvi|kEN+~g;t`0VyUq#i zeaFmm1TEUPm3+OtHY@eSA!+FLpA6?83MAs1_-anw$Z@o)T*u1$DlK zRRM|veL@8|u|Af9*~YKyF&O2#P@d;GzN<uf~br_pT?c&%JQO znSte>MA5Nfy_XL8>M)kaI_4biWsgg#{KN1c(Zkl>i30Kao}doz4XS?~SnfG$1~6jQ zqTE6)Ls@~Tf$eHRz09JsVzk(p#U=z|Xv3OjlT{_}4Lqo0-{DmjoqV<^J}~)C_P$bi zA3q+H>Lm+joWq5wEBsR4wr}gTbA(-RG~B2>WWSy)8K!*OKF;vF-;&quOENQN9s-J> zyXZM4;d9du9j~q6Pxx5@iE$u^lvG|^( z_>-EsSArY4LW@~LroHB2sGe1s)haYl7>KA;R<#x5N)1YR)~3eFw2i?+7|YnSuJx%V z4F%K6KtzWdoen`LNf!pVeAVzFYc`0|hX$EsXRb`n5NvAm!?>-IgxZQpe>@h68mIWt zQ~w$_$kS0l-k{JmPyx7n91&xLW9@9JOKiVRRQJ_K5nj zB=}ibVvoK`l%$1M&$>8eh2P-a0_{cddP+Uv3O&evrPZ=S6~tJgRmp}8!~Sc#ZtDFX zR%$&=#*!if-~wCFDhtR2wAzBTQZuQ=unb%0pb>+Cr&Ft&Hn~0wIE9bGzrrTzn4+K) zn{CGG@(ua>tGyrejXL$@Nn}(Tdz(e)`$>)dJMMkGaDcC@vuA(LyX0pF+CEM2Fbq8l z@-ucKXp)2hD(u`~f7qk~-yNX<)v48FL1WYO*3jSO5@?GC0S^puCk;JFXUO0=sml2& z8RIQS4j%LoS9gw4T;t26sPDPe@rG3nLGn)W{n3r@yVv4>QzqEx-in|=Ze_95VFEmY zQUdFHAac>P2^=o)jBGR}c6yMrT^a2~Xi!r-tqp7krNBG-O|e4ih%=nrD&wYfa$1j# zEPB%+A-)+SIjlC^_&W0QjL=J$E@48tENx4-s2d#`FR~tcC)DH_vHy-ZmWMff2vZbKTe{ zfuXu1POjmfeKq$*`Mi#A?Zp;$+(cb6Ie$5T)Vy$t_UGC*|`To$v)XlvIdYI0qxurKc zL{Ee1ZV(is2_1=1BaP*AEMuVxMWUlnGk^-C2iF+mJ)K5Hzr+r!tB}*ge&X8d`>}^$ z$nTLd`F~HtL_(cYu@Vbpvb{vaL2kADLS*rzVY!@cXjaSo^DFmVNc~pmPyD^`cctUb zUAwU9aeGjggE?VINrFCMjUH-a%Cu>AJk+yJ0ncNxqKSmAg&u2u7)hE;S{u>~Fm>#Q zG8*uu!J~eOi(sF;K)xcVCkUC5J!jAH+4QNsRCtsSqy&fjV+>Y1N0H}aPx4bf3_4uL zoeuciH+f>bdROba#ejWZzdbdvC4f+S=F|&c{pa^hNviAxrzFDM;$r0>xj-VjY%sm8 z{7OBIPVO~f!i2#~etGLay72p4oHb}iJ?0U_A?1ROVUlZ-0=5X>08j2nU=f*(UtVZu(!+=)b@|;Nb zJAh&Yg%pa&iS;;|tmmzRIEJ187r};+wgxCELeq=i0pS>fVDGK!sc__!b`!;9jFin z32ey8vs>k#KRY=71RwYN?Wxv!_y`~OpKcl6o?qsE7B_8HD-Z~H1=2sJTj0jf3>YR> zH9QB)7-%Fx_OZDT=_cbQ-_d*S3V@az(n?_->Oc5I<@BIae|fDRUObg^d`^Fr7jaWs zaw8$O6|+_`CEXElxww=g{FA13u!ypWo%HsxdV4_8abmi}vq0pB7A=1q>cg*5KHG!i zA%6x6B3cc@YAvRejXPTrv&Nu5U~6KsaL<|HeHC4oe^b?HEi9o@#Bv^%3b4| zaLChM-c?R)IWyODa~>)_lnO8vC;)mAtJ6qZ z@vQjN$E-3uR(YaSw4?>@Cl|2p{5R*H+GcT)$xn%CTTN@YC}OUUcam}NQo+GX-N<*c zlM^M~bB2Fi)~)!7;j0OTTYZVm{k*c)MIYH4*0@4=FV{Jmrz5#NMU9N=w&!X%-5#WGsELoS_foW_zxi^S<40&BiZyQ5SbjgU%L& z1rr1cK=RU=p-%u#BL;8Kz5wkG0~i~4cR=~;3!h$8TbOPH!^5p*gSADYK zbMM6cf|TD9ZeL7~-uxpMzdzntC^&2$cg0v?n=jfRkE@VRES>9pQD$0wocLp@sB*|= ztTb%)xQx7iq@EMVdHmi@>al@KjcqOnKtL%;rPHD`x1sw5n6GBgl0icUtt04a^#(Ux z06Qd-yTvVf)_R-!Bo(F7rSoR$rZ;FmoFA&A)_EB!ctMW&KCi%^&lMy`%PWZ;pZ?HV znQLFREM)t@U+pPgrB?}kcrdwMAjn?0a6sR_Bl^zMq<-A};Oxnh?|tybfq|k9lRce= zf1)u}?ZrHx<0b|m)$mMw&;=Pi38-7A0;x@pj0rrM!KSmCWxzP0Tu#%Z$N!J;vMl}n z&A7I~2YXE)6t?O6%;IeY_pTh)Cv4g$@9X{bQQ_X``fY;9;xevm(ogXsgI|@S*=A{B zNKyLh)0cY+?C`PW;p}-%YHJU=b9Ajo zLs_vFf!%(atL=DR6!+}zo^{GTUnP!@Cyz>FeoswHQ<0)R>gXVE>H1^D`GbHk7Zwhk zL!FBHWX;LqIfvesNCdgBq=p6WjI>vKXKnNP^Uzp%>R98u3w-X_YvMe7pMQk1o`uu- zDTKS6qHJi7fLh{iA|Bdo;4pwv3WNtVB&-`~tY(Xa#QJcPm(}wT>KoMF7r2{7r;iw@ z&r+Z4*7H)-B2^(%QMKlneVuow%Cfg2Ph5zE$>k-GHcqLI(v~WSML5G~qz$tqLqVN5> z$bH9U-N=-m5&wIGprlLuB1aS`c}rT(8SzzP`+wiQR?MHe+kRe$2)`JR?#+ld7VM~D zdq;0IVbM;HB`SbF7H|t)Eq9alyZTjeP{4C^r2ebtt{8F5ab&RaFV_$Pt#<6;b;9_; zgMZpKzo3z?w14Zg;Z<1e4(!+<#S~Bl1wWe=8~or_pw_~W7TpsMX2R*Q%wcI5r#vsP zn+-&agh|coiV7<~KFc7Q*MgaLCUou2CL3pTd7u4!@#uLxb=0kkh#hv4$EWnTS{iWuz!lX}S_Z^XTr)m=;4oE?#A!0i zuy(YT?oXnXL0oZcNX`0InoUa&NWRPIT@3p(9K6g}j4AE_IXrD57hfgeOK_?IJte*G?(JDcg&PU{D2a9DR)Yah2Yk&%)BPK0q z1^^9#vI0;Tu7J@twi)W}e%`_USA+nBb=vNoQN0vUOGN{Yb^pzn7S*56aV#EWSOUSY z_0l%>I>F4FTzxnrmUNb_{w^#S)9fa8uZ$9pq*pPWW&l1 zxLH=l;;KEKYb=V7`W@DK^0xP`eF{a9LXoblmjN>hzOQUKRC*}C^m?55d$V%_(L-rB z(j_Z$&2$mw7L}Km^NTEwUmh+xz50Ar^?skd$)Cpiizl3K79LzdLYquzH>=YkM$ALW#ZOv!=(-xD{_-)jB)qU^n@EM~5z57R2}N z-M(GBL+!l6|3Ry#&ngf28#R zajNsU-$9*qql*HwY5iN~3QXZdFyKMR+b<@bBf< zinMO5k*g5OI}hS>#eAew-oybW+|Q3{Dxx>17R+^%ho*d z>9aYcD5XyylhN}U*VnHpe;wf`InOqwu+0Fa1;lKCIla*TBO;TWCPfYE**!LMEt{ z=!`*>vA#Hw3(XQQ3eA<;5of`(zVNCAD#=h4lqoQP3esUYG-2j~+J_ z-9Dla5pOHsF%>~`Nw<}YBCK1xMK60lAU&JbPJcZ+O#Ak_OK){HRhKLM z`?UO9Am@t~63NJViJTr^LK;-?IPPB5;lzCl-zlpaIdaAC3u9IHMIVT-?J}G{e?by6 zH6*l^=Qx%R4I%AqlXyO$+moSCfO#vB4+I1(d}#E*vQf-J`xA(o8f6L%Ib0MgO?vV_ zYT4qha>5)y&i5HAWEcBv+x8?-VwfDIo5gVlqkCaukXd)4{C;15>4pD#`x9*&z4*B6 ze*2(Qq8-FhYN5P~+>Fgg8#Fdh6Y5YrVLK9&1T>8=+lhl&r%=>kk{uaa`*rJ%mC?s5 z?E!|q_UkuK8(Sy;ARgkME0vMgmO1SIP)YkPP~0F=*ZF(jVMPI6PYtpvuj%cVG-Ewy zf&Aer)xHNkS=I=z4Bk7q>}F`}L8<^{l3In~8bnY)=LP2lv{Lkk^@sbsxLfZ9Xlnl! z&z5!LHPU$bY+}%PBA7K9Afxw8B3a{-NQQv6V7IyJncq0$7JCKMgbj!L?JbkqkB=yx zUv|SLisvP?yy zVn(@amESJOrh6RMklbS?b~$rM_?w{{F9jecwk}-di1*#l8>>Uf8~D|s3$NtQEc49o z{AG<(TzTIU@xe>bvsf5rL0i*;G!8{A%x(dqfbpTmz6u{>u%+8{aP+(bZqTaQ%{%>@ z;PH%i+G^uIa%hpk?-OI^e7Swva-(c-obv8p8IwPd2xb%ke`<_qmXhC_`3}Q9tp#O* z*JcC*1?FPIgToCMy64Kx-Dq)p#kw{v-r6qHv}WdBQgTSG9ziRFQ+>0L!t zEsDS5IDU0YL8uj%Mo!xM&086Ra-dS}l;;q}nE>EA6pipxPBJF*HP+TKRsSWv%_E%` zwp6qRJM!5Sg~aYCb`w$GVr`D1G(6{>hgMMGLJ9!27kXIuoa>36hjhB0Na!Vy=#0FU zc-AF(fT(@CRHj@}SIeFDZ6@3iq1Y}c9w3m#2PKIkCMq<>?CUc5_^e+3k;7Igs=JkD zZx65WBrNe)Abm{@H4e7A@hWJof?a1u_l#8!5H}%41AaS1mC#)S7|>GSp<=qy^!glH z>V4xUyr(D>1g|`F{0ykk^SHk8 z33&>|ws84EyPcI6y*l>PbvEZcokH>G(W8&R2PdXJ0wKIFDB))Zml!&zJ%beQ{S%Hv z_u~Nqca+804f=xoj9hC$nMh%X42dh`Ck^!dNYsXU1`wC(g(a4Iv)kBHYPbzG*>OZ^ zu2;U7BR#ycvAj5M&88J)e#tG?{A@L*_EMBD>@YuIc8TA(D`_2xu~eCY;}X9VtgAan zUM!2gg60QT8VESjDyXe$0rRtH<49=LsIdpa zYcajd7z?~SneK0Tn^eqc?WN8$6HW>&R5!~|r?c9Au7}wEYS4Kf*;aB&*FsB=sN03* z=6OVmG2T+etQ(K)f{X1v;wFF8A%3s6b61u$j|N zK3VW@y{e1LZ7cC{~EWVYnbG&eQ`-Z@(*W; zJ2e69rnSd`GS|fwJ`rH6{&;O~QIaw%JE-GkpEeQ7l|ERz+5gSBC+eu^>>$4NC)e?6 zx0aE9{WOhUK>h)05KoSEmt~kF^U)k4tJwL5&Nly4&?>~l8LxoB*G+JP@fiqL;%c%i zL-!wFk@^_I}1K&4>>kY+If&bS$HJtd!mSseQ}iKw<2DAdQOc(AnvxoY_yb>DsG>B@4T9 zf8kHV9q%H`g6KixxyVq((<3G?`N}-1C|vOsMQ$oC%8~80OQsmUtQiyBQ)8EQ$@OV; zBOI)jFyrTB>;E+y_NjfFTGvnzgPTVG~AZwgVLH~9_ESTgTyi*hnZ;v?B=aNgt~ zxywa7%@fJm9moi43vKU=Z$z7pWye=w3>409f410ETKosOW^aTorbEn~TN&h|M_K7V zo^9_r*yKGts$-#+zl?79ACo~W9@0A8NhmI1e*lpWH&JH-EdgadziovC)F4^ZWEIIb z(VoiRiaM9__ttrZPF{Uxh?hK}bH=MspZP8~w7972yziO~7b_1Y6u(oqv5nzu`=_2r zH1Fj7%eE}xD--t&7PJ(UCFne?H2wx?kP6)hV}eWshExb16gCYp^K=0yO*%P$!cu%G zrd(EOAR>CZ&euV74VJC{pnC8u&g5GxRHjBQSm*8gZdtTnC3Pg~*M0rk7_>oNhEch9 zrR>L^7m`mhuSt7dm;pI z3K;9b+d1!jKk*-)Nj=}$uw$Q`Qr_#5?ysoLi;#+sDrMqnH%}~=v8N>w7$m+^*wR~+ z{pqJa(3{L%yFYFA35vWW4>@kH?3qkd^ef2bk72-Okou(|R&~BS9A;C?NgOQmMk{lW1tUB+Z&-2q4k_5g#feVz zm5+BEdh30|N?);Yp{8mSC;wG+eBFkwD?^Ja2c=D4<{5hUSJ89Y4ZCL@0L>bxUqa0g zOkxv$2blabQ}J7zgXcN zkqDdJAxH;H>lK0E)}#rb2k1_)7J_3s;9-1B!X5?I6PgS`u7vcDW%!6{VyW`On1b|B zLJ-;2XN_QH%s9jN8GDoQ`J0)N>)&Z77Yi3ITo|xWd4KalPaoh9HtpM}oRJ;}i;~sG zuOkD(1#=I3`^fBI9ilX+v6Em%*TeGVV$%iIv+HO``2YL$7*8VVt%o;%_+j+Y(Zzx< z8`UZ)YuEm4gZ1w6kY+5{>wyrl8XLWcgZS_YrldBE^li`w(V?n^1}Y>v>yNmpS_Na4 zFy&_!LPV|(I#J7o9v;@cjPL>gu*NsQoG? zw##9Uk_w!6E-rp_-_bz#ujV|SgLjp`lDxOm9Pg%VT;5;rs4UB!O36)UWu7c{)+41MC_lVF zalvs>mNI^PrDO+5W|ZyT=y~OMZ?4rEXBa*FK@I9Jq|O){X3OA!)%~;?oRcOpt9OmvhGd^`Sx6tj+%?eqy-e2C9)?42K&& zyS7#oCVMmdyduhst($njS`c5M-j>94C>o}gXq3xWe7Y=6|IT?&jduQ-R_}f+;Z;H0 z9R=ubpmu`j2`tVGRU$1^+D(ubL$1Mxs{mh{8SFdJu3P%N;O&Vl)^o{tridZhe#?5@ z(2TA~TR$&#V#3y=Jp}?~?!}YhU;yqiZZQCNQ{CfN%CWfeaBNua>k|yyb3H>M@A$_T ze*KhhfZUFcuik;T0PGFSD+Fq=uppiXPr|GSyDQduIZ>37u5{mIncG0ZYVuote*=mq z8smxEWdlNWtt4OQH}9N1==izj9r`pxg<)9}+q_-v8rK zxn}vi!w_Y0^eV{ME8Y0XnNjN+>y*^S6u!xK&2Gm)0tXotzzQ}UA#8>rIn<#s7{E>( zdVS~*0VP7&<;sxHbBy}1_aX#cIxsMwvrjh)4}%rS_Be53ANhuTe>peVRO9_kfcoR@ z+YH{Aj7x;MN-?p;GS*m_b$d|1eqMuk-Sa)&1_yQaIDFp6r|h-oc`|FU90b@L(pu=1 zZP2V#p12rlfF;@LlI+FiLEG8JpHfZr6PlAtwL6#Gr7{W@;OSnzF=o2TP>UL2c zqE8BY+HI9n;3sO9S}z%MMVM)5v0ZT3S0WJKyP3It2vFM_biy{l9enBOCLel&i(@Rp z8O6G`7t4R-xQE%dCMt=3KD+H5_UulRf4Jh)w3+Xo=RePxf4C|-)>9;be?CXQ;!~d2 z0*d2z!@e8Kv`52K1m26D1C!^-t&+QPol!8 zpmHt09E$Jawp5&PbSz3MljkX9l4j}c@ZqD3{6sskl1hgRGTcxb*@zkgIcudkGM0#E^x6~}p0(Jigf_jxuTy{ug=ZEjazg8ez?oQhzCig-ZcwC1 z+!I}S@P(9luB*sRCiy*DB$;V~mU5USNrE#&sIHw*AMHWKXF=yC!`9F zT!_Sge+hEJ0jEP%k18ILOSFG4!0RHu-H%J)z7tO|mVYC3*1pwydHpR)`^PzF z&gj7?+aizW)5{04n|5te?$_eC*l0$iM8>oQMrZ&bK}I)(gB1e;uM)M6DpEzrrxD=F z+V4po-#3NFIkhZN^L;ArJF&Z1W0VxbX@(g1cxOu|eQ)HcPPe_L`9p1aj98NuP|i_y`=kFMkVw){!C>5<6I zI_pP7()$=e`8|FSX0FMmjwUz;j%Nr1VAC5{`oHKZc&@dow>9fSSR*W*{0PK^4OCqY4Qjj*i2 zyXdZlnUN!4sy=Zzf=IEtDJrkT6+gYCte{Ua$fEx7`wt=X@j8MHaG3*KfdU#k9Ckwp z3nhwZGWd!xfR#-A%oJ7y?z1lSC!gA3kW`iv|0HD4bmt@XUpb4-8x|!?j5oU%<+cZ{ z5$wK0O?2O+*`rRoDlJ{((s1XVT=Zf4_RaayP=}p?-8yZB(IXeg2s~gb4nRIe1rrH$ z5pjdSd;##{MItGcFrNi96cq(CF!=J=eLSrd8p@f2h-No4et$G^qMBJK9n(PK*%x{j zIC~fHzHMO<$B)=qrN^mZ)5U_gj_7bIo0TXFKQws1)@ARb?Z%BNf#4U@UB2qQ*0M*3 zI@gz8^ONTg{*i5afP6_xNl;l~VhltSsqK--`Nb!L>jwkHaM1k#xLd#8emiK4#wI3o zQA&ZOF5k8rN`*A=kU=!W(+|slPEL?X5agujjrUQZtGON(j1@=~4=1VO({G0HI-QF(JG1A> z@S|*3WF$uGP|?Ft8b*s4*vQgTAx(oz6@0jeA-vqeFHL;`Y|lcVR`U|;){-Q1&E|fa z$1p|J8B1!0@VaR3N3UWuC_?hm`t<_o<%w?`X@z*79)7A`g7wBx1sc0-99G6AHhzZd&sAtL43m!7i0YG)z zG0T0{4M^@1mfndcEOn?Y)I?aQjEJsnAN6QG(F9B)nt(G_Nx-3anY#E#=mE^Ti%lQ) zW!D|BCW$dmNkSxh@=e@DAC-PLNLcuTFs?fz*Pt@~T+gh{%E~%^_ikS)eYMH1-oC~7 zGpToNR|{yjC~sl^5A6jali|rh1h+t zXlU4duHlEy-~Mn+zuja6WBc|rV2hakqc(|xi6bBa^ri4wLxKkY8DxdSTLdm<&lx%X z_qTTy#D*4y5Te&s7z_#yi9%SveI9gOr!6`%wI3(6E4%nKSMm;@wJ%yryl5CLj-pLG z))$h=w9QSHTh$zTkc?n#MHM_{K@!1OA_^M^w+W&_brARgDTS{WNcEt80b=TCQtjX5 zk2!?@|M_%3^zvortyz|E{+rJEBbOFRj?y`VI!Mt_V@ctng#Cid`3OCbUR)lam>_Bj znb5fXQ6<>jM%MS$;u`nZY~=HG#;t(B1aE4eShf1GMYp{+vK=0qjhJCIa^F=Wf9X*6 z+G}c;+R1kOc8*H}t~k^Ec1V%4+i>y{y~x2N0gk!2@Zkpq=oKbMC>PW9@B~iNDFFOM z0vLe{gLR^0?}+Oe%rr70Hpw*A*@r1%J#|nnMbh4p!0&Sg1qcO3fphPOnCel*jM;n> z!%LKXzc%wz1oZ^AdXKPFH&c8T9*g6t7Z04qs-vF=^40I}%hZv2*H+{Z?^0M>k+dUd zi-GbfVf{-yxKsvU-7qtTVHmtotX1TT%)tn7w)U`~tW7&5h&O=eZWh+&$Avi<-(o75 zp%a!l#m_1|)|dUYW`1DL>9U;Ksmqk|Z$5fd;`==vt0Bi=<95dwdYyoXH?aNzXP_sA zIRwrqe2oYNSOH@`IQk-u7Erg`iq*W}G2rEY(NQP-0yFm~B@K9jl>ZdRe%c!bk+DTx zRg!B8fZyOFsAU)%vL%z9e$fWM&26fOu)(G5oLF)MY}!+Q?}@P_2iB1~;q1nbKX%+e zfbX#DujBQ6@_v!OLdN1Nf|>X$*ia9opTlo~K=tsPB1Jv8Y#_4fB1n1@G|1RG$Zm>y zfx$3?z4-;JHQ{FM2c=1}hZm59cu`Saow!^r{)SsFF+Ls(UA-#=V->6qlxr+eZJ3kzdskJHcTHewD3Iz?3fyhQ;v2K)53$R^Xz_ z@jN4*4`MjfrgAWD@hm=vS7>%AE)_ct7Edc5#AOx7q7*&)`4Hy(kbMUzDMN2T{CMOd z9eYljmCmdz@fr9?vRL!3gF5&c^|o}a(R8xY;vZ2>av%_h?Fgj96#y9sAPa&`rND&) z*Brzl5g%;utAOdiF-w)&;qCXVBcM0CJ|^ie^BY117%|ZPK;RU1AbVhO$#Jt;;Fg@X zZPYD6&uDfoyYM(G1f;B1xn#{nLAZ&#xxnqU6794Af6*2ev-q>c!PUHv<1UBl>HCJ9 zi676IKluosZhIQiurr`qGa&sC)D8tq9bxvTGawWOPSFMu?O;IJFSo+=_RmBv^-!41 zw5bfOwi2co=fSsG-V%}TqTqiXM8~}%5Qm$S`$&&vs|R^E)ksU{3|`G_5%IpTDVTXjyui7zYTBy@++WXp zMLYk@530*$l8>7~Y@(2`75tI>TfX-r_PHWjz*gp$-HQ{nr(*W~A_#5s+R%Q1x}bH| zObt<==Se)%)j!l1O)f5>zj5RU1Wvl*OQH~LN5BAS3S#LYw!tVuhU{B#CLmw|i-@>U z$UcDZqC%K@FVCjHxm;+18a=fu!iaO9)c$$s<2R(pIPAZ!Et z0YE$*>PS$U5z`CbP)zQXkT~HvK$xivqYC?tFU%GTm$w9JN9V&Rx1^+B#28*oQyk1*H}#CY`hf=9^ga^K0hi|^zop0TIPu8=}9U` zII7klZ8L04YR zm2CtOw0XmJ(JJ*QX~5UwDd9nR?;dA159+1*wvC$ax_;nX?WxXPajDAh7(oSXbt<47 z9S{dH(gJ3W;XaA_km7yDh!@2Ki09y&Lr`hiICf7qp~hAB9xCCmhx4Y`yp4IhVcY*K zH(ok9q;wLs`c&RHbMPs@(oKc8syE9d@oPUn!k9hZCEzS&p0&XkA!%nSnofRDyxY~4 z?+Ul$+bKNWtkRxi+$2}4Hmv_;bm!*h55ew(L@Q@I1W{W^mc*4jH1%4JUpY+u)}$KepBR{8U!) zpI|Ypc5ZH`gwV$b*B{JopL;#$r(vBxcyd@Vn`jPgF9Jf5ki-e9C$uai1P7-Vtj`F8 z0amZrRN&>}=Kw~reDJeg1Z%gJe@xiM2yxAGQF&rC^0%z;PDr5xw9b2-zlMdvcv>;i<`ELusL3O3P`asU?})n|kwk`O%bV!~#xsI}EK- z279Fi9PjOIYP`^Eblx_woJ&0)y-)cIOT&rDxJxcID26v^cEqV2)HFu$aX5_Y7$@GGn$h=E zXY{Y@$sqlkSa6#(2(I%`aS(Yv^2#yZB$@+wdVxoSVL~ck2gEU;t+W=)cCSCO;1Fgc+a1>C>8Vgu@E$KU;D$0kh=Fv17-g6du)Q z^85EUZ!*zk9c1AT-YJ#-5bNY z@JuGpg%@lVgizVmsh&rXNUT=sxG8ZrqA6-uj-olCUQp%TwSL|>&Thwo_HgOW;oK_f zQN_HMjve7ORV~+kONp~gQ>NzaXH6DN+_ou@5q+uiY|6v=>W2jQvu$`ZfDof)<4jncJcB;mXj@rMA4u~Tm31n<|nj+2&rxtb(5S=MuHW&do5aKxmUgM=w*gp=I zdmOxCvy0fYoEmEio%K%1Pu+!AdD3G}n~3`9BZ_~O$7J)wi^{kmFEK*gcmvC7&86#2 zF_Q5MO{Q);Q~Ef^Rh;DB+u6N^U)(w>?+-trkU&?RzW&TnMGT>~*ltgd5Xh4W9TV^? z)RHjh0pP5Mw=5Y$z z$XD=2QrW_9%bQM8)OMjJ&AHKC-RI@7ew|B5_4@B-JhkfRngE7_GejtpV5PxV3$+2M zz)(LT!zn2O7F&YY7}=v1Cb?4 zH~N}`UtS4|ujThon9U~z>E6Z@%v{gn?Tnw7BM12idKBMvX*xJ&Rh<$6I2dOn@ zIL``Z=lUcBdULLPzgiyUt#j=l_z(EjNvQq!qXlm%a=Wkxg|Xi2EXzHf#(Suv{UKnV zsaFBjkw#(U23iz)KuoftKuAMNl7_}y6%MhS&U)cI?+;;_z!@z`2GaT5z$5kM(u{&_ zj*DKKd5V!LP*3VBJ#RWOg46S3Qw$;vYWw9JN=YhyDd3}KQ+a-)SpZ^f<8)(22#;G4 zc*q zaa~qq3}deT8#$KjL0$zv=1lqd!(qcPY3}AKlZx5Db@LuGmR81*gCVN(n@0?QY=;?T z8pyh&7t{kQ1j#NfQUTit{0k=I#GDE0205tR&%Z*A#(shxHG1?rXFV2#Y@h&D{#Hp%In z(dXc%O`Bwrd#kElcz+vLA1|i;3Q~+l%{eY0?TBqC2lIOf)GUo4P!mkxh;J|Q!C>P7 zk7OyTQbf#Qes1{{c3Z0s1E8kbuq;GOu)j+~eIESWil=eL* z-NU0-dLKz9LGhX07wROM`P)79mtPlyS)2PW-=&FP7L6x3nr+#^LMD7D9Z`0{2OU#H zFcf5Ik=T;Zctailkqg`r?7sk(YRJs9=8S6-)#CENN{Z?^{5p(gD+gxhzrv||;F!v; z+!U67V2Y^q`}~}rwOuye{ZJ${uiCtIQ=ocz5bdfb>zcIdf5!;`ZUdt**2nD#;TE8S za4>fvheDQaBvOmf-2n^46c>&ys^^1IEIrhbq-hl}{_Nph!R#pV%gmyJcMtXOke;LN zL2s1E2&iRkQX)#r5-Bd;a2uXvH%4;|ZjAMbf;C0VQ~uOgH?5NP)nrd!Yr8j+7>qn_ zPBFR+PlY`i_A@Fn71VxE=AsTz$|0?X4?U4E!ot_?0W}y|Z<9~%@SxLKJm^B|TGuaN zI%k@O59RSbzC*pdp+jyt(>dAPbNdEXXapmM*v!`q?#*Z!oD@73{6#j%i|e`X?LL>) z(CNc_#HVy4(2{Lez@1kGdLr1kV0n;m4C3LTC&~p<86dtDd4y8^bLs-iu6S}7&CKMM z=rFGlf8=j_;L1Vg`q8)qbKNO(>6|>mv ztHsmAG2i@>4r`FruGz?0@-9Bwb{(RN!a37HxdNdr)RnmV;E54|odHG#oT<}MUZOm+ zjt=eK=bz?u_UJWET;h z!>>IC_Qc7eKUsel?`2kJ2k#9n_{Uq&&``QuYphRVR&6)71#{FpqTU~KD>&S^V1ufw zzV*;Yowog|S4W+Sq5TNlcoEQO0qr&b?vm0G~^=eIppER_wb3f=35UUCH!gNv<}z{*9T?`5un|mV?wtiL)VRhOo?0`%Q`=+ zB(r{^H2{LHWBB)=YW*^|MG;nRcVjQ~LdS%{TNHHLqDSn}Z#40O#x2_Jdu)8^o7&a3 zVa~r;-mCulJbC?r3@!bak>i`(93Vrn0JAru~LryiU%mu9g7d+}C2a^?KT==M@1lD_&eN_Iw4TV=(g?A`kyLg6{(L#SJ?W(e9)Dz--p9zJws zibuTX4L{P}Lxa0a{(Yw6u#2!-d%tIWBh|QgNEdhYo<+pH5L^1hLmM*zZpMj8F zF=2038tDOT{^u4;2$;1anGDPj$mvO92!Il znZzNv1GaJtMiy}Hvbg4fot=*62OLYtSP@5MNGIq9m~!FLj??z6jX>H}iz1=$c%EqI ze8=#0jAf3(P_-yNiCIa!wT02!VtK!2@cfJjYeBKNcPt~|d)6ltn+K0sAUxCXw^sZk zqtXSLs~h5c0*fakHyYa?kU(YHRY5-fGxwgw@6gs6ffTS!L_SUgsj&zl82kvl`mhbb zXd^8Ovobk0_45HR%g3|3<{jTC^x8?erdP^J8M7;T=Z3O_4z2%36fktC;KYKBH^l5i zb4tDA0{;eFBw4u1#QrXpebig5D2<;LKTg!NINv*mwa=J*&xfDOsJ$(DpIuP@Qc+TdDb6; z4$cr)$kJ!(EvjcX^H`Z(u5_=M=CZszJ=d=dk%qP5Qe&u6St{_=R5))hT!yK6acp;k znK8zZ^OW*}{6S`Zb}XAP(QMaB1k}(#;<4B9vB>`f`ybJUV72NI{RwOjgC~O3*#7~R zjc;a&t1nYuXe06tnH@Y?>|r;)l2)&$sBtl0Wri_I`WT0ZGx+R7DaEtYE}}4fwHU1J^w>Qp z#fTYz3Li{ZEIPv~4# zZd#)HmF_(P<`&q*2$}<37p;g?j~Wt1C1$VTNWx7gZz%E3cmduMxhaMJZEBznxqkj3 z|K~c6m)k(>O3sJt#DUBl?Leu zl1@;JfgK8dG<;H^`3K(^emj`BBA*&QFqY-Fivp;P{ltgnn^rel)Uv#Qp*;6ie?f!z zyoNijDC)5qiwPQu3` z@eX5sE!R)T5`_HHC-e$?$0vDjJnA<53pV?Ze{k+%jo)3ywbz1)1w>;4GdL~tl}=ag zUoLrVq`$JA@Kh*A5MBzy6<|y7h5-OVqAWqjL9M345Cw@qa)9}EuPAcDS^5Z`iWp`w z{dA1_RQ|x2oSV5)vkG4DA-|^+B6RyUp{Iq8nAxGyO zcN|t+sb14J=a0E38Mhs4#<&kRyh3fsiGj&YaHqviX`C`zL)$Is7A_`?CXkZ`4jKY# zfb^xS;J=H38%jzzIue5f`|q3OItB1eOfl?{0mbW)aSATrASt&0(!d_`CI`JV*g@mg zb=%wf#4-KfFx--TGqiI>Z4Xl4fW?8Q7;a5qkAf@&unbdrc*SCakPs<= zARVUI&v?N;T_STaN`ylWcKP(p_?fT2*3{SQ&Ubx3J@LsHN!5K`OZHSpw$a65Sik;~ ztmF4s-fv_$j0}ALX418tLDzRIIg{Kve{0fj!}h+*y;(BwtqX2$w>}dudi#E_?~k=y zUFG!hliq{8U&TRF_R%pM>}L|b6b=CdC}>icHh^V=&X(}QG1ws-56l}ngfVujb<3Dg zOY9D78n^Y-hEvO!+op$FMW@vuzv}Wfx^w)B?m9?CtnAW{1EV~I$*phP_c~0Ey~rfV z+jaD6la$8u4(%wR-<&Y4!GQzi5MH&PW(UPJ{idNt1u4d3asM0yyNZ6NoGeMF-J1nWIjo0w`7tD=eVve zl`W5rK=aulo`!Y(*uRWccjc;QMu?2RamJfhjvpUZFoJkc_W$OZik-_#R(aLIUhI?3 zJ8RC`{hR0xCJ3KEyQBnH5q}>fOr@i*N=F?HNi8sZJP;rQKri_Mtu8@{>*S7?mPdVW zE@h@|BS!JcHKm!d>g+P`%_hBkh~y2-=f(#by9*iTubUNPeMHihmX?j$&I6KbN!3{- z^Tl?(Lskv9(g-Be!VwuogOo(k!gmr}2mr#+CLxR)R?jbh3|nf5L5x?D$RPIksaB`K zM+1*NYs9>Q-1! z8Y}JsH)}XErrGRPu=J_n71{rLU-i963hKwl7v(=@YarMFE=E!bw5Oos!^;UB4boq9 z_!~rkA!;8EOv8<1V6d;)yvb)6^*cp6ps_?juI9Q3i6X|<}sMfD$pQ8;f8Q}GC@Rbt&<~kS*0M>H}Fb?x18m*de(V<+}#A_^*moewR-e5`z{{o?eeIjD-awu6(t-X8Q0s#vlqL{ zS0y?PdH4piU+3>OtSYM=M%zc>&?&?H2DmJY%aP>{=PU~!naJUlN-*azWR8Fi^10t_ zrHVXeXf^S2;37ma)ij1}-o>Vk0h>J&dBFn)vps7@aHNBcJNZ%V)I^DSgQ=3aeb~r9 zI?ovX7X8yqCQ!DjEfr&9tS@LSxZ~l(4@MjqQLv7YgBlVA`7h#RAZ~vF61bVk5x2L` zXAI?u?!By3T3872tFrMm+%Xp_*RXdR-3&gS(oamy(fN|b2n=$jjr)-i@_w1ZH$f5M zdGnJC5>`uwNXqgR@cIaX5=66Q(qhJrvuToLNJKQqMt7 zv2QUJO}%l)+x&NwQ7}1q@!8G$*J{>`8T-JSww=jMKRKG?O6IS&)rO6b3?vp9AcM~W z(v1$+46N-D(*qVI5(7cOg}|Z1j@N#T%q{F>hiGicc{@!97KryXG}r9?l7E8)xl;3 z##!Jzku-6LF{A*S;M@zs2k7?c9l+DGPNc1*Q8R+8r|^-}F6iltExoDO)W|5X;vg9m}iPHNPJ_zA`-1SS*=;u$o(X|Gm#Df2w1BNndQDVf(zzSEImU+ca#Tr-0d{ zgkPo}hA@cX1>OW1J~&X2!@$l*2iOdeSk`{fo`#L358{1ebX!o%@=*_#Uj2zHS=oK% z@w^LeQgcpC>Wm??Idwi`1t0o2wid5+p?9g|hTfulAS2L{ZL3Dxd0tJslhH-oC#jzt3g#yYJkWkyz)uxNket zvEJAu7kNGPn2_E2?)oLKX#0 z<8vDvy+kO^HVvOLhVr1;)pL0H+Q9l4CQA~VoA9Q{ytJOV|GHq|b;*1Pl7w}sLo{DkD+iEU_0eEe;RNKTDn;o#N>9GQbHLY86lWSbi6DNC;hLREG&hUOi z)gB`>`o!0bPbzwBW1q)0F_XK!!p?P%Uy6dSC>{mh{c#7csc5$Y`B{s6XGqC7(zay~ zz=RvufQ3(wh#DQ8LIg0q4PD&3X~rz2Kf)#3|kO40wDI*VJ|si@|8S zc3_E=FB~r#&#h=YGVl}TlnDbG&rsQ>*lJ-`ha{q>nrOhum`A5t~v&lWT2F+*~HFcZUt^GG>04w|G2=jqm98Vzo}10>trDu(tPG-od~3 zH5F9qD&vS3wpsl(KQ#O)KTNXx#eGJVkoU#r{|YkzAl9IO7!ds%Wk9`(zk@s+X76~# z@vYi2rz-^yxeK|MrfpWnS8|Hi3%SCH=9G^lR~UNR zYJYrSUH4qOS~u zr8TK%FHoN9@*0o#_kMVM=)Yt)Oqc9iba8U=iO`bsr6pyt{w7bO$*JgeYx5vpd1Ore zeAjWbvq64Y?_RIXBelLwaG5e~T_OuNSM0dy^Q?cai=W) z!^@cO>=Aw=#zd+M?X$_Aimm+N1mSbojx?zH&{ad{fu2Z#;|tsft|PEg!Rv{6Jfw~Y z46%6%+da}xT56JkeSNUlt%@=knUUJO6<3lC_nLY;_fMDP`fHAJifWexy_Cse`g`(t z{u1-4CD$4xB8IHdl!#Ja{Y`3zC=_nL8S@lk*hj?epzolF^ zW|x-S?s&^qx#?MGKcQ-h7)LS867n+*oGREfi=!KDD@kaHMc2}16V9mFzy|>}n z_Aix9m)y>UDB$KbiKK4KwbD;^%Op5zRO4S z;)GleIep)I_&%1>cG?IYE5(xmf50?ImykV%Bt7)O=z-D2W9$p7OuVPoUc&Ba!_^!d z5hS7}YTLdmJt0Vk;{Vt~KAXR9gj5@I1==6B#py-u42oDPJC_meKP8mkv(ZPyx%z<0 zb~+SYz|`crr8nkfJH5Pvi=!1ahMn+((>p%&EA5%C6c^2COu&u21@3S^H!K*qXLZuHJO?kz`lEFI3NFqg&wTOKaH7q2(;9La0>{M+r{8YWGvKbxfrtn}to zTca=nUX>=urI#YRB}RoA#j_n9YFVG$Ou|xE1?jz2X-2$U#PiJmlH2xc=Q69MX3nduAI2&AjZ)83!b$r z3@Gpr6J$d-cg@KWcoww4Twj>XhzuX*5i8pecF&dhrMSY!xRLkuN=DAHyve}}Z)!U@JQ7@ZYNA8Y9% z;D!d!5~%^W3=z)&j%+w~jvk#qkY;$kfkA+nGrNC>P9QDBWFevGtf{Ph5_grfl$|Kx zh94Kad6S|(RS!CKLgFGYkCXmm^t($P3=Ze(+n&mhl)j%p0wg7e`)g7g8YXwXC})Rn zSV}4@+n<406GegQ4WAS^UxL5`&MZJI2>akl2V_g8(?>#F@O)I(7JfNLl6Oz+EoI6@ z?+*3U%+q8{rUse&$B1>2y2LlB~A!h3& z*%?0O2o8Ybk@c>B)=sj*Sd5{9!w#EF>fB~H9KKqmPV>{;HO8?;sX^>6O{oCnrWFJk z8Jmkf`|LBDR?09! zjDqtY0uT{*1nXu6YC$Oyy(6KD!%Pn8H6WqBz!#I#tLrW0vtZw886!^{BuO$(bC)Kt z&xI$MGMMh8L*nOUn2j+>o{2qrGP}KQ$}+0&^y;pR7K;g7&fn!-ec4;;a90yXUuW_} z-CiUdMF9NAx;@Me<$7po6;UcZ-qUoH;Q+>!Pz>PKfqVl%J{dV%_PX6C>i-c#DqcHq z5G(o3Fi~)is4GYRWgxP!m)}Rk!@{=OgtVxGQytDHs3S^fBauA`Kt_RBEErA$UcyGf zWoiG6KEB8w1NfyZe!|Uc0X&wpoIm4FxgXltB%vGpEZQ5Y&V{LGCdNO;6RUDiv-5szJrMT0dJ_2+q6N9$KCapx6t~hz- zz0giu+q-1pQ97vtMl_g}AVdmGDXp6w<3UtZ&>0TvEPZe?MwgzrAWX<;MhY$cm}*%Gkgt`1Dif74Ak&ie{&G z9!6Npi2HZ;?>qJM^Glv4{>2J0oqUSEE&^~hRAJ!wB4`LBIh6TGrqlt3M8SaG4)uPA zf9Kv0bt5lM= zV`n&R6aSJmBrn*j&SSk;yz@}+`w#EQYe#B-%@#8%qjQY|laKx0HN*VrGI|9=wolj3 z%{8Raw*f11IcTylH^h>{7lZ^HVUZ)@P6XozkX}$n>LHNqSYx{!bpq=u%zX=M-PE6O zo$g!s)8S@KjnhP#{!6Zhb&DSsO;PV!lziP-%4dc592H^E6${-v?}LWIZ*GpJJwccN zsPt%d6ePC+*>9lIML?!c!Wk8?d4lo_{_q%V{$D>qISgCAxclZ+Ziib@3AZ1r*Tr@j z8j-?0rzxnXvc-GdST1l=DBh5h`MS5PCFZbufO|B%^M1IcjPNA%8{4Z16cg4XKzt%m z3Zl1wuQ(zzFaakSWLVQEOg>>wYyTp*Y+bUfLP>qAe@#*CN;cC(Q6G|Ew9H<`lfKCa zENtA-WoYxGhm`+`MymX~?4UP}oHT0=zWjFNA;XQ2%W|^omKaVkS^3?I%+$kUwAY99 zY~}0cd6E*vHYbdP))KZyAnC$P62LReh2$g+8HE-~EnMOF-_s$gwyg8BdN%7vqp&LL zJybAZIkOXHl`nB>SQmYZ%4H@ry2YO0?&q??#Z|k!MJa|4C~fgi`MNMyA4bV`*OhTY zj2q2^mu%SZS!eR}ps^Rcl(fZ0f-`Oh9n?FZ%}A9HTjKN4_hZBb2T9^@2BQ_IFzoIR z>vumD2^7iLs?gQ;I6i+^&(|)6%9-6-VnPSSdnXpJTB2>;db2BSImyu)Rq|F9X%1|v zMM&#$l+q$CHnbo=E6{2p>O}`bHdrhY2VKa)Q3_f<>sfE%W6FlbvYM){`HNb%vX``! z5hFb&s2wWI3Jq`9p2;yuwRxJk$vrGD_-cz+^)%vDJu`5j{w1b^YR#w3u66%gn8^&@ zM0J>}j2-)i1Dyp#e!>T@-z=jKKH(0D%N8aoBt8rvcREOhD5oI%fG=knasdfp301A# zpYV7ahl)(QDpZ*y_O!M14T)vKJf>vQtuioQxXd!^w z;oZ8q+aS6|`g?Q)x@vWBrsFUa9NKW%z;>=*XK2TaKF%rc^ zM~rQh=_s%jsJK!5VdMbkXt+i?+X^BMe*uOB|NI6k~UW4wJu z*2Ey(9!c+6Jdf9elbE7P{`Vd^vUirV)nC0<6D48H+|hewx@PFE@%b^M-gV7=Ys0#A zU#@#=#KNak#pE8DIn`|vVMf@nAGk-r8wS))_?Z)@=y2c@WH16HBT1D8bRk6<9&Rn4 zo^_Atjkx$`N`$q3!YkUR<~0};PPyN-c^a&-LQlF0irlLgr= zBt9vhMxE>ouKn>=LO;461MHJQ21B3`I!I9B(?O5`N(Jj6)ORpqfFKRvGH8>Q{cX3x zAlG!LF&t%{E>M^#WC@dvMj*$xs32>&Wn=Q#p@!jn;cwO2KYKD$1N7pL%g)bh4suV8 zVf9m+fqbuC(FwIuJUq~a97Y@10H+u12XGP65FsLkoKlM72jDy=%ivH*m5_&GZr(vy ze%8m*AT@2?q8s_I2J||ctMQZ`uw)(GDN!Oq8{*t)5F7**U-Gq^??A3qMdvuf@`&5DM3%iyW?VuS`VRW1h2oRpW zxThhhKzbYe$DY5$RuX>`vmi5%Ss{7_?xe0vo+eE^en*tH_t1%XEa&1TOm?!RD($YK zGRIX;bAoHR3zlqK68dL~=vm{G zxj8PyBSwZzpOS&s=4p-+v+iLHnL^n(HcABKf|mrUDV{+oN>LO`pon4e8iDNtx-GQD zpeWgY87*7pMSXPwUN#<%_IE6Y$BaEju~q@J{#;W$hIQz_JHRu$Iu={Hd+=Kb%6N`+bsKdNyn4P zuTO3gTz=aCsuNs+|)GkIfWL3QczQm=BpqfwZDQ26#3Q+;;yl;*IiO6I=p z?kjKZ7^Hk%?c5x{CxO#6u|Iv1LY91FzhfSxXtC`WJTSNo5!4kSBV;_#^HD=ZBB({D z(1D+YUejWvZ@=~JU>&sR)tx*Vt7g)i#M!f)jLAc_GmMOkQ<3|=VQfx=Bznqd(Ji^C z{6psC9wTo1m+F<}!D1`OZ))1ruU0F0uT4bT^yK+h|28s|$e(N&1Yk@^Bou&;EvX{GAyGQ(=zH96L4w=0=O&3}KAGujY zmHlun_HMZJat))Td8%dtz?QSMxjdt1IlBkU4SPu|ceeaFn)W-$pJLvvKXSGB9kwC> zY2ip>1m=dhHzdO-&GiUTiv(Q`?nao$fozBzW2t>`*>>}YdUL$AI*G3|yn#7<@hu?$ z@`+l_{6&NQczEJ&_t5%Qc70`fQ|@=*tpCi4^4 zJ7~(?3eE>qIgA%>*AAWBITBr1y>4<8?H8c)fnSgUa~`m5qQK~iMCvjEMWJy7*%Q;c zba>rGKF4HLXXbJ;D`Jc!yxTGL^L6TvrA&Q@ESr_J#Yu&cESX2^Ufp~fB1_L%V7~+vA77;FvC@44sVWfyXWWT~P z{M(#^3aS;i%ViS8Ch+=7bKU9?`4G6!pk&L76b6ZKUqwr9u8UyP(7Y(=mWqpRUK(R2 zmEHdE-lN}7!bURMskMCd@TV|YvctKjE=3S>yX{RffXJr+KN9%}petk6iJ)Tmioi`6 zFfyVyqI96op=^A9SxyRE?iG2?>JD`W(MZI4k-1-k_c~MPkbUO$JZ6H2#@qBk-r`1Y@kVVHnEEjZle5N*nfl2x z_f9)~!SoZY^lll?DeSG5L^26F^-(uw?3rwP4!(e&n&ukYkr@UArTRbPtx+we5>(kW+}@*OqmS! z!56Ka1#oj8IJFW~!d8wEHWp#=5yLlxEJIp=W?u;a4$}!lT**pW5Hr=^QpQMtgH4m}YB^Pm7LV1=&(cS2{t5~G?#ZGfb! zv~c_LHocKZ$cmfRUXseB+9BoB!ARNI#Zjmevhy5yZlP0M1KS@?-Ex4SdwA57MIC2wx_bgZ>aKn%YPMEZe70Y76Dj$r9wCQb}t z6-2cSpV)NbNz+lY+XV%mkXL_E(8#Mc6+u2tMKHsnBIxso@(Oh?EGt+Lz#IICn7*Ab zN_|+%n;Gf++H&ekvC8PzL8g@Oa@P$k(u`nd^;s3E^yswrcg7S9nS|eDyYOL*2G3n6 zRSo2jLXeAN3xG2fR4icUus_CQiU!;In%e&(ke2#HozZ1mOl`L0iRD|jmMh5UKmd#`pp=~`_^Ar<~tKxRS10z!vm3!DOUu{go7zC|kt ze|8m=6>=-MXt%(@^)K!9U7fL;G@$ag%<>qfOKoUicY&ms+&rbPE*6Ui$}&sC40*lg z-OqCk(ZQE>L(%$XDw=ncu+Xa#?|eu{LJ1h~;pj1aNeyoU6%lC$!xMsgqP>RZ0EYlj z7%m*h(xo`VQE&`Gi)gKfp9KbxYmx=;E>(eh%tdweN5OkPyF^huO+-qM&7M4de83c= z!;$hq7jp|?_R>mnrkP{G1QmTH+L^%M z28TA|7LaOCXo2SpDiOvhX$af^a7S$DfRJN;g#kIHwleEoV|V|Py9Qy*K|-l=k?E5#=hobK=tLU%X}F zXg7b9uI+qcSGV1}KLB5BgYl7Sl?qz39${xn17h)@G6z=@fG*hwD*R^@1UEKrs@*Rp zK*mf-VXddRi0kkaihr?!+cBu>k>OSO12cwAk(DnebsR2d1bFv&rxYg)(U{j5gL`d0q;SWvp%pyu_i^P81FQ8L1< zUdC|Cj_LQ2e6YNfT{?+XH@D&qmD|G`6DZkTEnEB2LG=!UwkciPhSGQAU;N^CJ9_Q9 zd%V97X9tw$Q~f$)jHzGotLSGC7H+^0i5?QEEXbB2w&^fuf;Bu$-E>IlRKk=At;P$K zU?AWeM1-5sm&Qe{{cIIOWIU6itzwU@My-Bb!`Z05sTtNfE?}YY=ET_9y&E;fUr&uX z75~WSD85VE&t&=4ldt9w?!ImLK@)<>C5HI0$RV(}-hhf1S4af3rX-0DeO?-j)2#dX zS$Cga(nY!rpAy|6X@e`BNWxq-#S(}f@v%qQt$(sh-;y4OEkvNRK-+bDsxt$}D|NXxz`d#$d

yp{G)*QKX!nax6zkk>;WRd#rL|zcRn;@5*R@=Tyichv7p0M%*kBNw?kRyST z9KaCFu#qT>$vql=)Pm^{q3Wy!ti4N4j|X#EoB$b!wJlsWGw@u%8^*~4yjGqt1=jP@ zTQMja7uCd%N+cJ8?Tb*G5|TO^c!&X!4~BF;Oy6+}qcw(^9FZEs z1w?6;YuNoF%OZ-6%gS70n;EJeVsSsoO5QsjthU{kB0hCnecN9k>CZ0~JEf#~#Gi9Z z_)P3^L)+B3M<2UphklC@A#S_Rjar`^GWpc&{%{2)>w_l{Gml%gZbr@Zo>~yiLN= zw5_z&BnN2X$Q2Vlz~|Zy5bQ~DK7d4FW&>{s6ut?Q(^*+?4!{nkT4*x{`vr(uEZwlqNaF|LK296aO=DR=F{Q@$=R@UZGtI50Avt zARR9^pUBI(ynlvSn-pHqlQD)L@w+FRU$kS(mMxpN%wg7_`tfWkk&EU|S&;A+?Z=Vx z7GC_}4mvXllSsUD>FH5=oGUO0kp!T`qn(!jT6LehJpl0Hp_+oyA zc%HX_S^m~*qH31TS3i2Q23k!k1|#E>y$U~N3lUwfb3D2!p^_|CunGVa4*Q=`H(WiNS0o%NSS%Deh{8NL%a{9I8t*gy44pqq_WZZ4@`Qo-6}A!@ z7It81!oxrbmn1aq&>QPXuZ4k_dU zhE$kgSXSBY8wigGoiHh9#A!3hb`KrfZEO-_aE7$xv(^rmh=4X;(Qo0$W$ zq}nYBz+!?5h^hjT1|XIytS?$~ z@G!vw$CwI819&`;5IlcZJbghvmOGM;@g%dsnRP@v!(7S@c-bt;*ZDn2;Z=O-BDwf8 zl(Z&&b#jUaJFwkfuic$)Ect`6VnjZxz(aJ&*hKEe&un+&8UA$fm{n)S%%B}m@;6ZT zO$nn*IPnhQ^@g=VBn~AqmO!{hHy~4BvWct_5PiuX0QQ2G-(+`>pv^+4LVfFcQ}as& zhy#Zi$wkVfUc8LyK||X7OFem0I`U&@JMvF0+^;@PIww1xGMBmicc^k~~9+C@+PNGspzHC>HAk`1wnG$0!mVOJ4IzJ*jBsg!aQ z5%ZE(h;+W4j}M(OHP8dn&w+s+?sPi?8@X}14oV=&17Q1+_EWL`eK5F|gqV_wDg;ITcvSIBG!ofiZTcuj!} zro-Vm67x2I-xwO|Ku1yHzU;6~vHJsXJ8IA5nS4m$6*n1dD(aP@qz=5kJ-X;V^Gfoe zV3@IX=_)8RZwy(U9(u~OUp&|+yd@z1p7RgPbNoL?vE$Zqd#@?wZdSp8eTDUEOs=9+ z!pJr`H|t6!X>DxpDij1VOg*Du^#a3NB#n?!GaSBPqJkd>g%bQy^^n1>Ae$KpC#9A%=+sHzCeJg!+7{1MR-tZnqrsG4D0BnF! z0>UQd>d0u5VY-HO#jG8kw&^dxF6iJd8h3}rtDR#jb%{HUnnk&Nj}#0&WMs&TnktyP z=ENQ@ESt%WA1(9KijNf@Ki2kU`IaqT@R=I7zAl|EhRCK7_mXLg7$t>Q2-uY96Y#hb zt{n(Jqz-{O1Ud#CM#M@OFj;T9XZ43q+#2Z|ZyUjm^XAQHPMkJFuRY`*%O@=F7$Mco zWadx4;agPTUNUugc|`77in=p#pCEa>Gp8}&T0=T>!T3&J-rw2aOvX62B_{bQm=L7m zTfu$6^+8H1u<0>kibQ*!hRp!_LAbSuvVWz~tC0mCZr9wSB#hI0x^JF854nDZa`ti` zwetnj?tWk0y#-nad#k^8i8B6fG)E$9W(5Dh7_DU9s3jH2q*Hls54t1S_BEH@qmjLv zH6&{p9Yc^J$rxEgk&&1{VK=~`5l)#>0*c^gzy}s{5X8vn?NfL4NZtBd$`kD(z96I; z&Lj!b&c`c+YN_po=JHY9tiMB#XJj>P_XeWGXn$;q9w zgQQ*D7Z0UvU{C}JY5)){JVFPC44@kDqx1-)Bq;~PRs`frnaui$b~i97GE}YeG}J+8 zSS3I}S0Jfa`{rWxb{9{BPK}s4^8BU1{DOUs(J;N@YlU%Ta8ja+_=k4$#Foy(=m&TI z_dETHKxu&DP7lo?d{BWe!c<=cegi@~uyN%O4MjnHjegPYpZ~wF2!l%y`%qtAqH0aG zc%-b3BPvpR_2iYy1wpqtlFemdZf(?s-w9)0=lF6}YRu({pPyVG{keQ@`*t34moaBg zrz_&iGrW^@O$7wwq%Vnpc^RNO+`tCVazW65_hS@1tx;$|2LX1*^Gj2siO0K9+Cih^ zF$*+=NcVa1{E@!CYkxCmT7o)8zusJ{TPn(NnC2K%+~!*KAX-q7Gvs8@N)tC{nwbB? z%g43c$ZL*YeIq;-nU(c{_-^<9ou83{_=stQl40A$kWj!UJPNHiNDHuU0>%$EfJH%$ z#!(Me6?`o)%CNii9gQLsA=Nuz3w#@WVpG^Sb)Ka7n81T|Iz*TicSKgvn!9zqc1*Vn zKWkc3!I3$6OzF~Y1<{Y@GuVFp#HuE6X$encs8VvNn+1zQDOQ`^{Ga+$Nfsj9Qo(bW&``QLDN8P3b!ulYdjLmecE#CleP zfdehCld~(|EIasxRO7=zJ%Bub&x7x-{FJ zC=JITMhS{9Jk8)xs7S>X1IdfrB3p!UBsnBt{Mf%=Xq8g+l%bN@TGAJvDaMd@p?86^ zsj%4Cm#Dp+4qdG+l7A8`3Fr5rlBiE&415fGp}ZdjDQZ_!pU!!(EbeMK6LNx zEF{&b?Rz6Zm{Q?QgsljAHK;CO2$m*K1y+eV1jI~CSEWQr^4y(7{fiFfckO*|AM?y9 zy<-b6StA;>P%MlWIdX_CjhCT~qW+>P7gU=klx9em@BBdHTm9NAoTP{APnR%tFL8no zF>A5_#trz_@GEH0HV5(>Y%K!BF3=H?d^Px*LE-{tIz-U0OecUR7*?>DlR^k%U30sg zG1xsKjZ3pEw)Q~Id65fy%RCBDfnZ2m4k@SVI114N~aiJNj52NkELuJ2r7&s3*OCj?pBi8g@G z238x!10X>{iL8Kd$B>SaPzgFDHWFy!(5`h*2cGqo+V%}CeF_=zl8D+3p3xab8K+d? zReZxdxu@d0KOv*S*HNK z0gxKeDoR1Fib@SnLmfbP)d<{7gX8b>FVCl#85>w#9%TOkmFVtXsb`lmEZ%sN4sB&* ze8q^kyEkhY)8?K%5`XwY|Ka@&Po-IsU-+sI|K1$hFGR-!XIBh# z03(7|Kuj<|T#6tDdhiGa3InSqqBF4kdF&nrOZA{_cMUeSy;N|>0#S^i_Ctx>DQKe6 zeWsNQ1gq))imqQa>rmRV8~pK(Nz0u%G2jJpnA%w+Z$i|K$i6z_KronpLR=+3?BU4a zYYD^2_NT+}OiIRRC@2A}6H*X<1ttT?PbY9R;gOM+>ILvGBkNTc>0v>TO5C13uabmZ z${zBWd3~i?T{#Sp#om*lZPy%{BiXT}@1qB&2-87#QWsVC1?GM=#&Yi2M$Z4ymvTM9|U=rR(*Qdlmo`T3Wi9z24=T}?x zfp86&7O0XyRKT>8mIDxH=pJocT4151dEryta)gmN%FNTQ(Sin_`Sv3QFPowkowgqQ z_w4&?D4wg))m*cTkv_tZ2PXEurGJjGzFwGUe)!wVPIq|2W=HgD%pbh|wCQmt@v0Mz z(Qdb^iigc}irzMzd!oDR=hJVy8c%umml18bc$0uxbekJ7bmc+$2mlBN6iLGFL=la) z0A3r|;=+U!qf~#u=(TTRD3vp1-GogV&1;Q@SH^JLK!onr$T+gFPsfx?toN^`R^MZ; za?CYt3L9U@w9a7$g*z4~Z8vd?vQ4h;lZLrOjkWOe4bEqB^kr5^(mUf8Z!`-J+!|~# zDTUoQ3RF1B0Evi-H4e-KqSgomdOTdj;KK}bnf8GV23v|%7>qegB2Ep6kNiU#sk$O# zQ-;yn%~}nO3L~Y*L+d!vg>IcCJ?=FnG+6Fid`klncK)^y^B-2SWu8e4*);B+9k#q{ z-@}sEUU)Bo6~gD!>=30}WDbb{2?Y*eW4g2YcV~s2o2Yk1$b0SoykTZA-bS{6F~WmCI&b&yiYmg|Dr`GrV|64(tWhf_vQgXCgzW6MJC3-f!M|; zV;uCC1>{T1g_eiOf=qXUh#<2V*VhLPWV`~FJ@HtjgBOQ=6ZX<%;!WgM#fD*X+BP!R zzDd-WC~aAgq4nkDC&wyd`QB23tSMTjvX6Aw^e|o;-A_=ltlJ=d(yi52%00PKUj8#p zn7#C6YLOb0c*^g=v&5XqH=^2{kmwQnod_va7j&@Vz}JRT1@s0XREo9@Tv{lV`Vz%8 zw3`@TqsbH*PTmQv)cr)My5~`L$4nEGG~zoKkNpy7lH%u!rz90Qr6|Xle&v;uS!(a7ZZs9LH=VJSyr)03L$gXkuztFu9S9XzsQ2Mp z1As$Pco4QA(k($zC2*i{Yi&x z7WrPk;qh~zxxkiP9mMx{vbvfP_~MHbMeEkqId|=Gb!%nUf$1k3_iQDlmolHnx+4?qBS5o`g!>fdS8vNIoXnlV0Jn51U0X3pl{H&guCcA+d>tED=alAj0JSuN zDGdu!jyh#DrYY~1bL35pW~?%s6T{-a?2?inTU|~0_;e~sV}%#FJiHaDG~K#YM7wvn zcx`6~TO(8bYJ$8MQ@ygaD+ zM`MyxREM07`UZG+$&9l}Pl+3ml z%&0lt)T9aCHl{nX{$ym^X7kHbr9B~1>3$s4->49vhvN%Fd%Ov3gGJCe!LrRi05=2@ z3)m1sAL_$D&i`of%A2QIE4(C8d1SDU`$=q~)KhMz#^e`s&n9NnWKqS!oYi*)m(SHy ztZZ8X^>R3rqJOwx_<#{240Z6>0IT7f1B(O}81!i6D9<6ggb5Nv@jm?gA6gN5w5$lV zOeCK4b!SP{e&lWDk+fY!OBhzo01ClQb)vnb29***xhTs-=Fp2cfNGvmdaNs>e;s^@%XR% z-ZFZ}3yXx%DAlia1lOS(76oFtjkJnkBbYi04EEz`e`x!F>4l0%ff|RF<9oNzM-5e& zG8}Xw_NbY|i=nc4GbO`WN!L;6TXbA_?ceqHVTkzxte4CI&72nj;k>vJ&dU_Sd09xe zQeGGZJwnW)wibGH2|Bv(J%Gg3u2=UGpt0^eU}lTiBIHZKwgY?`$pDxp7#hQD9sH?4 zKqGKM0HyxWdC+;P=j`BBWp7G(@=8PZ(&#H1gib2-8f_TtE834zU}^M~3?y4x`> z9IrJK;=HsoyK-vNNrp#tg_3M)aDNyV0D@3*k~7L{h17&GSWKhw)?o3?mOPq3?#psQ`eVGWbvr$(Fhp=MiEe&#{M?YAG(rY z!UcixfgSrCLNg%#Bjsx)k5zUO4hiYcs6<;-`N?B+x*DR5;E z?og9XVYRy+6Fy1u3$N$ThrBub&7?xd|6(zp)bHYA(iZD}1j3<>3qn&2pAK+-hzLDq zO^`Jf6RS+J&4ug)6SZOHxk}5 zX7m~TP)kaTvo~(m=#TV7Xn9dh;NS#_AqbDn9X5H0UI9=%3cw5lJ4iJB0fxJ=w1Zw{JvqB`)6MJ0i%8ax`1uP}XSktX@zrEcG3hZZuL(b(Sg##!HX!=UTwWGb(#_5ja> zt0o-DFzxom%m^ZU0HtYtN^>t!lo#mk4d%T1wPn^DK!a+Uv;^i&JVWUE8z_2M*?JCQw}+-Wl9% zF}6EMbAaUld?`-AhQtSq8MdOH(nmo5o_3W@)7AK=GP zJVP)Ou>(^E$g2a|5`=FHKTrr#v_N$YKc3+`nk&asr_GSEB%6(L{-sC!S@DSRfQYKD zEKaG1R(JRDQ*vExMns?fmBY-;&le8kGdRLwvxI-e3>p+438(5UCq^t8^PgWPPJGX8 z__o`Zfn=GjJ0g&;MK=u4J9g~=jiMrgL@cC)K~vD$8euMsW$Z@@fa)p6P$v{|YBrWP z>?K~#c0RY2)TtzarG-=9xmi`LgMYbga5Hi(lkHmjovFuFd&z$o|GqrkDXVPrW;ZUY zyz6_556Qi|0|WJb2cZAZs>lFmfffta*pP(>j~rrr;y4@@Kn9@Q1X-*Pk5d45Jq`nQ zsAO2PD+SJH-QAx&l=IbHo;aKHY2(`!Zk~Tt%{bu1RDaEjnn(+5V0J5M-y9mQcA6OKj?h(UpouC6~h{V7jkdVo>LEK<>g$1iVvq}-8G;QHlv0J%S z1zr|qd#S7|tUpZ)?*C$BTxRQf;W~4g{b<4VWm&sc)KOFap8Vdo-1KODf9zRX6J!Et zzR;V;E(2i!LqW1KBE>tLS3#%MYWDboH~tZN!3Ys??&BV((#mHC>hIqR@m(0_I}WR( zq7ctoD}Hc@og#d9nw;5>N?v^U@a|xCQs~6@p6=`P7lR2hSeL$u<1X?u@Jj$!!0rjt zCCtr$Z3gojrm6@PSTJJlYA`GQ_g(wDa2$0*u+NM;3@sW*@~osu^If=q=ere}yb#Go z6(hX3n9=Ww^l91Y7*_gd$t-=|1~~@}{rj1d$JQ0TFerp>3RV!Lr2tX{+-ezO22zPX zjW#3@x|bp`v?8^SZE$)(sbY!ri)&MQ)&w52X!v&N@LEl3-aoLO%d|g~V&|5osG4Hi zxe>BgdAkm;IMUEH@$qltm!Iz*Q*T-F@UR7+etyA>P7yU~c+5U+nLJ0=&ifCU*yw7I z1a0?>sSGj7Qy@8rX((MKU?mOhNUTXgPC_LT*t}jhSO`j(+1$eJp;cK7W9h6=aJHCM4i|=owK@l*?8-z zexr7blWd>6R24$qo>g`TCgiXS&P?&OIpsy^cNyf|%wAAc6^3`v#Sa*v`=jiGn*yL2 zG%_Hz(GXR^?v6%Og93sKHA+B$;c1_?OC=CKUIW;6`h1_dKU?@dw77O(hlRfj>+f5y z+-u_kjo`4kukV>3ROR*co!hp)ldZJ)Ss&nxp(Dy?JdB(MzbiqGiW(MS#A6W>w3x*p ze8};gKccAkK&9G}1%=uDc14hR_Dt_nPTG04aINX6icaPUU&8SH@WAgnl?+j)etGGa z-(Lt45?PF}=;$2JEGliaFe5Bn5}usgJ?vcD3v1!@n&9E@=E zb--khfC#t-BmsR}Db?*9o&`$>nUbZ{wlSs$pLV#ks_aF??LI$81WZv(US(=$`pe+? ztL%-{<-$4F^Iy8vFm7D>G>emdX(5*LFU=v|?p?mtDf@E*&-} zAL{nw^_{n#opGOMEt4&`d^@rv)ye*Co3z!54h}%pI8Z%+LOlc!2y8XMA7Dnv)dRUL z_C@F8izy6}lfhWoJmUE8%tGM|RqGCvJ)I}1nvk>XChsh-j!Ifb)Ze>zP0M@pFgVj` zGIeAihcktfc{A$okTI#se=i9`SG#acC5NU8Cp4x$pTOH*dwAevFIHIFNne;_-|+jaZ~~VncuYY9nk%1ka;h zG`F7#*H5pVI8o>?%p1@C{>MGOzP_vj9k&QPjDD;;>`d%=y$1)9t0?2Up_W<*FX zheHTD#Vv@({%aUN7;_)w3{H>zm++TWDZi(3JZwh9)_Nt--INp0Y94ArUO_mH;a25d z058e&n+pp)HtFNh$?tIbXS02TXQ%re0Cd3q0o5Uj8Sr%=Qh`QK1dtLmezb*z0${R0 zpO1{K(VWdxWvWoBHU~k>pSbEGjf|BUkO@9$VIwb4AuyChC$Fy@&|s~hrkR$sD*SDQSeKE z$O&8+Q4lqk5C(IxHp(uy%F_7KbDP)xZ;V-F>#urf%xvjPU!yPWB%KVQ<9q4me@Lad zW_vhA$k;u38X-qw9)s_6^z{mfV+Sh8+`Acfo=cfF&QE1YnZ}TwWQM7Liy%aDU_}K}Gqgw0 z%TdrDSOzI1R7B=ZUaEZ)YoZPGRf)MkI5X?>2n%!NJHiH>#N>8B?Fh4Jox6(u42}wBRZ%(fBdl{@S@N_i5^?bS z0fWrU!t@oB$jglBHvem~`P7yEaTs_ZFoOGxbrlqyfpY;*9;*ddA<6-E2izSq*AFQB zwAOQ4QedmzS=#aL!hraiuobuZkE~W>6Uw5~vVt}C<+DtMRikU4dTog8?xS=``**63m~QDCI_6c2OP^^Qn`Qq&`;WYV)co zJmc$LIcaXNfgN#Dqd7lpsY20kCjW@KzGL+TNDCN&3jJ>Fus7!VfE2wa7K0i97?Bt_ zYt)(n@E^n62ssyfP8fSbOaX}tbAjdv|-)4bu$`@ z@~#il5BKCZSSje=I8E=3Krx5=0n`W37Z5vJA4m=(0b?Bjf;G5=#L$UMCO=#a2`NBJ zpb~Gaf*sR=iOF;57-Agd>DXzB`-|7Xk%4T=Z&l@^niej; z){Aj9iZ@DX;hbrf?`m4KDNTAl$d*i2=NsFO z$cS#Nj$oBf@cb^&q0q=ta->1M1(py`W@indC$LH)9Uo6yOU+9=&PX#{ScDZL010|Ip#zyH$;LNmiAt&H0@d z(COaXu@+fs;~2bmn+r01WzS*#@Vu>~VmYS70V3d32`?NIh&XIZu)886D3ApLrwyzy zoglQq3nDa*sT6EiOkBu{m@XJZEqO!?%BkCRo0Apd3Snj~0Br#|v-_~6v?A8HaP2vz zGNgb1u3Z+eirkGH+tzAdz3$M1WPsKp2Szavh=k-lkyHYPHV}jD1dOEou__0177U?4 z2yz*OH7{7^W1$rC`UUf6il)UR9x)Ris6KM2@K{P*N+Z)Xq+{y2Le0LxV{6Y^l-dbB zH$JpBHtBb_MEd!E?)JK|HN~g@rx}y~V(hfLxzE}(IC*%NJ^gmGmfaQobtZPwzFGOF zekyjR9^Wo3Y*=}zllQwp$tyA1j;#50B@pzL6`-pCdVwYwjeQ)9%E7~;{JF+sD?kiiI;Cp|v4xGb z#7-IXrT6s<8p%lddc%~VM7p>& z4FFUJ|5n-$WhD&mN%Ti49Yy(hI8gev*mrt1pK5M_FC8keTo0 zSPjj;4StK@FO}dL{}-+KhCr*u7#8C*IW(6ua!s=V$2-2EB-$KU74nTf$O3pwGV8%( zL-`u8#y}!p2bydFsy6qg%7d6or+}85ip~c=*2#5Jf2AJ9LzJes8y1Y*rmY_WT?siUAJCpX1N> zq}q-tk~bbrB}rJtZ4&-{%NK`9eAmSo5U~=(avDYtbRcA)AWRF8EI?COIbahAUKDW5eqd~A&x^qr zL(a=uEx=C6^x(Kl%~xKEf3@7@wKKc+MAPOZCc~RPUaeMt*`(<=V}P(ILCRT~8LOx% z?|Nvrg>cZL+HvNdfCgA8gI=aaNAn|j%Ex*7E=z72vyYT>*4PWL`#m;Yn)KCo`#x+SF!=SLZp z?vQj%KYbeO9wD3hUY;n;NxMG`UTMR$4kACf9%<7~E_ymGjZCCu4`2n382i+sz<}ts)-{T!stR~Ih&l-bUye(WKW4@oCKN@A{Gl)+& zWWQPJRUI5O>E>UvH_U?n0(ahG9#1Rq-JwBqVB5BZaZm5+`!J9ow5PXC))+jt?h?bV z1rsV?f~7)nrM9de z@7?2_We}w3;2Nm_Nd$~sG>(DT>l3Xv874s(njiwf0OMnzc52gKz&aD|arnv9OKG(< z74*7vl~Kj0V=>;;CHb-nBUb);!Br2Iy#;TSXRjtRmkkT1ys+Z<#C#?EDZ-MWJT!B^ zl=4!q=CJi{E&1FBIep3#^gcHZ1?n-tBCrTgpn=u|5DkE8AK229Wea*pP>nEL*G8cB zK6h)+#j+-VohYs$ypHtQ*PG97jibVxS(T)ZH}@Rt81~JZzvhizIC{-aADWv#uwdE> z*aj(#S49asjozy)DX>_rpLxl9aO?*)5VV)B3<4wvU=_7DRd)hhOzr3wt%Y&mYm+s)0mWmQQfloa>^n+a(}bWy>_-d zwSRupF#RzD2|05Qde0>U^0Xl10Z&cb$2{~$x!Bng9Fl607MNz=kkS0{KrT> z=+z5tOh+pF%@}4^bUihHNA};hjs}GmL7!YH;e^c!U}ZmZPTt`i{s}A0o0o5YgY)7@ z-aquhs!mjENDq`UG44XHyNkx-dASH*tM9 zL&Qt0hK!-5%)VZ-D=L472~>IG8|Q?D01iq+~DHS`TP}VcvmatG{NKb z-C}v?W~&7x+UUk53YdI=LJABi6lS3K4c0WYP5c5;HGoZrvyO&W1h@JRK0Q-rBy6%| zOI9*CO+NX|2=P^Q{=)7@cvT$9V0PtTC7$JZ15(np#{nWAWj3L1^Pdz1R@zc^Z?PvvL7fA1WwSZv6^VX47C?p zaB`(@?M4?q732y8vBCi@W8l$B9&xETQ1;d<6QqHg|Y6WpqvNT2@`v0 z0U!|t5=%79V`X?LIq@kdR9Dybpq!eJeTgvcbyYwB zAi82glp(tZEPzBXNd=Vy@Ea^1#85SW0yv-`A5jJ1W)hKarWTA(>!^!@+E2`Khb!w_ zgub8WVLF>WIK()6BO&WWj+#!>?!NRPI7?G8ai--wTWLz=RL@XB_tLh@pPw`v4$shg zaft3%YYVfFoqYBW_5K@9e0+FpXm{6OW5Fmy)5uVdO$(XIN4Nqf_ z94ZN~Qf|;llr=^iuM{S?`QhnfO4VA`Er3T^VScP$)H)C4sl?D#XO7mWIMI(}I;l^^ zWlQ>|LwJ^m9m2>uX7O!KJfC%5Gg3AhAk&6w{nm;ks+;q8$pk0R3e!UM3vE2e%wZ(~ z?+oN5m>m*fO_IVCAdw;H08gTQD}%+P+N3iClN$d$Q(cu}wcmlm8Mm0A%qsK#;oHSr zhbz{C=xo8g`;NmBYK_NO+}R_!crlHt@!F87jIvWfp#dL>>fR4dC#4H4wwwMdTRS2V~fB+gl1}w${F)q~3(Lel?s4d+2 zQ4#JPdRH6YmVWwFtfT_UHIYiI3XREk+bcFPw$yPKKNHwWZ`1h;DcXrO!a-0<*%s=j zPx5t>OEMnli)}$|EuNOe;{(Tu@I3H@K@9gpfDysJkf=0^AU}=PLACBVcSy#od2+-^X(+V`SmM!d_cm`s!a_@UtL`z3ed_;gRDyQs{n9C zLW27ZJ~eztNK1<@3lyj3IRBwm3eeWJy&y~^&nPX#EBwMD?Ksn6ImDYATb0Gk7PvCG z_x{$<{t=SJto0jb3%eW@UUp+}GKpYwuOhq7zqNhxxGxjKNJp-FaxyK0zaDZcfJej^ zL57|c;9+R7Vx=CBr7q;>;D`C)pQ0u37;qOb)B>I#Rb=O#lU@#%B;?MR%8R>v>B#cu zMO(L~6Xu+H8K3(0r3;T83{!VsxZV(?4vQ?!KM)uX(TUX zGbjgW-=)38r42>@Bhn0g%;89yMzbPUvm(PmZE64pV_Ub1S0#(%23u0)KLy6NLMLmQHAtO&}Gk^i076U-B96t!O7!?VI z)woD^(lQ%qB_A%Yy1BG!6hjt5o0XV^j}}Rpj$X2c@>Ea0atXa@U_p1*G)=SI4u30$ zk>K%lpKYd936lJ+N7ec#h&*#IV`CcvV9-4?u@!=PjRJ@sfGEi)N5_iQC-G&5up*Qv zz#Ya^-{4noEf=6QA%PVFB$9<{rOA~)H<|d+b!ncT3t4QL9PE*+Qf2A)MlQ=wGV}ky zmRxSl!fBVz7~DB}LT4fcD0ylpfWAc5KUP_5B@WN?7nePMK2Sf0k?T7@c_l}VSJ2hP z(BlVYJ^(r;NVZ^l#zV0m@ZZOD+#F`@ zkQW4kgFtM6#z)K4vb`tN%~`by9u&(wQ5;F;N1tr_fpY`L{fFRhbPo%-Ikq5T$TVSkjolbVFeuuC2rL$2 zG+jZhn-h`Uwdls zmtA0+<>ol6CcOUMdCu_#UyE*?Hnq9rzh%gbZ?}HSUbj3^bK%K}zbmg@bDuGLtMQCQ z>}?0Xyu7@+sP0&Ilt9L zl{sR+>M=W-8a{=wX?am`VNZoLa)dl`5bJgIuTw1fzg_i7zbYx^Gu;c0dSx)U`X;92 z1;#sX?5h6)h<5=&0l=GMV+jNf_=2F6Lm&_k1<-;K*s)Ls$)!1j7<_^MHlFdUcifV@ zV$m(vgKV=4o8H>O#!F@yr#m=x64*Nko-d>8(;YM2O<6Z@Jal2?Qp#MP6 zO}r`nAb1UJT@f5C;U^5_y5XJ92kvcHhw;64NvPj@663y47Ag8zFXnKpa##<12H#Hi zAiA;#$eMj1w? zissb+k$E#9b7%C5CH!t~oXNGlS(SO3Y-zvj>f0I@NGk5v3MoTacQ}sK@7-p-~1L1hp(R*r@Q?vN0f z1nmp!+2)O`!N&D}R|C^cT|LiJSBqoIK^!-6vCmcxH|LHt>Ba9gGlcBcLI;JJ>0M%S zs$Pf&I}j-m-763bmkc9R^slrG(-7#+0D?)DYYLQ=0iea8rNVEb{p#EwF3qzpLZL z@zO#nH)`;BaSwXM=At^!w$tuKBWfgs1m7wT5eKnSj6UR$`GO1t8J%G*4oglybmquz z2vyLoZL!!k^dd|d$4K~toMO>=Z$XZ0dJk%%|3GRjZBuSRYyhHN3S@!+SpcuaXIW8$x*NVYrFcz}rCMg-B4rSRUB>h4*8ND+}UI91zUN-`<_OHFMJ= z%c_EGsfC+cjVL0*#z^ASWAPuYUe_#FIAPl zh;0>tt^w-{<7LpU0sv+Bn7bVdMljbylWMfbr88%UZ4O^R&Ge`FjHVXTPDV`r)Y7sIL>>l4VQpj`*xR1SGF$jX8=CZoZy_%P;zd3zLx+W-P`DwN2r!o}2aWHi%N zV#|UDA!(YlT@Mx{CFF$Pa$zwZUE8jyRNvG{zuLOB4{K57f?bo`oa$7J)#d88rQKS8 zVTQhg03c5Qe`6>JJxx8eTm8{Dqg&$Uq%X&B*UNRi4!;KWZ(D(~};}*#6_LGx5~be-1YV7Yf!5@K zvQ~XsmK?z;6PEP28j`_EcS;{VraMI3tWm= zj)f(Gdcd9)Dk1PNB6ttXW@HMGfBZ;y`w{yP0*&yb)6Y3n@VNE2G?pBmuoh4V=(;U! zs${^d9eckcb{?MdsFB~$SK1z z&`o9(I)y7G!$Hamp-s*yu)*B4MJp*LdoVIy`2fab<*ScS%m()myY+P4$l5)*Mguhq z8T{AqvGk=(zCDxN|H6B!ZmM6_TqPBZF4ut43vDhyI#B5oc@xZ3F|)@mBp!eX(0x#g zp%vy5;=C_7 zG*kuRC!c>&_q;$A1B>Gb)`4XTZdiqnxLlRs}Oez5C?#Q~(1acfZkV9G<3bNv8=`Us|slCUY&4S5VsX8{_;4SoqN z%7(%p6NJ{vD1VouF<2t2$rAb0t*Ly%3gY4kUh>Q3fsLbMJ-5c7S{KPa@{uzh56 zuX|uf_JhlV1O&J}9?jPW_(b$r7$yMdOM?3<*7$Byi=OP z#Li>QQP*G7!d!U35}11hsMNv2OcUu>d~OQk$+n@q%k~1XkeOF-;mB$S^06iS z7^4gvBM$q&F?~YrHBVMkFg!KC(t@r(UZaVg38>d5vTety+The@A}9MpC>_3ybT zZ-VX6J**r?e+YQJuFv&lr z7l*KfF@z(`l=e<2)V=@t;r<1sxy^}9^;l`O4(2;uNAv*iO*gnR24jMeAl@8Et& z1nkJ`>OcnUy8I5DEjV6r$T>bhwZZ8Mt8DB!U@j}dq5~}|P|$uruxh_)d-v97qnUR@W6TUFQm68|XbJCCQ*Bw5 z=sU}ghVn8?YnC=?It|Ea-WUi+eR6Q#etSXFo5Wm`X%621%xh{qu(a)&u2=dbkd|6^ zrlE-k%n7hn0ie2I*@3krqBu77(2>CM6~tNCipRIqR|d~?EAIBQI3=^RlvSy5)@V=- zN*j(Tsch~&Cr(IN4v;-85iqwAflfzKVlGyz+1=-un&+?oBCB|$?X7TYzhaytV?6tb;%~n-m2FFt3?KeS@yNEP+`BQ?o{VI4Ej5VlpxKF#_XEJ@fxj%^H83Xdhpe1d z_b(0x^uQiAFIwAcsTE3U7>6^+Q>s+GwUd|QaE0REIr6+*eU4#MY3^RF~bJL~c<(K-*Yhtbkt}>YJ&{@Pl8@##%6gAlG zL7oOWNPrSxG@0-bLrDW#c$Vi*=bubD#h+{;*ekqiM0D7{V@#gV=gK)v>aArGDvNjh z{`y$mJeLGTUAqih%RtCGKuRSJBxUSC z;K~iPP8=sJ@6l8sGr>ki@nIknQx?Dx^Wzk1i_Qfd9xQ-i5MuRM7$V;9OyvGLHt5?N3RUcQPl4(mDdN)eSud5cfv|WE8fr$ z>5FUqXGzGog0Sl6!6_SgsT$wy>AQYYHW=3^ga3{@*Z0#RsW&UVSB-TsH)lrBrJ;*e z`o92qmGZCC{~&at)+>yG1$GH=n1UKAV0%765a~o?9WTdBEM9@VF^q-)!ufDo(&o?x zOBZ4tg54uVzY*@Eg;F60mb7MGyXSsAqv^BC#2=^*uf@AF+_(*N1H~v@;dw~-mrzLU zx-tUhQeGF+F6y<+EeLt_!oI`v8J;44tu5d) z;tTk$`4t&t&FuQi=5RctZjcpE5Suu=VE+XWi(<$lKnaFedI60E8%(&R0Tvw8oa);f zWW61>8}Io?Xr|ezvHUZLZiF6T34gIwR?nI(?AljO1;=SsR;v=vo$n$)T3P6)|NegL9}okw%~&|dOv&O7Ov zOif&r5V+DD_L5Ml$GEieTW3=9J+l+5mBv@nwFJ?lT7u}ejo(=Ax9CClqrb7gBINbw z`hTao)%VI5_PncCQx-BqSkc2fZog|ukhC#z`;~br7hCS`QTh{65=M@0*^xm$xGs#4 z9RXSgknKTjf>Hy%HUMMLt%i*?0DDlyLJbZEg27Hm`zr6W%`5r70ZaP{srZLJbXERI z-%V#dq7O30yLg+Wh&c?XbUl9|Q4butTxIR?%EY=}|0&6_INH%7mXM)!$3jj+V*+D; z$opawnSf0+4Mii!2*tsY7_xOl6pJ)L+NW&qSSXZKU(ojQ*53N0GPQ`yvR;h^UTU9l zd^0|K6~-pefOZ{mTFrAe_t{q@65cQH;H$kGojH<6XQXO1<$6(C>((Z**u@6znu+Js zH3fjXVx$8rS`;IGNG-5m6hX*P92XA?7O~oevKXdMpdX=K4YyzjaTBc}Kdgnp_V@@~8^p21S}B0^ERDqLIM;e0 z$I3Lt_L(3>d56byh%P*6+BIsm@lifyHK(>@LG*YgQ39xbpb@G~?fO_&eU}qsbZ2*` zEfeg@GZ;ah80c{N&4?4~u_#0x)g;oeI&VWS5 zBZSMF!%cf7miCTn`=2zc3ba35`v`c`a=Q+$*{W1pF1aFMG5BXKT$R5h%zk#%%JorQ z-Jf+_h5p4P;bXzQIWx)0(6tc(Sel@`!z>UYZZb?v{AiFsp>qzcSjaB`%7#(|L@e!r zZ!Z$Iwh@H9G45BYu;BI!jms%c5iGuBY?(F8V1n6m6REYwIxQV!?^aktNE>CPz1D4M z)>d`#^R9{>)l>0A(?Zx2cq-G+w7IGSxvDK;cyirUCB9UU4Mv(F!W_h)1l1s(7AjwU z#FY~^j0v#hYtA$V2U!?6XdxtUkPqF3rf0GE6Q@26j2^i*%BN-Yi?`onah2(BWc<)(m3Hpa;O$6(fiM(Z|53|5tBt-JL&j8DluyH{Xo?rNS${f%(@4 z=W+Z(*YuvoyN^^z8Xej;IC;$B$pi|cyL|wzV<=A;CBV)FLOvT66hyti)(C|7UjW)n zvJw5*PA$%hFSW^m^GRocpsCTgdl$PFAoBRtM&18$PU>-IPT90&{ABNHA7M^;&c@T! zoyLV@zBfC2Qk`SQO3K_H@~OK1&puJsmJZaIe9P65{ghkOG0Qfc)PD_fQ~jpb_>jS^ z?xsS5#us!jV5H);5(`*+`ogyn23qh21LFa!P=BC)KKiC+oXp_=pcS`ht5haswWySN z?RLx!mF)AJ+bt%2biuL(y={NL7E>0)pL+MuH-B+&e+4pKuUA3ydp-D?Tavb3RY36) z^p}Jr6a68I+D68NI!Ynhd5C#K2nah(F-FfoIw0*sua9(~3Gm-Yhy!b{g(3ODP{_-r z++R8$jY|yYR)ny!5V|d5pRY0&m~`?4dfH?5Y>8DLvpzqM&`iCt&iT6C zk~TmZ?02-W`*v_}?i**WpoUs0aNDp~@|h7ExZ@N?1aDB8i|nw^qyDkUX-9;X8-6UT zSep6uzo$F(=VW?wIQ{zv9~*kCyzSG5M+N4Qsf6yVqkJK1cIbt%@WCI@kN~LzQVrNN za5X{PRNzPRZ>|One%}AtSa7nZb}#O)6`aOi+=oi0<0h%R?Whsaz5+qt&qTQZ;c)6cyA03@A78YYh?4OMs8k>`invMi9YARV0?${3 zV!-d?#^f!^#-Uf4JRaP}uWBSzyc2Vk1^C#6QdK|n*K7NKavJ^Za#b%$hlNso<|2x1)ij)m~M0&#x)^t&ppQ0wrcaU|-8LsCAWz8CD z)Hd$k-v0XQE%FNcd`C7(@d~=+3ZE9>>p{-IKoNgI1pwngBr9KN63EcWLF5zOQZ4db z?Il-*#At}*6t}7z*m~%_b>F1y-ks|jD_I9TRJ5Yutan?J5XCvT{WMDN4P<^;g#&s3 zda@tEddC42i=8Om2tw>owu3Gu7U?Zfzuh-bG60)k$P&u9>3ugGIhwKrj^lJKr!#*b z6_yt0@SR-*_lU9U1>^#UoG!~*yL#om7_{`(u~bF3KPIKj5exddp0tsUIa6X3)9EB_ z#-jdE>X+)IQ#v*x_oO~x5S5`XhM@@VfPleBIswvA#L!L#Jy;+(k$ruAu+weMx9xRG z+KNGKx!t}bO$I!YhGMvl(7S^pN0R!^6wu=|7} ztQZ(0*liM3aw0y4$q?En5$ayC3><&Bkr^ILYhQq3nQ+|eolONbDoDvVyH5)fj#5su zp<`GVMWa+njF>o&s5MFI)ghzowhgpaEOYU8n}M;$L10HLw(e-lwEl_tK)WDsJ>qhr z`U!|Ev}^&j!vr7ztu)m2FtuwrDWVy%En zQSU?urI^K!HNeRBT^!+7o>s3SR{iPMYiAx_%{qTYHtT?T7i707aIF$ z70YyLSN`{Df^7aT+}&GxRkP_FsnD3K9!(pEoLUuL>cY->W6xIFrC~mw&+T;TOZTNx z?@0UTMeAr*dRr(8$>p=w2R|Q;&#uem0Lc^CBkWfLgFvJM{5b)v7EI~kehFDEe;@3! z0w50a5havScJvtAa{o9r<4VC^e{ZAcdW@|#ya%}zQCd&&qJ+kUl)Fb~Vn)L8OYA|{ zsjr*6E)_iIC%oZ2R6YoM8ky!4>(*>Ocy!;~wp(rg#sFV^6b<@gUaBR(y*1nu>2El{8N?^u_?oTiFDO|rYds$V86YzMRZXE`BMq)6r& z#(5e2&DaRuZ%QbrV3Kd?ckh#$og0J&XS{fM-?bezD1R*0T7T)jH7tSPq$Wd?gUAb> z8R&q1IP|c%^d&O$7^YyZg+={`zqPgiloHdp_v$9;(~c#;a+WJiprEqCTF%y-bjh+(b<-ii$7 zQV4E@JO}#+2vUK=3s(`)kPSY1n-dN`lW#uL_+8mLUi^F!MMp-I|qH&8Ex5NEOk>}f=hTmZEnUl@Zz1wjYHG6aVj5<$LbGMnpCgVBw^ z8~|XJs#OeIy5cw-Kw`SVewHnp#M!NEc5f_N8Rhxu9QVXhQHuKd8%}R!^6jM&wr`Zo zQ_9+B#_#B$laNt8s3e={^XWb)0hu5|03(RiOdPDPWoTDKfGa~?3h@q*wIDwl>^JQP zHT}0>X_b}t*W9nhVb1u^+$St0*sXYx%GvUvQ5_a8H4+{gi_ zDjM!tq*FB;J4=>%jBw!7b#--Hl*)kE)AOg!$T4?)Mm1{1HOtLuT1>6kz%HIH4WDJnpF3ygLW;+eOfEFu<9vGFaN!pZ_yIjw zZBx&Q@LDNJ-n#G&-A}Z<37~CbgaY^g2+;6?0{{pdZyJg^P%J=&>f3xT4L&(p7sq*N z7Y=Wy5DS=L+ZX4k3ABHN5kJ%`rFYYzg}-ImO8p&=yN_lI&%2J|A*OCsOUOu#DPpB%{=k+vGYnky({m@MHOo z*P02;g=?4WVi5r^y$2^JL$j^>zVUkB7arnZbApWuWX1FcN`q-l~J!Gg~83`U6UuqjH0ch1T6c4~G2+pXcF_nT~bs#dQoa9UFszeF!l>l$fV7QD|GGY1Df`M4L zhz_}r`s8w@Q31ldV^PIYOfaNLk`=El865=cxU3lYFh=ICx8PpZ;?nXMmlp z-%_M#{Z-j}T&RleuvhK$uGeQVr^+kZ%9y+L1a-M`+4*rJw{IFFzGy}tO5dF;4NVD_ zTpg1VJdZkOs!Nu|il2%TT1&~>Y z2e1R~;|5Rt+i24&Ugrt?gJyP_&_=9PY4;*3?LMnvQ)j{(e?`SK9SUUi0j}&n?rAL7 z;B@t;Z)Mt-Y%wlBa=Y$~{xFt2d69Lx8-a%D;w0`X9vho@UrgJuef5V{R}j`Gfigg` zfXegr!>AdGfd-#kd%V@m=k~wgc_-vrohr^;lpHr=F-1fOJU`tY;3Jj>a!%9dI%izu z3M6$2w-X~(%t;aYpOqYBtHP^^Wd5YfHKgB0aU#dU4=Z3?G-v?Qz=L6<1I}jxpc-H= zVR@!~xOQ^Q#-&8hlh5v$J|kG}Y848>7pK03{+ zC^=P~(<}7!X#3;xi$=rtH+UZyct)KS%)2jNl75$c{p#Yz-fphHPORCweVy^vN7tU# zZ2Iz+(c8O7zOT^{m#O+fys~&)!uS9vL1Ddz9VH|n5W)$#UXE}ggYX6_S#isP-q6(b zJ)TdzwEoGHIEk@l*w-OKWz}biUvoCu++wCSY5HGeu(Hj0%<8$N7d!KK(^aD+jGSEy zZaG&`Mde&|+NqG;c6GB$4_v)U56JZ&7k!Nx3MqwZBBgNc!1u0hdgu-EtJDOGpOV9_ zYd&QVZ^KuIWF9mnL48Po&LR3CaUjw@DCH1FK~sSPWiY(_f4HUl#v4SQ;3`)2S;asWvtNsbvd|(sMqNtk`Fp2U!a)5kB)=81&VtV6aezYW4RCG zNkA^(HZK<$jHUC=gb*_lwz}sp>h;d0X^F@GnY%Z?>*(>DB6{}XU#pqnVxrn!nil!B zFsQ@L2S5Mt$wA(c>PPcKZ+MznF73Mi$&B?+m#vziT=wXc%xCqIZodxM+jr{QdrmGz zo~_$4QYPp^6$XJA>dONl9qj)e_ftU~@N%;g}edPxgXK2F$Spl(gn9yM&2X5;}oF9U`ma?rjXbx9gDd{Q| zY2Ni^H(=Y?N(s`fOEOFcvFH(^NwJ0BO0W-G6yAF+$b3>FT$_b_VajEM~z zOAqtsRhk%a%BcMG@}uqP2z_M+*TAIrT?32w zQxf#YuVCw9egohUz|jfld;R0#hfaXf*rh69Xagm5;J!b+RJth;e3KvLp{?>>X{wWL zqW7Ur1@LlaZkA8F)5^IWS*+l7JwH9mgX40>ZPqG_q?O0)1%CNaGyRGu0e4^Inlvu! z>h>|*X`^WB)!)AV#m}be(wIK_Q*DqzK@RmpivVpB2qIw_Lv+QlKL9%v`4RI643a;_ z2nKT>p&C$=iUHPIWavs>liPJ!q@>u3Ni@y4Pon&C72&SKsMyFeMkby=m9_0#(h@h^ zB)y|9h62nL1pXFy^Z-Nyc?ld0919@pkIGL3ARt)k@Qo8U?|j=S_vECo_-GF^RfKTb zWBdFPt&ZdB1)OERbdqH4gWTOhP;h+NS4Z-+W@hQc%q-^+BmCZPb9laG_5xE=)5&J0 z?_mT^{~et{R$#gS1UW}gS^x|ndUxPK$HPhiL=k`d1U`Q7K*!~Ukj=+%>)y^V|7QVq zvD5XJJ)}O)cZ9Hr7aYSyPP%d$dO|)+D{7q(IFLr~?q1G^`ciVwQkH0xCi{KS6K=L--d#tgl6*uf3zx zoQ~5cpa)A-v$N@^!I4lg-A*rh#xG$+apZM!*72TTElF$T(wZiX@yJn;RMdc**OvZp z=2bAS@r~tlt1A|c5%+3G$9Cp258D@5j5l#*=WmksayZ|ZT>4~!CT;1^L356_y%$%U zPJTL8?_~gm@WHMO&PPFzqJrl+)~3DyCPU{J%`ybqh$%N#!P;M;y_b1APd46TD-h(? zLT~fGjFhEGuGY%It6Jt*M7h<8@J_e;huEvhimG zZ`25nqOUoOCT30DCA|1elp9@avf3y7@&e<%1z#HF`$3*WneyD_LY^iiP^s+0a?3Sy z9c?d`il)}6e-AABfwAa|u$74ol+i!J)oa)4udzvqkhJwHir|xUfGYI*(A5Mx4J-^0 z=|!M4f;kWWJM@`;LGhSGh#*L)Xg=lbl?V#`sg<$Mit>LnIOdh#nDXi*{KCBQj1bFy zh0RphI%)KRXfJ7>E9DmX(~B&W_nKf5`hdq14m4+;;_Dx4^0ZfKgRf7=)9OMyM%_f- zf^g>Xsc|b|zlm6gK@izpBB}$U1k;g^lS^)?_rZQ`5oMK9!?&KHjJ)57lleYzDt ztuMJFnd+ndcg`rswosEIGs_tL{umOtm`2FRJ{GeI&|7Z_IceU!G0TacAqhCze*7g!l=V9_jy6|fy7+Q7+YY8f1Z zX?K%J$BfyvULJxw|D^IMUw=VUB~@K`MwtIAfch8me{{3)l@2o<{{5`|-|9axIaCA3 zx?Lt&OIIZm)l(mI@}RauAQ74)7=$8S1q6sNW`?UJR&)L${15H-Z|@2;XRZH-4rYRh zX-jEUu|}O^%7ho~vpe7I-CIh(1IQ*XGh$Jx6>(6}_3>zck(!XE2rxeZg)$Bktiyq` z#f3&f0}B<72J+@WWVrj%!J18)!qh$aV^v13M^CBqlQR1CoL@u9xsr+A^i|cxA?&W- zszMg4tg3o3?|motOk5CTecRqCD>=)S@8JfN?cyhzo2g1BW4^HTw&qOR8?LD=`J9Zo zbe$KPDlzDHsPxez%f)a`f$svg&k#$3>8pZBKgogRZ+?D*KZdUJ0<$KAo5pBi*5nNL zq!nt`qmU}H?2;SR7gsS`>rd%od@^{O_K z0z!vu8bEgax`U57E^+Blz+wkue>o^%XdOZD1d|C$L!<-(PzbD4?J;VvUeF#R2{U^o zFZTbC_U&O!mjC}d@i1V(P!0o8hA1MQp0NSL6B{6+VWOgMaoB{Mvmsce9Vii)Si zLkS)b(F#vxRv*Vf#WNZfniZIunkAkJ6?uNIdt*9RqTlQHU!S_J&vozNKD^(r_v^q4 zs7M#a4H@#urlK$HH#ufg)VpGe$Uo|TWt4}N#vJxB%_L=&lS;A_jv2N6?S)EXYR)>| zo@0~0A2&OH$gXEL3qCblkVEQZ%X14$T$t@Z00Cw>D9)Nt_|?En8FX{xNTXv!Vvrgd z_t!5NAn5`s(aLbAR47u&%F2dPcj|yJ>=E}XF4{UaKtI5*in{nUeM;{uesaoqh^lJ( zr^55|JG!t@bHl0^=EYH!tDbVT%kiEV-DPfWfKfv-DfOrkeAJNu` zX-byib=6_6j$tESEeTo}xaVRBnVj+lC^{Ju3FaEaiJz`xk16b$?+zw#(8)0ko3h(O zKD=Z~n$Myi^{3CPN;A1Hjm-%Iugk(E!NeHAqE#Y+I>beausD;UfWT3Nq*Mpuz9bp) z#xSfm1)3o91^6lkp7v!grUF^QfexL5h!+z&)z>;P?R(4H+wid@WNQ%Xe$ue+4C5^j zi4@y6`UqdD!N@mN9dH<-!s;#O4`OQan8H{P&K|H*AutX|Lm*niZX3iWXqW&*%U*Bw z#nBvlDxd+@>KzmsM(sO0HcRX))AQNFdi{XN$t-Q@r)Sbj7saRf$Ic#i+YX8_(VaW` z?VtL?cV$Z9&N;W4Gw(=$n|e0>t>}U?~{=Vio0Eg>%|Ouw0aI-wAv&3mhibfX0q9LZZ~gZ zQ^OAN$|Gtwf0(5dlqpA-?A$rAz@GEvJjE}E-%+JK`N2B)ne31s_ATG8vsxkSEkFk% zZlJI+fKiPMF?#q12?QyS-=T8_rVKuzdEoY{9b&#I^j2*Wue7|=*~~#XAFBlKPf=Vc z%`3|?7*-mTPZ__&G5&12^Md!n5BL9rp&R~*JgsyVM=f3zG1t@cAA|9O*!(_91#82K zW3nSYQ<{D}qWbOo3!nD0EqYVNmZXw;-E!mMV*&{ywXO`(duaq%EHE?x_9}%V7T$ar z)GMGvnq^_FeQD0sHG;HPZIvY~?LM+qmYcRpr_P*teAV`y_7_wyZIaB}-&&fDEaBRh zo*A-9{&=Lihoxs)_PB zagMJQ>4z9Nfr)?ipuO2MGar3?>(+SI`FZm?i@q%1oGre`TJYVZ9WvQo&#NtOxEoo^D*nFu{kWlnOAbz$PK`dVuCUkIh zgpn6GE+nuHVL%{6Nf70Q!Ua)La3BO=+2XeSs*_Qt)pG;oe|+DCTHsrEb&=D=(o^7E zpKE50_c&2*)Sq!b^xo~fnvjeW%mg)}`DpL1eSZjG=S3?5k9^4O6d2i@V8{|TApS{@^4Hc@s1y#qA?BuaSJV1EDtgO8&IJZh*?P@rS%Z(8W9KB(!c zu_~ut%Nuf(8@HZSM70fWvutWlZoADrmK>YJ-Ncfuwf8ukqMGEcs*8tgY3P&PhC1f< zMXNnQzV*)GNl)YO6D+q3*jezVO95*O*@d_+5tIO2nN$;gCayk(`W-G>^Z zgP=f$`j4*~n38O_H}1}_Oj(T|MFohD8VX0TQu_zwU#-w>cF&#GVxuyu&Y|+hx>%*b zV{M=Ib~N3zxGU>2Ea_^t@7%c)z7huO9Zl|%V}sNm4Z_+j?>?=AEG8MQs>x{HG#Ydf zST4!+i2$z!gbF~Y_{=Ti<<{zMj>evn6`X7M697heuIla3!`){abNoB%%ac1E74c6P zIwtcf+p9*=6)Tyb-nFYf94M;Hb1vif)Dr;NpDginW+|ItfINu|_CF`F7|%lDXAwqZXR8e3XSprUZ(z*1oPK8|*405SVYT4a_UXl;&XdPs+=Td8dsH&5=CZ z&5^=`c2nuq2dfU(?~D7J+rzHg2`WR3fnNrzwD)X^>YB5{6z%Y2Rxry+z9M9*XdEEzK~`-t*-vm;3zM}F;#=MDEUsHD6%T_8SM|Q= zujw|9a8c{msccMAZbu*1&ky{%GVRFO?!tzKuCnnarwv%i>p*SdX# z#V(OHB4`{@ELbsoMI`VNfsHe0s=%V5J%Dv^3wGZ6icOAyi{S`JyHO6*9)&$J>nCduuAT$g!dR`X!bwMDg#v#T-0odq4Z(y3ZaOlg2A~eaYl3-&R-;oRfC7D)>1k=T`XHa!LcS^vN@z^~ z&V^eMiP?4x{SVC#Nu%jBeO9jMp(sy@)V0&TF8TL@inaw0qyiHz#RVxo=6a{*jOgMU zqv7Oykdcw07t9v_m57|m;ky)hYZE_Ay*R?=+n;}Qc!G5&jAA?-5<6u3B6ou1Okgf5 zl>!tcP9$Is$uPavXhY3UOl$j?qZvie@|aSF%jQmny1qwV45OIbzi;oo858Ji*6O-x z?w#Z5*!FGwuIZU6IKrO~>&G7P$nTC}qPS@6*x;POLr^L8J#8$#Ew|6y_FJ#8(tZEz zy0zQp2WY<(x1uToku0fhOgvTKf=#5h#rveK;g#?5WJ2D*x z?nLbq()!@hQk%45C3!{Rv&Y~Ob2X7G8_z;0+o4U(TyH_Tx9CUK24-Px`ABUtSLGch z)@26`znP+{F4Oc~KQ?u8u%O{Bsr5ZW>Z@(~d;>YPmimfBvcjzu0$G^4LIXrN9WVeU zd4nX=55aACo6uFfzP=)}MtQ@c1csOZiAVKguX*B1sm3o?>~ZnbsujS<&neb+99QQW z$Gym^nNE!__y*KfXVv|XsCC@zgOSzF8MoK-u3C@i$U8q@Tq7d_1PeY$TrN=x;vGWQ zgGL8dOn?m0u;DnXY$Tj7s7^63 zl%u5tAq>qUAT?0Jpi4*GL^8DAV2(hL`39^*jb8u3asl61T$Q8Z?!E0Gx*I8?B?YV( zzTzT%&Jjg>K_C?DlMaAuJ@pR5+)-`PS9;D2P!iA$v>xGCO%sK6TQ(p3U{1f16Q@;c z_8av6K|yiuF?x1pSVI0M{+kW;Kb$@x?u^quXwa8}-_KcBiKN2q*(hC1`ZLR41p6G; zY3TNG>7zc>;(oz+0#GgNNNB<~K_e3}E5F`Dk1lV@NH~3z?@@YPaq$7Xw#z&Q*LLfMK^l%m0h}+OK42Q*uEqdej`9$+Ys@6j`qJ>mKx^OX z=X^f!%so|URwcv&;|{$I?%Vh%@HP#$^Le+rCVNalH_^R?x%>$BN{1p)!#v&agj z%#uZ1H!)hGCXM4YR%A_at?5VqGlO+ejcm1S|4XLck5t!LyBq(-Bb4)<3(R6&uSQL{V>N9}zH^EGHQ8ZeqA! zM`Z}P`dZ99N0w|vFo`C0Sc?9Z8~yl;?Bi1s9}FAv1#B48k}yNx?DS80dfurc(wmtZ z5?C6N_SLm`<;Bx)kC)jV#IK7^di1mU2_XOCnTOvFEdiN`1WJTKjSP<_#E2bFzFj!iHeNbB0Jnd`lqsTqG$HG)c35u zFnJbFy`BCGxhE{oB2ADec-0VtIiRqJ<-lo_5{qRJCPIKvA*~7XhBts6K$6WiP~xxP zAhH@}06Ix|rxbnC&<|XN(Tc%?Pr`?PWNz0oq)ZEX_wL=b>*TIoFDrijTk!NdgYo;H zo?3GiO?Z?3iwvUjx2%(hps_L%D*%dw6xX*z2YC{VdyyN2xSCL~Zo)yEGkwNa!6T;6 zh?KN>jNh@83}QF8a(k}Qz_xpV)z=UF-q`L8UtKCKU>D2%@@Fd6^ffE$E9|zgruDA~ zotddP>#6YKIF{DU*)Y|5-DC%A=idCAtlRR6qf`n@28#&-JTON=9Ss5Fn6S%Wu|U#b zp(uc+uqBY=RrlKqZi-3GYeP)okN+!@7YAaBCqE!!AWI`&`Ykqi|GUh#Wf`nqn~(DS zBj173>6lOIA507t=B>#*d6si^tku3CmqyBlq=j>^?iYP9IxjH5anTX79$Yqufi z>RntTu<{qJijy@=a4Y_YnS(gJ`IOk;hXx|2+NkMR^=UxRmy)ex&lx%z26Tl>J!{>0 zjjGXUGWx3$wZ8t)>kxS!WT=S!Mt6zM2FDb2UnuF;u~sPz-GRWie*J;) z$B<}1yPgRf-GUxRdSw0b?8sO4{^$6G7UVmmKD;_^VNQrcR<>vU0agWbR3Oqni>wMI z{vz{~Lz*Ip_0vI)P zG6cVJNRu&gHTmX)`Awo>#ANV?p4vRW@ z`#$rHycO|x@7}hQ=w5;qv*%mwaL}*dw-}1AOjJOicmv&ps8bg~qr8QGaSHflAZWe* zlVe)^a&*qCB{lZ9=H{whDwe<#H77-3bUe5z6Atv%E11eTf{AX~uj{S5S4M8y^1n%H>q?AVO!Do^ekVg)_m;r}yl6sk9AJor894k>WO%MZ zVK9ISCmANwP;_X!vEO3)mx6U;(zZdY_SEWkF?Mu^G*MTDVz!~_n_1Xy#R zNWdVAhA9FZXwf9KzV)?w&U-{7Ig63P-k_}-Za+#^U{%AGC2Z$310iyM{DA4TwJK3c za|cDwbiS$Z&`~A*6YIo!O?z&|9AO!yX39$J*u1>jSpxAFC+Mj5X9_6l1Y;$^BAX=X z_NPA)cPvYPhhP?bQTR5XvV}#rj@U7Reg^#s$lVB~M)3;?sN@Y)wuGoae z20J)(aO6-+5%mbFG1P`ol*1#AnC`-ZKn;V6R$l-U^74Ojm=Y{th8Y60cqe2E_juz} zKbHlu{N;QzziChy{M`CdJP-SP0LBt{_(c(-BbL` z8n?k;Ze2C*clW#RoZ8mqofJ;w&F+uyw2xpdK6rXfzbJmk;Eg{n_;h{M3a6KWbngpK zdl7!9MRo|>oRsUZONFc-f@_emlHtMw9~Rt=@E$-D4dSTmO*(12+_a2(W_0#9!Y^+- z9BN7zD!xBjuIR1!%FDZnf2wIa(vh&PH`v(ZX*D~g zg2d`|7LxpKcB_tw2H)ef7X`#RZaNTWsMz@T~W+r=iy&IUo67ez=y}WU^E8c84MdW*q^|kfrWym2j?R&iQ%r=>S9|i zLzDI*KFeWnW>$TMfY~6*Gq`XA@~*Mg#0usGP0vpAl&+nvGO~Tr2GInZ6OYQ==aJ{p z1oCadij9{?1*upOOFT}na(Wk(pW9+Lw?@S(n!nq}>O7M6>Eg1anPmQB8P}u6g|Y&l z8|Wb{y8ySqpc`y+$Z%4SCIQwe@>KyXnts8n+9&fpg3m1wA%k&d7Mos4jB6INMie^= zp83+$Ht8pyX)24dkt-R4^zo4G(T!WIPaIj3>O!Pf-` zk|2oTn9^#AydCByZ?-b={T}(_AA{YI&-Y<1dA4|3t+!i7S~aU94-ORZ-dXdqj>^Sz zmkufQ{bnqi5`;_2J~39U*fZRflB>rW&o;XbXMSHEkn{8Pxz_6@PmG^KX(*|(JX`7z z{K-LI2HuH3Kb~y#%-jXO9sZoBghB1cb5bN=1LKj@d=-oo413&TnL^<-AUr#w!ss z0=q=tF$|hc(>HJ3>hb;e-xyiCTkCHQkOuA8QB+j4GfHXAMj$)>o5=bNz47ZTl`rw( z0kH zr@*}p;G7n@>BJ-prnMSqq)a=ewGOVOrFc1*z*0kr?s~1&8BRX4zkIT>!_>{@ej?{f zp2qWaOeXW^lbMv>vpCvgXOv>NYU}j#FPUYKrH`F``Q%HAOB$43EEMtd@b8B= z40<|1hp@W__kiT0z$q0XFEgIi>LkwGP>lS9-5z4sU)>yy^Jj~jANp|wg{h+Rp<`wk zlXB1Abkz8-CkO^;F{~|*e ziWgro+xqj9t#R4$!w1%gEu1I7*Gvfq#}`i{AORAh0Idz!A8-$rnH;X6uxR~hHxGlj zPAwvF#-L}1qa_MNOC(rMO4)6jfe=?+qrd`tNr#9M& z&L^p+ciXs?`AShqdi>2d6zo1e6IeN+rNvKIQuHU89C^aH4|(w+9hay=J%R(uj169K z?H5~rO0pfcT+8Tb-5jeyH>Hz7gMb$#jYu#Og^pN6V#Wi+2pS*~l!LC|^=l;EfIlKO z)?@PBUalyPWDJ9s*rhk)?=UXLE5&fR@z;Ay`muk~e)ILO8OPs|Su~j&_TZvq(Pd+& zfC|5YGNx?mbtPLgdwWq)pk3e-kMaE-t)3LJ_$L#jA~IFBAVgqB0y)NKh0GHU+$c$* zgu^w6?+UUHZb69eL0^A8|CBH#tZQuHR>5Y537BbMJB18f*COwD>{_F@qr+&v_<>q? z*6y;vPH~JVJD%MZ&X`ua)Zb}VkAT&#g}U;`Pfar?fUz){tZQ2IH%# zEGdgpxomJc(AH6(+e26u$uOgDO|QtZYwR-d&!5JxymNBXSGr?AZ{F}RCB4-#skX+& z@o!q;4bWVu;FUbBF3Ys~>yV!`W0~W2qQ9~HBw)8FOYp3sQ-cjH3PXsaab=P?drWSL z+zImvdF#kIIi-Xpgse=XONp{FUHq{&i{GS*iybL(UHo=7?DR(}2D5W6dPk_Y#;S(% z*9U$?v4scibJlq$tSeFk#d>B3XcGKmJGJ3!%~8iAOlluRkwF#~W&| zV_cE7P`|10K65z;E-NGmUG6G~1!Wt7aq6mVP5^XxXdO-ce`-w^%hVZZd`T!}u zN%%Tfz$nGQIj3&C+#&ut984zK4QKY|^Q3wuYq{%JDLuoMi^6&?x}5p5%P}hPLD|Bq z`g~_fsP?4zBcP9p=EQ&IBBW{CRWG``aI1CGCI=A#c2tC83ra9yA0omY#~~D@nFdn| z43MDe(7egbj_c?@tjoCWgX{#?eQ_;i4DnFp>^1(`_@Kkoc6@rmNnK~lJ9Mh}>7PkfdmZyzaBmQM4LTEe)|`csQ-g&s@v z3n!Bv&a!W$$#P(eDAJJ>i6KWyxEkzQ4Xz`MieOlRIRbiS@D)tINO zRP4=FzKG+>DY+KOyP`3svXtU#{a>QuB|$}*Uz=U2+97h5duqQz`z$S3rw^hs{$&@l z+c)nm!bG&(F$fStoRu1kN#viB5kGX#aFIs71PWpqp4V{LQvuv<^}Czz7%EmLJfS+L zXO+iIVF&d%s_%Z&6pdO1H|U1)F}dRMwQkXNA$)30krh%HN*B9Dza)#He z`PsJJoS@s3Z;hmb@g9!gc`bGXqUX@Y0k=g|5!$-Ya0&dKh>n7=a$dVsjVVVgn$>62 zEsDzSD?aL^VJW+>uDQ!3a76;*aWRUWZ>KUY?(`cgIZi_NEoZqPQ_t<~FeIZ5mT)Dz zJ*xxz_3Ibf?>i?&&%7O9>^xq85I4IO&#W2Oetpf9O8qDWpbR4a2a)+3VdRk>@@%r**OUzISKmR`HQ2wRG1BU z$1iF-(k0csqQjvaVbs2Q%xls`B4zwBMtq9NWOYmWt8dggmz*p7wPjQLB^>FVaU#ub z{JW;S7y4#DmF<1`)u6-kh=R{@T0?NRCj$w9<{v-+y1`IbF+jV53401+#$|BvhBi@W z28&udttL#slx%H|X^2`PiJGJ=73L(D7ub(1x8LF6?~aj2-Ey6gEn4-c4^7LS$6KF& z*mVM&zV&p3sQ=bD2i5+pkxoG!oV*@0N!F$#q(;d8%56om)%uaR912hXmcpQAo4m)- z+JWf`dOVV1z&S_tM#AY{|A!!Dj}`ZVQ|3!wGGdM@W@#c6>&6&oaThHr6_qTy=)+6m zwNZpk@68kMmSp`@Xv%I72*M{8?J#sI_ZIcc7+G7ZG??Vc$rq=mY?%OL=O+jH^Lu+fB6N96hXOJe?6H9=fvJ;>#t`Khj0+$rhQ$_gsH6aT z(G$J_NX^lV7b7P~vDy@*tL&N&eAuW$NLFx)QzfOCaz+uXioLC=0_B1r| z+;uJJQLDXFOR3MfmrlJ9bDQNWzO%9?iU+&(Y_Q+X_D+hPdN;)Un)kzy9B##4H~rW@7*hGp9F_t;X_IDWx0mr zcv(UAhM%?sLPU6$qtPPy(!>P`e+Ck&irC$j1dUgnUi0gfJwkE1OwSXQU1Ppbg=JM3 zcX8TqxH&!V=$)24`<+Q2l^3{qsUg-$<@Tx5KK>N1oMwnB13jvmiK?<=yLS3hgO#`5 zO-#0{5q_Td)&N%XZ@*d%ILNO5Y1{gD-?v&kS}&NRfX@T-1r6?fi~>;Z<0$|Qlb98g ztP&lb(Kbx5Y50Z34RGIwBQ%1<$7Fy*QJE+rntz4f}=qPdJPnD#x20$!W^RVZ?G92Ri zq&~IA6hJTmnJNP1JMqn>aSfr{A|O1FN}z+7@j+FO2k`aJv(f2*f)~Keh~Y9G47ZGQ z>rFRQ9Ja8~a5P57YJ2=ZhaoYn!7~is)fl>uBZX%TIkSMUAyP9f^Z$%I8I-KueSI2HU}AYT558Q2Nty_^*Q}1Isvslwi^UvV#uSBazZ0M*|n9`c10)mvI}`E}6Qr^QpxH zyR1^MraD)te@JlI?U~3CXy9lA6|T^fARJuiGJ3V+4&|rp$A6z`R}8cN`6YOaUY=>p z_uoH>T#=R+7RpN~hLPi;2J-}4f;>qm<)CiC86|18T2yXe$i9A?vp}_=6J*b_Ql!*Czzl#C+HnnTZjt~-obAAiMzbwZL+g*muLa6^)ons5chmw~>LYXh zbgaxxtAE1Kp^X09r;6O|LxjZ%&-!JZsnSzW`L`3VSz-wH8Sg{U4<$4)=dRZ8yC_-v z<6WK5m?Gjz^R@PC;sv=M3Iuz`((mQ(6^&={ysR!2vb}2uuh=;czu`Hsss?063?R{3 z0|}9X0Yri)a2inrz{)xd%qz?yUytbgi#V`oUv%P7T2Yox>x(nEp7a>U`j*IXh!vgB z3oN1IQ-V$DLj4q*n%`^swYK^V8quK z6>aL=`Qq8}k8J-wJ8t|i!y3>A#1;;F>oCwFLP#OB|7Vmb}qRVEJ7vs*F4p9=01TpnFkNx<+-27h|yWlc?G?HbgvX{RMXp@t9{#V{g zYi~r*H87wfaU`T`MM@^<-8iP$?ivstfo|ZH3PngvtGirBXg;Q{&whWz-W)c&?Kn|j zCw`!}w`h;|Ls7h0l9308SVEi;B#ciL922eP!8c8FtmDz_W52V$Zu?iFc=^#w9*PF< zESs&eqw?`rB-7YZ5g^r0i)1(&Y#5LPbvh)+fjxyb90tXjaCi}D!TUzyifPHMRs<~x zwVUb^qGXK_G^A6r;?+g}Fy1<4#1Hg&MyRjM;=)`m+rvq)uJ422tcyjm!@nK)l_Aw?ha)cwxt`#^qVIsv0+=gAiNG#V%s?WF zdKeS2u!t5haqAa&TZV~F66C5@8^$2VI!&c&eBf8?-WD{Yrf84fRjjT$t>#e9=O5d3 zT=^3{)5r_`peMKb6Cq1Gg?*X-!{;#KE*fr^)80S+&{aY9ohek-+d0csQC@q%GVV$b z+xl;Y#`kGaW5}CnnfC&LhixO0b|oMPNT38ndQ$|3P#9bT+Xl4_A1{ zm9m1fMh8t$#@CeiYOj6C!&ude_QVxoph^h@TOyqrig#_;waXTIOr?g6urAioY6A-< zH@FT#GO!8(9b8MMPAG_R7D9-~0lbFSci$Y1Kca0Jq?rf~u>(lFWAr)=rHSr4)&Yv` zGj@S}Xpg3W(`wV*jYhHEEFbsM^0hSWzgcjQHK2|gtg5!HYwH82-XUF`<%44{zyKEJ z)L}XtLC~bZOovhwB4}CydH`A_nHtm>^DX|W4{pBcoTzX0tLh{97z&WeFw_5Ml!b*e z%|)T0d#>u^GUl#8=ow9Lux0O~E;RmqkvSenanlW3%lLNbtA;eDV>0P;HLX*gz&>qL z1VG@SA8hE*#rj8(gF3uq_64E}wA?SIK`@dx!ZAXCNE^N^fW|POMhdnG(uQ~*>6$H0 z=dIo^5WiTZZwzYt%Jhw5snMO>;11Ip+l^zDtPJ-lk3HYZ@dCr@PKIlVdnfU?0yzz!JK$6~gt{aN6!T&@a+q$!);_z2#r-%5$yWS8Cf#no zzc2N+N1jl`niWb5DHHU2t85o*(mqz$y{`oVdnTG)Js7<9-1p?7X6C8dY4qyl&c>7t zg)@6?gwo-ULp8(Q^hd7Rh7LWuk~V~F8cX?t{Q!e!Tp|c&#BBnK7c70i#(rM<+-SUU zBqX5_;I+D;USPo!RsR>W|3hnG_Rl@+QK`vrDEp3;@?P0@550Lc-Xg6>t#M!K*n`$O zYH}PVH$Czq1%l;uk|X)kr07NV3@FPmOojB$1jV4*BGwBC7(v>PnKIM*adf+Okzn0JEc z9tsBolnFX?OUN1_*d7VSg`}!wxc#bor=^T%B2AFqV*Y(4&;2rZKH_{W4;jh*+`Shf z(7E06o*ZtjATCT^FsK6xczwvlRauhud@czNOIWVB-khSUGg$+;{jL#Csy%9Ku(k*! zAN}jw3D>R1PS8vP%SNn-JQ@2X49PzTgTStb<_iW#DC}WcP2l5JPqF#xr|iJn^cGpF z_Np>6jD5*#&l{^8Af~3t^|EIbpF6M}yK)6|FK|vyFZxh$6SsA8^P0-J05 zIPrPmZAj&1abiR*j+h*H{iz|}1@r~Z28zlESe#>)4~{HyzoDjMlLOunZ!j%Y>GNhm zfkH1C=8Mqf!=w(>S@@M>42YTsBN6kY@>Lh5`K^VVx|6Z-0h1oP_X|}Z@HDXAXZ+bE;S|`Ga45U$d!xrs^(_bgPCRgxM>AlwOL(LWCQnqpQZK-R>j$6Y~P-l zT1E}EYF)`r(g)Kyq)M>7Ob}jy5D_5{1?vi3s!R?8I-CmhPCC?^#LpQNM49AGrj{-* zGb0>2Z!2jTK4k|7jll3JFqId$C~fk-i9*)*pdoKyk9^;8tqxY99jWB#xZ-;uiak5O zvd{4scedMOfAdTq0Vh{@BxDDhow;Jg+m8H6nd@v1`E~7F9wEb7_LLl2LR|F`7;It+ z1wjz;cTj_OC_^j_h`@MwQ98F&39tG)Sf2}vyl`b#f&JZdLtNgTu6^R;T^En#!wy#5 zW1_c6KCPQpt13%A9bRxMVSw4%Gg2hp?|+5aqEw7Gu;cd8^GE$*XAQ}a`zf@p?|t%z zun>sgXoz5KIB0-oLn5HjoDdrUJY6(EKCtsq>cdIOtZr)U-nS(XsY;qN*->7iQt^x$ z?@tXu0}dJe@~Bsl^v$04H(up=|GC|NbBOA`8$ACd@&xeJWZ0GJu8+_bJwT-kR7>AyrLB}^O05A}+YX!3W? ziP>QAn-r0Ijx*9;M(tcEoSbp={rQT`jy%$-uj)lfl zl_nP-w09%CkLBQf>^Js!4Bkh3s!kc&!9l-#xSce`O&_z#xUjK;b?+2BEp}U-VN&U5 z-%5>$#G)-~P+&ChvjZ6jd~Cc12!KYB3G^C#Gr&*DY9eyNpTfN8SJ9bY+Vw`Rd&1Wl zjWtnv|DwF$EY28hlp=i8(}u%&WgUV)aN3&WEfU(pM%-Ma*#lLoc1}4PIID4gN=|Lijv}^)! zA~7_QVVDG=1~E-1zO=|RN4o*s18xqm`Ubo24K@MVZL`rQJpdr-Qx0_?A-+OY}VSAwPXV6EG%m!d5|zd0{{R^KrA^0wgH&c zVbqHj7PtY59_0LJ%+%ypA?@Z3Yn};Ida^Y3Gwpf8NN#H%i9)3TxDvChUF=QZ0V z8#h5(P#4J)OX`in_|y>b=FjW{Jw!8AF7~Tp6V#;+N6N+)_$d2NR>;NdJv~X%!TIgi zyIC!tZ0LDAKl?+6SlS`SjQv?VL%RbTzZ ziL>ATYe3dxkvGkj3TJe5Dvk=09c29LJS&*K-Lv)jt}fGPp?-h9$k%v7l9`*i;eA(0 z`^skazQzX=sV~nd3W}&vM$W3gGfSuuQ}`7Zy<@x;OGnn|3tqC2CcmR`@CK8My5)E1 zkaPn+9vNYWLqDs~noBuPMQKp224JZecu4qCnLOuysEvw;onVt2A1e7^a^dpN^| zdDKvo3GiaJlZxj*J63MbZgJo*S`}x^iYYhntG1>$9w;0C@UxHWz507uqmE>?6R(Z+ zC!L06wHUpGry%DSHWN^|^rz%c!Jf`UrN(5;=?#P!9NjNIJ%F^_hlDZ-7n-!vgdfR0_zVuxZab>a`NpN^l z)aZ@zb`U>07$~FlKsYg>3m{M^6ard!!M{OCWqQdizUTshuc}pRbQdan5;c=08^YRf zE~_v@uGe%HHR8 zIf%SA{Ikhr2NP)6kU{N>>-r6BrCKOSy?x^TKR8M8aOQ+=Fm+8zjL1IZx?}tbhcW)A z9b9dn^3KcdHbq(e8Dua5h9Ng{&2UIb-Z}0Z1Xv?J4^Et*yvuMuhJsYm>Z4<>$zKne z&b=7YF=!O!0%MQA!Vj?$y^0#`6OBgOYjA$=oKa)3MoY5~A*~KcprJNTp!>#e&aJaR@J_^&j5Mb7D z<_2#Bq**E8MLD5hkVXieC9i+*G3s@oVF&GRu7?hV)|?P8 zZf4HS%vt0gI_vWlmpc?6;0I(6Qh9aLk1IS^z_~y@91twHxl6g()|xcC{i74s?t)tQ zqhoT1vWBqT=?K`>!q$^efXUFBI69#>3TvT`zX~|DjY?HzG!(j5pylsMCD!T7F?>4m zU2v8|$SGd%9?s||ewQ2Vi%{amVVJ!8vvK3bhl94LAKhklkG4Gr+ZVZh7>mVQ>h$Ck zFr{#WwLrw+iiF(MaLjDrGz4lhjLb+D8yphD%`nERzIMxW(!}DlRd#X%a+>eC7T>(W zEK5)?;Ez0G6m)X-E@tyeo%#rO`+YU1MlT+){3Ww@((oioXIy#<>wMnuAfhiBN;e1| z@X#Ux47NhVdrGQ<^Z{-rKw(fPv>>~$Z+M;)!|PgNI?{qWa``GZ?qS|Hnm~bD>_;MQ z4x(xbE;C0AxG=NNZHa{0)cjE+Mtt<(Mu641Bvngn^!hO|Rv%TZ27^(pkwO+k2s)*1oZ=1MAz(uYPF%wr=~xR#;7ee~m;%+LeM^EkE5vmbbzGik zdPE%S;szzSrls7y#F=pe$>I3Y%Vw2@v3u@@W0jVo1s@LL0OZnXpt?fONNjm9H-#>i z*kXdeE{7HinIdnnO3;wC1)PZ^GjkZ>mxmp@aC<}K_z|78#4c%wZhQ6#p}5jm=gbk@ z7e%F&F1LMVN^`OXsIV~0fzo0b5K}>63^-o~77q3!CUP*H4~4x2?gTIwz%nw^a$7x6 zEuBKYCw@bmE5i9lU9OMac4}KjQueQ)`%O$Zp4Uh&u!pXR(anU`>Tl%D_&yyeJCphb z4fHtb3tYFTW0HcE!zi3N+*x^3Qd3ihuTCC&YP8j-C0Byiz|V&hu-5WWV%iK}d4SHC zlVgu+bs7-vVe*P3R@@5sW#HZGFw1TAVkSkl=}7&H7)?7|&8KfF*9AodEkv3{yEA&O z;tWau69}BsHbj~{(`p!o^PpzfOb11fOZLjztYOP1UgRu29&);z-CtU~YkZUK0IQ+j zy@%wnx0K%K2HH+ zFGfdZ?dWqiP#16^~h&pf#@dr=c-Sx@euo&_6R3xohfcEpPVE5Jk` z8FR-F%m?6}qyZF%_aPH zkZe#6?G>@1UXZleFDF8zh?dGoEx(4hWZS#}_BXtQldB3AS3fiB2);*% zuhkt(cFciqH15{aSoGG!78{}y_#q=`2`UH>dXfL0g0u`cuV4TGc}hz#{i}A23CMU^ zDrOGu8X_vW*LkTpaaE_cD+t0b|AVgWtYFRY*!;p;JydJQ^N3cygoTom>9TL#M+7>u zyav!Hp(qDVlngIV!ok2u64ujzok5)r0|Fxjc?#;KR!^qs;~LpKQ8T_?EG2y0%c6%| zXVF7$;vUeuX?;9tuT6nD?=#ab{m{Zzy5e+1$*cZMtm1{)3&sk^jx0Fv>8Be%{l%`J z{b9vfbw6r{tRUsvUA8a6!_^H1qz1DT4DkBG038e;9Mu#kA+<=IyZyx%w{mjSliDje`bHWp(v&2mut%tt<(IbGbCNY$lW}Ugi0&+A+TFCHX3acL z3E8ucaD_WdtS=Pu(HEVX{FF3!mX8icUg$V6iGUmcIY%MrttBXD01&|YOBV($94wKL ze%R_q*XlEW1!qnuRW`<-6h6WG^N8`z({tA9>`#T{fb-V$p{tuln^nEJ>bCd)n8mDL zZjKhzvIB~$rv*~ZRL+{3z3*LJ-psh}xyT;WFsD7&D{uJ!jv2+QY2W(p>%eibuFlDi zxSrfNlc@GAgLVuTrQ~%YK9tCXg|Lu}?LuJGi>Lz(>_U-CPl7T`KcZEzz{oSDIfJq| zfO2Yd8GgE|GRsM?jNj17!9)lj9R9%2mw@X6EDsk8nD!_+p`C0U zRoA{c3oGYO#r#}^OKvrVOZpfh4$aKeb4Lx!cj-yB58CY*wM!WkOFy=+AB7SrT4)gH z`;Kxy)gmC+RYb+8@+z&rHQ6pc6>nYo2;bUL0%&k?6QB{3#BjpuhPVOc0KyuH^BssJ z5eR{S(~x<)yspk^={v0Bgqu4)q-is6UA2Op;a~sUgy8t*5wKJ5)Djy(B$}yXcakkvKXZB+mERQ)wHm4>Z|GSN9*kYE1`| z!1z`ILm5yw$!8TTx$+>F?HBeK3V$Er$Gy4SUgK)p=6s>toWmMbJTB)1BDF_i>_OF^Lr>6c z*uOl8^W$$GCe^g%PXo-12Bd-Y;k?Qap$V^6;M&QsoQ2*K@T(m215~7~UPq=k;NMa6 zYYcXQ{}DDH5Wm?0z;B3qcUR7QdU9K;z5CP0=dV<>U0xr<&Iw?cC(M@i8DX84PX-c?1Bu$^s80wrU)iwJO3D>_pPk-4jsoOpWKfO`FA3kE(9*q!Y zEvkLok!>!H$Z^sjeRNb>Zv%Y0{{#5%r$N3BU%Z+|RKp!esHFyR2rrb!Gi_>1jsf7K>)h3t)PcP&q+%D)^Ad? zO5(FshXfY|rxh3S%AhaD@Cl=kV|m+owO54`Gxm%8-KE*9!;AH+{Nk0JKisCC@=?Bn zcz{)2AhZVAO2yDSB0jdh0Ghj8k zFl3m$!DhEiQ%Q=vm2^d#A9rH>SShB8!eJ z;86Xn7EA6G-VCpM)`=RS1fxTFC^9K;AOa>Qv(~^` zdn3bPrXncR_qJQzKk4+*Dx=DAyS!TKtqznT$~-^IA+tk%nEw9b^RoLfnO*JQ%c@S# zW^$QJ${!XyJ?G;2_;0@fE4v6MWInmxR#0lpw@uVox@W@zLcFk)Wjf3@bUHw!fO{cg zg9QzCI=J|t%bI9zVW92H@k?6W+?Lw?KYZ`NW)7)g4{|QZzN;A9e*BYv!1OiLxWXdw zydD;bgF+RFut@a(mqns&IT>3%`j^pG>xO{|(xxDfKr0R*JZ#Lt2t$ub6Ad9Kvk@}* zS|b+c_3H+U(BJ*{^dP!2ajVlvUdQEV!P!gkx004A8Q%Xc6CRxH?lSmgUmPg!4pWXEjkbA6h%>>Xu1xYTI2 zfkI1wyF-A7%@ZzzpD*HXB2dc{Cb_(IA>n_ZJ2pPtBdbiv4vjrS-_i$~M1&_32d*(! zkm{4CPDR_<(YePPyaQZ?O}fT$|2!uC)`xakBL!sr%awd?nAL5F00bBin@z)L)C_Wf zz{DRU86#C-Z5qtBQC_}DSOv%qVx!)V=InJ~hi*saWI1!5wJ(d^;kc4LK^C*!F|gUW zl64;PQW*-??jSQ~HzS$Vu^H4-zuo;~sUhy%4W%VfcAMp&{Ow$k&xpm7c{+O~E9Znu zC9IPef5p{Nsl$h-q@J>URlZS#Unl%h%fSP?7^F-bzhr_;E!tiRW_eB$B1 zZONm|N~kmZMdRDrSGq11i9Ykr>uX1mXQfT?yF_e)KCd+9w)N{m0QRo2amNT@#{#g! zi667$~ zRv@}t2Urz4O*vdj5m$@ESGcdiF$|3z2G~fnSBJ>ofR16R2DxqXJ`+^tZcV!f!Rde& z!RgRE!>amoAMrP>Vmmi2)`u$s+j2jU9hM1HHyoAM)<1;2mFt=_9?Z7d^dNG9oea$qI#eV^%5a51P6%xq z+v7P-@-7vXMSCH z+fuiyXNL)Co}Jy248AzdA>-*vB`*d_sF2#g&Xa$!#$3rIlO!oTXwBR}l?R5xvNgV>dM)N4~_$O)01>FU43TwH;|3cx$dWU1!!j!#TuTteZ z?F;nPn6Yf7AmR9dx9nDq|5YD9JL>{PQ3nqs3cH2&>$>ZHLy4(_>MBgXSMr-pCH7nC zSc5eNj7uJ)Mnv-5(n zsMvEswl#i44q?x%2OF(9x!@AZiA4qi6A-%wpCP*`ta1}2=I7_)cSP}i8G+w94q z7Y{5-ojiH6>ehsW5BrE}xhWmrS=`-)E3hpM>2JR4PQVz;%Zh0!p#}o{hc76NZVkgo zY;8mi0OJJ}3FxVg$RA%{8d^;QgsYAloz!$C9A%qbL-l3CxM`|M9{MpXYJP3}`V2|S zK)uSbFX@N3v6lAi*6DM%EA3z)py>99_;@_*$r_;VzMx+}Z19CHHoKXpUOSdxcb4CP zd@^9XaEyb{9^^GSjF8}ODgomJ6tQHyTrxQHz`N)5zro0BSKr-5SXR~G$AglK_~Vu( zK#7|2VPS4<5)HqMTrKaxa&J@D`L0LzFDpK)NN%?=MUd95Y*d=ae~ixg$H&aybNFu! z9Xe#_T~2=CPU58vGRyoDDh^+*RAw|>>UIM+hY$br%1B#V{HEq`0jbR?ykK}1UcaZvyva28n5gHNf-L(bH285{#QcsT zZv*L2m&PN&a#s9Aeg2B0Y0>fRO9XU}K+$x?Pb7t|J7O!p?Kk5GhS{$>GdLwKC2p{F zJwWOld(m)jf=yb)4(LMB->JcUlVM^5h9O`tWMrqnU0Dm`Hptz`9V$03y;Ufi)H!mY zj@JhAy#Hm$#jt44uSuUu#bZo7Y~oyMt9v~MBN66YRnCBR$=pn2&fRebRZ>eKKGa{& z&S^Fj_ejfJwP(N&%e6hKdzQwB!9$51E#&Dh?v>JUWe;K9ol*QEUH0GpsU^#r1=iy; z*l{Ao0>Wp~hNFT;w+%=Vx*91-fJV~-uq+%;+Ux%=ErPfgCQ5fU(q$;j#wa(Y1+#p5 z=!eYjc{;FQyyD?{!!+l-$9EU^7&jm+jI}-``@(lOsoiCJej5%0rG-bWMTg{RIDfk0 zOVVsvATfx@;0^|MBoc9HFqFbTBtuJxqai^g6OEY^>2V`khf~c*fi<3@ESb2!l}bDE z>I>L0d_CX3`xAc!Yo{Q47Dqg%KFpznw>ZUQbT%pPT+fUFcT_6Z+!L%(Wp)?Y*QD0Z zEZIMm`!0V;Snn2{4-~YR*#m_~00+qW0Ax}?UIEVytXoX_aKEBrL+@z%#IL%GOc0)V z+pC_>5%eTVIWLgtQa7YhI`QP3T?5v!2f2o*Dihyo)95_2`{n>vAd|`FwrN-Xj4`(; z=}k>z{?z-tR2`6I7nQDGY(4t}3Iop=G>Rl^8&MTBJgQ`&II(haonpL=odI{TH`w;% z#M)9OEneNWc_-rIdIc3dJB*wAz%TW)o-w_+(LDtP-oH?iP4$u7s!4f)FS#fA4p?ss z=`C3{V>D?GpWmFwm_b-1hL%X3lL6Ml&%xaZ`zIKp!{`!<6KwaEOr2MKe$#eoF(QKK zz%6)^BX52)lg{{g7o6OpQPnM)AsRLXDJk{|vv}YVG3g<7(vR7@#Z$jY-+^=cmwh#$9iQk5sAEr^5AprcvKm^rftGmUt zT--Lqn;C{}-~|a1R^YNJ0qD^ns7%aSB57hTDbx3UcZ`r*5Qqm4aSkf~yMwMz%+D(srVhfl&k9PMy_-)}+5Tm!H#Ti1V;oTZSwSpc76t^N z_#@x|5VIv|Y!NTtFoM*IX90`VLrMl@6X9?u(mJafkB#8xv(}Od0K^ z*;K(WU+Bk)pTKjD3ThxXraG)m-SXHQ%0Hcs$@=p7M%lPdLwb0y8y{OA19EF-FDi>8 z1%&1AfH^E?YoJ9ET>_X;Fo{I0D?EiTLI7C>I%rsBN4!RbYuQ(nyzw}{s5#wkmH7>W zBT74c{t~wLbKM?&To}{z%(cc)WXJR2>3bWFIfssbY z6#jn|jkRtF$aOURfZJWtVp*o*m>9s~0)%IT7(p>iv_eP+iojcd@fl5~Yf=#Hbmm*X z)vs@L9sQTzx;O8@x_kYu$W3CsTf*f3^)5MYyuUfTMVV~PK zfoi)Jr9t|$bghSDu@BGxvPe`@$O%O9h-2gVDRoPZmAdP~vj~@N(rVHp7R1kz?RxJf zc0$sCHUruhdWa}7uq7NBKEC=ga~TcF0l6@u6#g?yrrwY?ri+d4M;&=<_ohx%*ohYag&VJF}*0wS*ip@>ct_!SY;(c$#dCKP|3^zX3C0Xb z?*#x47fZ0O$k-c>Gw>k9>k4`$aSJNW=+5GcCEK)ySO*}AA9uhsEj8GS5qd`+GXh1ITs;*L=LN${f~)kU!a_w!I)}s27v1FB^7-q~ z!tcjFIDD91gzi()n=W=tfUM9OG<3>F!=!D1H~ZmqDQ|38kcYm z0CMZqU}M-}D(aL+bW}b+3c{PCc%9gBiN^ZOfI|IH*Mat33sZ#?t8}&xD)O2*cJRlH zx%qEqk+-P3{M1Zw)e7mxF%uzJyRpD05e7AZUCx(3d>JqYR-Ul-a`OW@6YZ4S&Lzvx6J$xpsQUHU%BWi5voIcpdgkTAHw&`W~w3%5LE=*h{UYT)qzB7u}I z%4_pa-d5}&r9@`yQUa}Miz9K6*u#ZKNoR*elL^W=(O>60QTvQYtJ zgzs!+RC>04L=Hb4J(V!VEa5p)i%AFiF8B}R)`;~ZDrSH$uwFwLYD`2ZbYk{7i-va3djLcW-+`_uc3>~z zhhUnod^h5B?5doGck{Ns=@zq7KT{N^-@&u9WA1Fw?;B2n^jjSLrcHymg4Vym;Lo;n zQCjT-`u@ncVI~LLHXvW{>R?hsoHpPx4_$ryzZm0KY%5>qH)u4Ul4_<_)mXj2ML^ovMULnTZ0vLf*6C7% zU09yff%P8aub4Fdq~g|r?)>GCj03IC1@dS3DC1~EfWZz57`o{i%mCy7jQ|M?x|)Ot zthONT+Bz5JG{k~*d9E8^+~^)s(W=k-TiveAePCY3xu3BQXa_97}C`|K?TEk5A|cORsdkzh58;+br4;%g_IT zFRref`hi0Y>3@E|_UKXGBDqiqoWQE<*T<`<-FNS8^jL8QMa|ja9(P-9%qe@amvv2s zla4eRcCDxqAYKkU7pQ}9p##JYnlO;>gTo)}x!O;%&A$QDmb+Gm5ni?YWy@MK9$&x1vm8wHteEtmmR04wZB(h(u zohU0j)=!Js>(lF{int=_5Pv>?7)xsf=3x+`!h=H=4=+GqleH-rgGHulh{B^hg6KM7 zxNZ7j+HI|%R}tXoFQC(s9~?6>Qg@fF*KK{|#7yL)Q+n58&hYzanX3r%AWr zXnS~qNI%YCghyuU>MiBznhpc7KTGunjVh=<$jO662sfCpqI(V2En*U6Dw}5o;tO^PzIN$)SX$z53-J#)jCIu-#GNC2vRWLf)r#0s!EPiU!G)4xlR+7O31NW z*)#!jsAUTNfkQ@y_K&T&8Pw@Ha~{o^!yhzpYl6ty@{+v0yuQ9^Ds0CRQ-P30e;3V1 z0O3(Hi^DPUgY**G?qCE#@B}nZ=psqX-@UC1Z@L$)+$}t-*qth_Wo5Ub(cN?sAMp%) z}^wC1pl(Fyit#B#(dUG>0TSb-BzzvHEL89*}6BaPY&6^? zA&k*iX_*Y(Ah z!BvOA}+Nh@4t<0SyE@r$5J9N$|P_gxJN*p3X;G;l_!Je z7>QgT_Xlb;p|8Y*TuUo`vid;&?a zj1b_qOK=kyB;#?0%OC_I;U0tdLedBOgENg+mf&hIAai0M! z3+BLRAc0Q|@T?q$nHYwLy~fdL>CuU%s#M_hb6a@*DXNT`;H7r*=5g%e`z5x6i#UnQ z6O6HN`JCd(s;b#PNigb~K>WmMoPYI2n*WDz^oF%EQ8Oc~@#NgRZ=6_8P6A&&ly`3^ zhHUavocV2ZRJWHRYk+aYt$EmzrCS3A8G=3(+0ZV4Tn;pU5Q*^0!HpaSaat%yz`z4Z z)GMC=v(nim`%tE>EI#)O5u=5E`SSG7NyhOO&yw;KGez4|8&#@=RMiKx4^ybS=9Bjm zGeUTDEF)?1V#5#2Kbgn1tmsqs_eS%h1=PqRpk6MxTHoIE&tb}5i59!F1X>i{s0I*C zAu*ByAz>&WN2H?WNrogmjuWVKAV`7z{mRVBgj-p0q{aeUA%M`SjAi+XDMmDGhUX}s zlm&Zy@R>&j70)|l6X-1z9$R)L%&@0dOi+OQdG+R61I1`x+9mUcYQ49Mf%E z;`3fu!QM^_zjN}btE(Gn-Mb`T`k0;LY@+*TDb2L#e4xLFMMKsYFB&AviO2t>IsN$w~RfPn&S@gn?bL)Q$ zIWw9*x9f`^#zMD4zZC>h@ImV5^r~$%jQrNSHnj7J5C4jGja*0nc zmffr^WgOaZ`O7sfM~hD?bODDJOlnF)Yw!6`lboAzr@MEzJ~t4Qz*^9!La&}oY%u-? zdTy#SW!!HRfB6N?Tpt=;y-z6Ymznxt`>c!B;xi;g*fHKXnUnyQ6M$wQ!nX{}3A9Wwxq*-# zd>oM&pb`L~9vC{f2;d-?K5<(oz;rcDefVs}q)9i%dGGBjJkw%lURC2Q)IHK2_`<)A zk?o!{k`eOd&XXzBg;7pl-lZoPlw!w)Pop6BzE~?2R%8VzrVg&o_+vWpOMDl8iGjo~ z@!uhm9^v7A&$;ovhgo$x$%zTf=-tISro-z6U>isU1CD}x6X`x2HPNSsYh@^!ooWE3 z;npNIzq_w20hHX1G5nCbJ}d3F6cFT}ZpQ4`6Azr2!cV5L;&Zv&Z~ggC=+lhiy%&G| z!K`g=Pz;3X3XrfAh7Q(@Y8lU-5ZR>atx}W(udX}sim^R*F{j!6LQnl<3f&3x^ z;}`Z#YD!lE$F0~aQml|^RSSLpu~{w2ci?BK;wQ~{f!|HOa_6-kMr-sB1OOs2M#c01 z0UgZ;h|vI51}+N}YUH3S!p9WQAa(nl6>~hdGM1t${kJn&Xvrs|B`=?8+o-BOp*@$C z7aL$Ag~pp*rOK7wJG!|2H8yYdMV+%CLn>!hHa{)7VXc%#&bd$4_F^)Hx14k0n}Wg$ zjX-cgASDX+B*f|w`qVP0d7)*3sT$@XuP${h7V@HgH9D3hV!K)qj3=Eg`4>5G@J$$a zNrlFr^>%lch;L=DGiDSrHZX^KOI2}Y1vM*vONM~49^>F88#jK|x-QHJDH}4!Ds-Se zhxQ+lYXyrX6w(AK62fVL4xj`h2ZU{SuoK3g>6W&2Hd_2{m8Bj0V^+W!GxNCtT!)AB zLcL2!7yYT@$4^lki!{m0_)j1x{f4r;U@fN;o7+QhqpQH)@HI8%kv_?BA$?}X@ZlSN zU{sC|c*xa07B+9wP0{KHHm5vr_=?Bw+;1N5GoR_=p0Rm;dK>G#5jgSwL|!9NBDL@^ z5NUv%hlwLVqqqYRfU2M^p@F&tk_9QWNHyT*V2o_qTU&5q(_u2<v{dfXQ{X+3+6EG(8z!B zLE0R<@+(peS`ryxC844Q&p-g&@LmFu3m6<=1!2hm3x&e)84`jRM!jZu;mhHPru*=w z;>mS7votn@PdgZb#e2riKpxQSv}$^M&?((O8h>oEUEi{Irv8d|jWBLcX=DaJxNAG` zTUWKe2QkFmlJ?dRATAX%tYRa%0^)**!z9#ODs)2eLr)46BQ+GJMu2RVO*x}-K&#`@=x`{GGy*N{91OA1yaB!hs7RuUNpR@k z?|?g%0%HuRgp9SIpV|JkeIC+ncDo6uuW76T3n~;*ojcP2F(G{ed;DKf>;zT1AD3qw zSd=ZgI&h<><8BPI^YBU>=|2h{9#`>ENWZ@?sC!(O zQ!a_MJ-MIO@tQ77H+a@n-eU0kee|;P5&Mn5yAdFVr49m!11@`Dm_yx=(9ys{g9I78 z8Gx7pxE8o!c-leh+H|DbUANJ}(-3y~4e`f=k47D$6}Q%bVD`217se~|`>awiME=g- zOyZ8@#TG7$rm6;Uo$WH*?x_CCIg=6PZ8q{4A(z}_tSPnO()U^&iiu;7#;UMp%c0PK zHA(Ui4FNs?LKP7zCV=^5c#jf6UHn%Vq`+E`dTqq=#Y_4+Dip3cQL-ev&sn4Qj{Hrr zL-hS`<0g5mA73@{yVPG#YNeclX-xq~mgHR-+NH-yiL~$xcjxwgPY3?tQJDJVv-zc8 zFLf&{{I35_L#oMy`#En7kF#_)mA&G%+FdtXn>X-h#_T-WE|rjNYH@2 zMH+rEwuJ&%I82cv(eeh#68c83^BP^#D2C?JqJrY$UJ--ebxOG6v}-1-=*ogKJ9j1w zJ4k0kGs2dYf9OLLqb}o>hF%dnluwDwX`CWyZpZf5cC6HWPuhM0q(>iq3I){K8l~qiBh5@d1 zaowso%~ZJP=yI;mH@#V=Zw^$t}@+uXr8FQ1svMumP$gN?7h*3~7#M7Y+3xp(Qc2GG&h6dp^ zBsr;a(4);Uvi$;tU9RSj%o=psXto0P9zK$aOBWY^c1u#3xdFCG#5#4LXMgT;(=1gTf?FZu~4gp zPBUb>V2zE0#T?7qedbY1D5#Xq%;k=%e>x_vpGH(pxie2uHIMk;sEYNzGWWp0D5;?A zdarT4b0$TnyHR%2G(sNx<_zB*6Q7!`f*b1fULO%dxT7D4Rh)q)U%Bd;73(3#^yRM{ z-kTGK{9U3MJEwfxs%_R222ypXK8(6%Em;rw2e}NWJm?u?Ob8Asz$>7RqHcy00B#0= zkr+3$D5kX)?6t@gwWNzQCOUxClS&HI4KH-s!gn_&uC1IAJvECGWjDRSy6h>sbJ6MT zeVu#0ko4V&6;?ip9$qZqHD&`-~-YH_+)A zM14=&uc2Ej2W^efAznw9y|s!NIl}vrregnjg@DaAb$<^z4&!mmHrgiLy?Za)XkVys z{+v{Qmhg|hFK#ImYh_5;A-M}6AA}RpLn3N}k;pEAK}X?gE~VOdz>-Y~yEUMBYt=0u ze#PWUwn^M;P1bP6DHUVNr5PRu8RJjp#)Dm8c&EFW88xM8(5~Ce_a?JH_2qdO9TJ9< z-=lx4OZyfVm)l0hLX#Uok_2=t#R6TC0g>%v1WdQ_%ds=>BCD z{c;GqzA%@sr5Ik!apL(lafuEkz88k>pOn9E<*usjjX8Gnn)y}CK9hKcO{+>_! zW~X|@=SPf!?4F17;;VI3t-`UBcy8CEI^LiNgYXlI&;LZ^oO*NWp})iW_Wh`++gfqu zkfPSb=$TL7xOS}_yK{ri_$fM8&0R{pwf7eUigoPmv8+z-sbF+4Pjx;Z{*4j}Z-#S!6TdTiMXSbd-o z;LSqg9HE7v$YE!S`4Z$NBB75B$_HG)#O97tTQS8{%>5Tur(%}y4Vk;|olZf=PV!Pc zbtlk?EZRejyzrno+Y2^SeG6wmw`jqsdVRf@Mg^IoB0l4&$PktG{S|Fa7eHO+%$ai> zWLU9oOc(y6Ij4a}*t+$)qVA+MpOidV!QHw}AsjBtwjwo<5X8Ah(2qpV33vq1q98I2 z29X4)3qa`z;yJbbp5F7gQ^m;JFVKj5bLp~i@&#Rn}Ys;}zw)W_B^=Fy)|=l10p{|tfn(JTceb4VC+zEC%n&2%m{Iiv>_(^hOYj*T%A*^5YO!JYfsYP zv&_2DlaXj3<`IUP5Yqxo@6hXmLX=br+*c?ZSBT9NBED(OuZWkKC{WW>0yWeSX_YhI z$P66gAqu8Zc({+4r~HYr$jd)?6g6mu{+BcQkP*z;w&Th=!9W?%XYdPx-F-4NJTTV- z>ksmtutZeDVuhH=qKEM6Pu&uDcoVENVE<=|-@QW+fgRi@ol4jDQ~J3v3Yjj8Kk4}r zzw-VM)w4-E%<{?AVZ_WCLhwLyz?4S~7Aug98l*62=>hRibeVvdFz=$>NUxwcLEcAo zOo%O*<{!lLmVeE_Nc<<}dc){|trzL&1JTAj#$io*bgjKg2y453CctRJ89GxRQ#pD? zlMU@85s$5&q7&Yw-B~sTpKU4KGMf?i$Mx%fT$coG-t4DOxB5{?JIwZKc~UQI$I?ax zbPj)@egM$`43mJtM1z~C_28i;^$O9SOtB1d+G>YA3pM-)XiXaX_xtD(yGqf4DZV>H z*MHs4W6n z=(a(=1B6>l3ZN1}iYelZ1yG~;bhmpqt!ivV@EGGJj{BH?eR|n48N$o*U1k2fTVnYm zonfhe+_^175`s5n6c^cTj_${tv*!AVPH%I$Zrt3S1v`Db^tsj-l0@#QhYk)QXWSCG zfnq?$h$j{>XaXiCpi01p;UokcH|8ED^;eYK?S{Y?TX(`DLsbNrc?)^v#+ALq2G)o$ zw_4aXC8$=iFD&RZ+FsX9U^_$5(8p#V&;A%^Xi2nam7Wm?r}F*{#_5?Gjv2n!72m!S z)gTAAdp{pCj4yfeUXacFF5PMufWBgk1aZO?*a$%g90D~UDZtnZF&xtb37R;d*SAPy zxAm+(OA*>cqX)*9c_q}_`86MGj*6|0+MdeN`?KsFJsgrQ3^uOH9I*3(VEAenJF>1T z@|feDU0vClovdkFh;sirqTIidFS4Ezkl%xQrgDSzbSxQ&CA>)RLWc1h$b1MnS}X;!5HB{Mtd$jr1ttkbCT1Ikrh}N5r|Y6T~X& ztwdj`o^q6(nkB3FZ1i5krF`)}p@Oo|yzKOFQ5ll-=R*Q=+H=l}?~-P!<+Njfo(w@! zs7Q!02a7;=3|M*edm(q39Eofg%E)4nie8PnGNEJgkGHAY$<5Mvmv-bm5DI6CM*#1A zO5t{!eQC1bD_@;kaK}j@+uV2UqDv}uI7H=JKaaESY>-cU!oSOv(N>2AJpmZTLw^^@ zbSO;ABm{pBsv*>2!w}bj&qccu2*uYt^40@LORL(|(yHb|V!CLCs1&X0zMLyYVk5Z@ zHj-KFp-H;^`2yd81$N=7g5@r8Wm~tNd!cOl?DQcw#2?v@GF3{0)C!oU?GD9 z1seShaDkv|q()#Qj55@!rj@rF`%Di~zzQd3KC_VDpkuMBOK5=u8})U5BERG5{$mW& zY5jf4cMCgR!FVrg?QNe}iYFEB+U=oQORM^?cH5>*~pR+7~pbbe2Gg$G?qQil=pHZQH^wk}a3#j9hRT5_hqeIP9zRk}e1zG;U zA`XX#A!|lA-COj+B_w#~Q|3KdVqJLUM%5Mwde{|R;dw)Zidapw|XVztp zPRhmHxeHmEFrgx6j8K$_9yV{U3FNGpJ8bvx;jKB@ea601V%@Tq0%`|C5D3--frPk% zqYqC{^u)vv8_^&&!+0J@N^^i|Z_Q`~%eX@1xkiSUnyO2-xip0KHM*8FW4qg|NY$uj z9xm7ED;Zlp;u&*(u@xIfZ~{7i6w_gupY{?>4;ZSyJk;t$kgq#m^3AZ`I1!fSIzloE ziBwRqkr`sFfnpzJ9O1+PK7g51815<*QeI;|qoah2oy302l(&iP!;^Ib3wp2umjxRHTp(-m0UvnL)IHCzEjZeY~EiVbwVq`Lm-azL- z)kVlP2y%F@lX0t{91{uw5C{phRK@M)O|3PQDUTJ|1K-KzioF*F+<6?8xZkUU#XBQUtPEcdqtxzK$l%HcMii0*wr? z?bYP=Knw=)4BkKJmBaQD<|>%W0>-X|VVCKmg;K->2Xl8jpAS;BCR%&D@+|j~7+W=4qP!@;<5XmHHKmuzCVp+JkXWrHW(t@v0 z400G>1b9U~typWBX(iePJv!Jq!Crhz8m8+Hbj3`VTG#iWG#+}=i`X}F9d*FoP+B#{ zfxl7oYnmt{=`nK;|BFf7vKvt)QQNjwZqH_Q&2eeING}!tF<5N18**$e$B#Qln$MQ! zBqbcaqHw!}PBlbW;Lw#UhRX%K-f)-*7nSsGff#u;rpr7iN~T!i60^)-it5(w+iHak zJ@kWUk*;RcbMc`8=NK&DhnT$eJ?p2E{8Z7~plgacJ2E#@;9>~$r|hLR>c1mI9GSd# zr$F1?3+)r*#YNfIp_{h`B%8al|0-X#<&Br$m;qhh{$?!pW_e>!31dczYYD+i2pK~G zJshwR4Pd1}=tETrcNmD$mZn#`R{~nxwe|ED{Mo)!&bef`(b3f5WjV?a;${%*UGU9j zM*VH?TIGP%6LRZz#$SChfR!uCV%<1E7mIc=Vpj&{XvNHSxE+%E-NZvTUX!-I>A6$76p*CcGUb4mmL>(mUYW_Y z8@LPnBcD?8?`p&0sFttV#a(QGu>5icZN7|?j7sCE(!KC^1tmyQmkje9uDyE zkiZ&KK;{RsNDKNq#EH}drjMJA@K3a5%-_Dz_@4mM?F~$y=*Gh(X>>|zC6vB34S^8qWHQl)9`Wr-+EWJJSND{ zf6yGjj}6v2Iypj&rqv@!m&@|Su~H0O049-R+zwJ12xW2zClH$z&@aJ2M~Mx-&1=k+ z%&ix}(b`+1n0`F&T7E|3t>2>(y15F)jg0%EOD8kqD|Rw@)7*nj)ZY5NZ~g*rVHS@g zUY@OY2+q?MZvQOARkhn@(U@yG%(3}}{jPuU&I#)aKz@X%3y!x)m&*d5g2*)r3Q%7W zRKXR+j5kFB^++^B;oXRY3vd(AN?&2cYc5BvaDzHVgeqrwU|9#1|HE6?YMj^^6-{66 zdM;e@kDQgwO&aGtzH4o$Xv?=BvfMIq^h4fn{rIYuyXJjp^{MfBk*k6_9|}2INLEFH zFN&v3j7B4gq2W-YBV-QqGuB?Dc`1r6*cFSbtEi-B(0Xd4oujq%hB7wnnfS)1CeO@t zCs*;4A1P=0%O?Ybi!~Denla)n%o8r^oMWkJ)%BHAnzGKUQcPjgY!$sVY0iJD0-kyJ z9XAbIvjifLmT(2YjmC7zMB4%#F${GR&|yFU$;06&1USL#XmpX;5~nFNE03O_PCVx# z9s%Uz27A8sjuKezW)IMXYa%9G|1E%xkG0b8jsyX#%hD9fl zeY`tL8*Z&-K@OBM&pwkRNS0fTia!*hC-D4AMU{bk9kXqSafCv?UX8i86gD`pdz8MS zWc}~10Bp|C6)61j>kOkJ7}nH{Qyq=nry*un33-L2J4QN_;mAD{H} z=|9w-^HNvl?`g4DNx5ptiZQenV_phVBp^4C4uQ(6MS_ex56wrQQ`ID&W9w>j0v%?`@+-g3 z)418&=iARjjo7z@8P`d$3H+w6PY+q;7v!sZtPeERd6xAunjQQ>G*7Q6`!aRNuTh`bP>gj?x$FP zaG54S_>b1=qgfDyU%5Z`khpW$cT}#OA!Ym6+Dmj)cIyGtlpVE^ByX^U9-!KBG&B$n zLtRa}kHBCNnE>LZfyDQORuwQiOPMlOE%2=POEa5DcUc* znA;Y7-Ptyvno&?)Q|36V6k4`NjMk4WNfjJFaol0Gc&^0nR?sz-J-cIcA%1o3Nm zwjywLFhqbCGWb^@bReAwM_mjGD?ohMDrEJ*VU94To9z{rc#-2%xgiSSVL(!c)$U^U zBcRo#d@;Xq!EV@dcJr6L-6#?!HV3GJqqpTayKfYq(m4vmcMaAbogAT+-v7!7|K!<& z1jkz$XrE}BBF=yriFpCEr{RH$20X~!;z+RekQbXidb??6%j8rnqPntzk>AAg=ZK@H z3O0Pt58yjbf;t*cl|6kf=hPMTyq@CojFI`J0gOXouHCvNO&+6mkD13^{kW2&4wg1l zecP?haL1G1`t<9?>|qnJbjzKEbpyI!p>oXO!vF*)&n6LAB(4sCive5<`zb_7bB5ej zgfyRihAmgy$lUBfT!SjF(cfB4!}is@mwQpcdgxK<1yKb$dNjX>n8W1L9g~GejLkk* ziplBkB&xX@Q=@b}oVCCaW3kwAA5V>9?RwgQ*CpZpSJ8?|*8NoSD||4b&^^LxE8yTk z)gES95ZocdFN{{93In>N6rgeBZ(&4_+TxYa)>cfxUct=g`{j$j>={#JpGRj4Z;I-8 z!|gds6hBiMBKWGkGg_GL_!ous6WYONB5nOn~7?3A3!0!OSbS zqz)0NT&<|vUEEu$rTz)a^y@gm|N5kNzdU!}v?YQ`Jz3RH0UWL@Sm!XygRj%R?>onX zbly)KljYe6A$vdZQZ!3pe^=jOE3e>6(XnZFU#e&A5;ArYdWWUDLYo?$Aed`F_7x55 zR80NwvPz&BjHedkc#v+iQp^EgUC)}UtN1nt+x;_trEOSc75+KJ$92DWi&rM*e4fJY z-ds{_=NF1`g1)$U%lCtaU&t^I#=jhk1_k!HUpdZxUI=(^%n8hnQ;Q5pFj5M=wwTR(l{9*T!d9 zq&4s)TmyU+;7qX5g0cd%YtehdbpXg8^51a#0u>dY=N8krw!)_=2AS`Mg_2D#4Q3}D zK1C(l6XD}nkeo-r4NNtZZ#YK%n9NL_s4kCYG85inFuwW3mStef&|OIjQqpzCjk9vB zGfPwNQ1;Z3TmVaU1_&WU$x<+&#LbQjhZQcY?;>H|fWdJ%WZ-~df=x>c2cfO(tR-t` zWr$-fGZZSm6`D1MtD0dna00vQ&dKi6q9Z1mA+J_4L+8Yc-{k7|&$ycSR{ZFrl}5vs zEng)<1)o*4*&0Mc_ENd_kFN+`$+8!ivY@agPaBLqvq3Px*sZm*FpC-9f!QrrDgV3#I>#xvs{@+c(1X~7j zvnt$!fBt-igLv=(K7V50}uobxNI&sryLaOF#dTrhy0m~Mm4k1(r7 zBTy>^)DVLZ^gNTLp?Hx^N59>8Pa(O_b>Z{p3RMQi_Z_$z$Dp?rjAIF@3dS8_h7Q&q zBb24^drz!qCfZ4!Kv^})eenGUO*b*G-!?=>l|}zpWM- zdAA*gdkVzYu3g)tpzN)?YUC2ES$joGfGL(VG&M{DxDSxEU{nImgjX3rVo+ItGbdzS z=-6r@>7h2aZ`<9?^N|#xt8z{MO8I6oU(Skpz7-@h96Q+KRpsJ%@uDgukYKB$a#Sa@x zExI+XsJ~*H?iz61#Yv*a1jt^t$%}O7S z-@-D1NdefOplJ|E!_lMy^gt61O_B(3xhhzFzb41+lnO^3+IM`DTy6&qyJ zc-UU~CNM7@M7EZu;6CDC#FVRG_z8upDz4+cF1o4|zaMz~Y+M(N;GR5K`X2Ut)!B(*cI=oQUfe#v*vhY!YHz;PCn9Kse z0$&l3(ZG30#S3g&Yg@5Lt79>8S-kJ3v6t(2{(Sm0alrG^Q)P~JNzpYnhCT&SwV{`4 zp#&G#X|t)1!_MXN6@?3$&Smyd3?BTp!={I4yMFUl(%Y>+ZSB^j+oocxt zlStf0B`${iE~+i4!$RU4b4?AgMTda1yhZP*t-R;eVZTLPu9Ay1EA&Zqij(UeqmU^a zrkHJ*%(e9kQqFpGetdNkYM) z12P*jLV)>W)Ce1TJOYr0m0;#5g=GtV6)<*NR5#n|)&5uBa8lqMDSE%L840o4APfb*HruNrN!QT)J6>C*gVF>?=`uaWR>VL2f zkEU8h*!NEYG_#al7}Nn31Vsob!XPm>AQG6 zK8Mw5al9?w;UXh*Em#^ezvstXJtZHAu<5LmV;}sHU{xxLOlQ+u}Xpo;leUPa6 z0f_(Toh7~ylG zlFZ_AyA^fbi&3LV&#(9FbJn>u`B84^-;B4u3^0zya7Yg483_;-$&l>BkVuXf7-DRM zC=DISRH#V42DIL2>-8PPI?N-VuROWjfd2VtSo-SL5vM)-;J*MPiV1SsPVekG*ZM9lp zY|$e`<5-Gv3tcKS^a&}Q0CUkJgp5`gI55aZ+dcm+qxV;kNm=jP>qf_$GH6r6!+SD7 zvncC>620P2`%?~a-I`fR+qo;*EUhf(F&!Y7H*%qHd+CPK`+`<4mw*2arTwu5OXv(m zy%K?Z4H6P?_6f)3MT-ZBOFUu34H)8IV7Xux|9YX5vjoFh<}`Ls2jC^6i1lBbkC)4F4Wb~|JLF_jt;%WiKY_c zdJK+ob1d{4&e^?t_p)=Lx)B4i&#hL3DcrVnm6S?Tw`r~4VRBVx8e?COO+ns|lLIy# zvStYU!aWbzPzZ0zK_)?`5L!Xu06l2i=h&NjJ-P{4ahj1UR9``NZNb2`3zZHksc_pn zWpBmvqZv0ReNI;!FVd=iH*M})JyG0E;lwxabHn=X4cogXOvGK&T1&8FxF7_Q63>Dp zvR=50!oVG)PC(4aqm+t?XrvTvSd4SUs8_(xY>_i+>ylY*Z3xiFmT^Q45NJs#jJ0z#N}1US09$*6TnL-`j>s+lvLs*!t}!2t3A;)1wiN z_Y}=!&{-f`2bcnOk_y0*6zn6kvEVNbJp|cn5M-a%R|N70$s_(G(I*{iDLvZz`+@rZ zDcV@TI6Mi$C@jxoRL5M#{r!B^V=v>XX4>A>E`HTghO-IxpDpY;C1Kdn4C<1tSixsz zz0LPhEFlzGIN1`4?9%9NJ>2-aW=tPu4Gknejl}0bGYLhOp9VBj0%`+N8nY~r7((T6 zw~zzy1F2mA@Nw%Qgblcf>5jK|#F&@T`00w0rVE)oYI^zUl%1@2zB9wMv&*#jC-egG z^{DDE=n*yNm#Dk#ngJE#4+M#VgccIDydu?_%1$nAN!rL!1Zw>3i9#ux3OWmV_5>`3 zVHTwO!EPi7!4zn8!zfBa{A}9|`sPrSYMKufG9dN{hSAz7s#CEmnG+)@=+}9PJXf>X zJdFRUoj)AtU8Tc>Lb6@9<7t^(>XjUF- zKgWcP^iV2^W#evti%}r!`zft@yrwZG|KruW@Bg`D;jMc&?=~9ahByUiHmsg~gFf+g z=;f*3C%zeb=9p1s!;T3ap(=J48upEV+1)O@3Yp0Rt=J5HFYnuG@Fg{P5onYZOe%8R7 z9?(6`KIsZ<$R~E&-jk7)6m;UY&tIqe#Ujxcxl1?{x#yzpo42-u{ zPCunmJ#f^NZ_Cgm*z5B8X6z7@hx|xiq(7g~Ogmi#47DepFI5aeqel>{7&OSPq3di# zDRaa$-P(M+3i;BVjGOHD{{F}+4w){&U%&h^3j45R{%CN54hRP&Or>#ZpoNW51!hDL z)5O6_36mf$q24vWTYc>-q>3x>rTn~j*SqqCc+K8hdNP2~SET&$Y_jUq z?uWEbg5=toYuDF3%DnSK-M&vl&z@0CQZygnjeHk}N0pdM&ng35z-r+n$naMU{F!t- zEkOqMZAi<|UdEUoSZN@@v>;Vue6A(=MGEpa{2JhezcR>ZUJ9V9!j6NE9QM=Br)?%a zZ%$ExW0Z++rVzpCAzo9qo`zy{r7CZ2-vj4N;nP1qSEm&luYW*Pg#1_Q50a-lvg1gN(L>Y2o;6iEbf9Mry$iF@^D$Foa}voFz( z{0VBHAH{2E)k`Ioei_5Xq}_CUfK+3j0eCh)4Q_pvm;7^U33&%BR{)Jb=*J-xL5d$H&Y<0avla&B3b`0p zI~7C@^islG0M6}S0ZzW^Ob(;>gZn-U*;1vVXoO8bIJ!Kvcfz*Mwmtr6`SrfF-}tE3 zhbKOWV(Z3L@tQQduS7}3%;m-W(N9>i>Vjye4Sz?B?os2&^{!wZv6faQm-kHNsgBkd z9(;PlPcmEqt{uf7DEh#$%QTQHhS>{JZ78$A)ZrBv7#(vmHy7ISbm-HC|D2SFqsIV- zTE(_|y3n?o(Gl)pDpe#+`|XNzjfFXBfh_JvJ!7A8|I(tJWzLFG7Z@ArdBu(#MaNx! zYwpmYLa}&WbBLidwRF{#){RZN;r1{BB(!{abYTH;N4$qTB0P17i4p2`Epgd{qzSGt zm`l);X}`%#&b>wa_L;wj{arCHYogg+azC+`+{ Q99f3He=ROz2vNR#P*G2<>&0h z-(>G9QpIFMDbA0jGZjzontUd;zJ-&do&L&ziM~6popn@D0+p@BgNW$4A|Z9v>6>63XUTou;zr zShEkBZ``jPH~w|-pUj!MO~r0`ZiP+Mq=-(e*kJbE7x<^-1jP)N!YSuj9-nCqs{GJ#~y7!J^yOTnh7Cd%j^b(x1^ws~9Yn z;A=1IgHNJpWz1*m2oTuvctIr@Sbj+AtBFx5W?JEp+7v@YSq`~z5M;sq#XS3U$;p)0XRybbRpLf-b%zJ85nVTcDgG@(${tSjgsZ^rLSo ze%=aodd-$B#js&rSiBM(_UAmcUKGafc%{+6#EL;35O$5-6Q;HGw&D z3e+JnJB2_?yBRd@@4?n$vP(DG@r8LDZc$9Rz)ri&cGtep(qWvW9inmmBSlo2q*7SB z<067+bGU=P3y zAOHcpL*%N7nm$rz%&1>uLf!I!f#&v~7IsC+lwWh!OcBE-U@}|C(?``;xYjnC+%WGG zH_Wi!y?eW{3k!qaJ0bnR`q?F4dS=Yr)1eGDbDb2}o-p`3 ztBKvb2HfRTj91$I(xzDRLb{o!2#Y0FJwbik*mvZtShp2hcU0NB>}4;Hk#A3~NE1*) z=Qc7kR(4YsFI&)*C(K_Q$JFx$e_a2Qq2VPAWK7mPI+3w3nkxImt!7|LY0HkOtX2yGK9oPg&>qKG$6Za9BN+<=H(w18I2m#wOf7&T zY#-ojTJ6hF*(Wx^3(CVOXFFx&Tu$P>%;wOn5q8k3V5g*b2<{JK7U_3zvtZe|zt^O> zhAh8))gUyiB+@4zo}^NI8F@WH!m)h-BP1Z!g6cj%axyy#}{+#iEpaGWIH{_>Ul$1j`| zqKqWP3j{MB!1Upm4TLYk4pK9?KoKb`Xqf;QU^@8iul&W6vLco3+~VSKAHt=y@30`F zPQP<`G_{e%G``i;;$3hsi>I67^)u6t-=7!D>17oVNpSf=le6-DoD>V`iL4DFkeEF| zI1WHgq{l#c!Mp>5GbxmDP_Q7WH}{d-n#Ylog6<~N@%|^$Q|-Kpb0$NikqSn^&IL_A zHB?z84=t?dUGCTBKyK^2cwkZZIOR{wE4D?aNuO%(j8S|0e02JZ(Hh!ddakHZ!%3E4 zd9DD~l*z!xCKFsV!!b$$&jVTxXc;2!0U{L%5T3MGvk){SORy+c6>KWlm!EMai(%7P z-6fh0^CY+@3H5mw>C?Y?RMxuJO4W^QTQBF>8AYx!JJUv9RUBsTO%n;+Acqe|buIm5%~-s=g?+Strokfok}jF%!2Ve~R%yTbcx zF<&em8*2QSwJX*d6hpSKtJ|veM8e9l1u^n8Jx}C zVo=>u?zVLgo~O!yUkgVI*`5lMj;nxKF8BnhIN|`?$wzF!iVqZC{x?%Vg@y~8tEt*j z;+#nNovSx|>F*k<8dY98@_6frb0Fokn{~v2sC78>sxXrP&z1ngiI)&WXVnl;5{F|5 z08k0GVScdMTCe#gj3kL!Tm{WyumT%(XK-Yg1MfSnxLUo@<&6iNWS&@jZR4B0vUE<_ zP6FL%QMl^Xb(ccFZsX#ta53+V4YY)a>CIxt#y^$}z7WtH{H$zgX(nREC9d}&L9 zKo}cx_*9}bg_xs(>=UtlNyWGVNdLv4x zm>FqgkAXz-0Vq0b=3N!)>OqG$a&~)xt#x zY6RFP%o7Rm7_emxGz%fvg)}<6MKiCxWLcwNhVc3MBG0&M^HNj~oKm(yw6oh&C#E2< zK&hKpZ71}&p}W$<*B<+!tkc8S- zi~mWSkkCGqX#jr)yrg|tiRnfhe7bPwJr5=2uly%7Sg_dydFU`)4nk`Ahasyjef_R$QX3lEJgR`7CIG6)ng4!L>6HpY?5-F&R(8Gr85@`S6)q_z4UD($cWsv;hML@3d zmJiEO#0&J$H{{@%hI!|jUZvR%10LilrX%&5DzLv5ddY2k?sT2lN<&*X=o&vY7s~|lHuVN)_&ir z9X*u%7xhq>3eM^rs&|J@V=hH?Y8bqItWq5>eCWZe_o#{9<0*JiVVd;Kzc1sBAhM~J zzBz%81HGxy0O*VdSseyZSLo=;mkGr@G$hqx^VM#vZ=Pbs)RGveS@B^X3eqWO zKpgaps8d}y5_gG>YSshXkD^&dO^os%09UhO%6PEWfOe`g) zk-ThQkq7(g_iI8UJ=8WftnBscf0d%esaWz(7!Y{S0Gbo*8eqLQa$i?fUf6Bjum$ZE zfs_OoXfdEm1$QPCUqE%jzXtljP-cYPJP;eN(K%$k=_o$L^OqyCF4#F@h{Elu4dlF? z4>Uxx?PI%ux>&1Z1%&H7zhg~&f9Caz3!4wpPMb1S=lHvwd0}++K*3iGzfaCaD`Z^@ z-{Mi%({w`W%*pgDaX(UzdHw#?3ke0;%l4CDfuxAE2sA>25pBW<_(!I~{{U(!7~6re zPx$(B0A{cy!dpTL~WWIsq=F0i3HF*KGffjG<`LU#g*4 zou!q700;V>8Y()d{m@cFjU`4S*o(p4r+aX= zD>wHK@r8bw&D%@4>a4Z@{u`C$z!lw36DXNm!)-3PD12K5?@q@r7Z0%d-stSXd5l=w zY1J54p-=&Gp8#JViWZ6C4`8xnPTPL-=2=xsU&u~(1|Eaq^7y2#lWxQy#kC%zuYd~O zg(bJ7W_+gd_K=bc`Fh6HIW{4smEM0}vyuM!g3=#(WpbClyM;WDmanW%hHNpKlHp)= zn#`;TLp2O87;>QPP!(d@4>YW}eMa0%spM26uWOHjI9f3g+HE_tCcqoMDuXL4YnY~8 zxkS`h-N<4uS;8;r=R0s;w{eW1m2jtr(&R1NPx5hw~Z@51}Q>}E&>`jP*f3vk%BluL}*@JyQ1t^mT-f?5NVYP_nld1=+ji< z`sE+kXr@Wsm+q<>WA#&$bIQA#)O`pRVi7};gWL{TNBqLDn}LoaEN9^K4418Byx!pb zq+oz40bACzkha3r^Q&cL`lQ3)WnfvLAm!u!%N#qiDza&%i0Y`0TNyKgd+E9TBC{@0 zeWPN|TW)zL8XFIKvRdP5JRhc|kp){~K_~!w#B3;;v=d2UfiDQ11ia5`#9aKf7M>bf zP5XGP=L`Pds~sb?vA*8$gMU(JqjFoT;6=Xh(=+!<2oTp&_~TcULU{uHM5&Bu9{{6@ z11kZ22hDY~by4%n@MxHWS6g4$beUSvC>B(WU?YDm5KJ@mjAy+qd-$`}>p14Im^$@) z&QE-f;;=h3PM#`f*j})k8QAdi6p@M-Lsj&8hB_2I><3Ge>uEn`{injoPo*8R$ave5 zk^)4mktRc+4?!XvlSqjaSbr(3MuCwFO93eZ=1@@IGzW)Q?&trH@UusjfvQPf803#y%*R>`lc8hP(hRzg}Ex?27G2vxWV26scH(e9+0ex3B;8EMltU| zPo~|IZ~0xwxU#KougMBlMum+bSf`mi>pTtLnXyhnDqMJe+|+%i-_01B1I=@zAcs2oK0||!Iav1F^+l_=)&oCs%zhlc$CeDtEI$kGC=|j$BLM*kS|I=*XduoeM>|HQ z238c>zCeTH;d%9TOpTZr*Q!|$oEY0x>-~Ax7?PqRjx{BQf4ItT^J}>~sh#0A`A4qh zZ=fdGxJzbIv;As0f~*aU+LQ$!&(M3_v0daBvSY!g9kPcFVLS_5pYA3h%ze(tf|GzuX$TLX59KWq_)w1U*RtokJM`+cDCG!AuiF zL1gKXEruO!wKptVc|`jhPRX(-_2i}(uSBiDQCH>H}Nrj0Q$Zxxej@ z^?f|z#>WnQ?86K=)kA=8B^4?!*seXt{5ZCC_g&T5?b-yZ-vLY*^u7S6{4@D9MAQ3ewLR1e^Zg(3<=R~MWU z(=}-8AenD9HbDh=sEn0M7#z61xp4a?b^A}}(F)clqQ6urjk?Gu4n3)JM>;tqUx@9S zC2nG&0oA(p`Snu5NCH;0(BPq;j8BSmD;c`P=w=g@BDl{JpFNa4P$`CkYB;j3SKnKx zkv*rhHPe6JA(XaKJ6ppA#+BU?ak}C|7#@#f^C{+Ula)Wp6%RuA7k^FOoj1b1Dc$gO zzwF8=*N7VwBi2cI^9X$sSQU`mx>`TSBEOjeVdQao2~*SB6JZHg-;af7cln?BFxK#0xT5 z-osq|L()_aXotG2xmR4OyIMn3$PbY1Xsh>nK>p+Ai~4d1z->KfzeNekp%p- z)g$~0mnyGU<8E{H zlRFdOBys2WlY~m5Q#n|l6mm1i=B!Xz!~Oy000cT5(=cSWGFYP#B#jIUR7+t0f<7Hl zG)BMc)i=|~+-KO+ulg%mKwU}tth_0;rgXWUF?=+&VBw*dnLSkf{9|0F&SlN&t`Al; zUd&8-T(I~YD=Te|%EI=_P&w3C#S!vZLslG)&#=0d_;fhG$>6)dlaV|^q`d;j4CF$A zg+ooB0+=6i=2u_K7pAH&fcSLMbFk&w#8K3AmXG3%SoH_}H~qsKu+y7?lwMT8(DePb zFFd5aoYSpaH@@KF&uRe`e3{zsVJqIuU}P^@^46e1V+VaAQ||9uJ^#Hh>p(-k|3CA# zTq3HRmXZVA6k`3Gg0lfFEA(36kqw`C&|W|TfDDAm3@)X`OSi3esf~`DS&Ik?#p9l4 za;NBAwgp8hsJxZS8p^0^K_h#V$^G-6@Yy%`mqcS7c$2I_!sOnqygxHXft6ZXT}X^W zAtMPv9Q0Cvm_bOyH~`~3^i^Q(g~}hy3(V?G-@e^@r?bRxJ;Mzl+@9Mvz`4LSkzWMJ z+agi$Dc>??M-^AY5`7ssCJk&Z`)q1O^&xRb>vlOg9o;S-`--4!Etd|W+ZYPLo)Gf4 zaLWoj|OP|zTVh-gnpSS|vHqD4hfi>NgT0g*az z&&mlPqN3s~j#h92j^b+7+8Tz6iW^&OZN-h&wzk?9Et268%~aQJiB?#L{T^Jm3bSsnF6{n za_=zFrib#eM#R)94s6WOcG;l4^%6n`YHOM##rB5M`3V?S9*5d;DvnH)2)_R&Fq^RU zY_4|#Yj5K#)?VUE-~4l#aa+DgRyHqYdPL+MCY_fF9q?Dv$iPH;Ckjh=xh5dU8xR)) zYe8iVMy@n|F%1U9M)2HHEx^7V$8TU(-3k?ue5h+ff5`Cok@B8fFvG9x5NP!COon>N z&N_7)B2%99r?RU-rtEo6=9y<8fyyM&e9p*RZsm>%dEI;O+GQ}%ue@^g>Q!)GV+Ovz zD1D*%QBQWTcgc>8=9oItc3`fDC~tWJhLxZL0il)xT?Eksr496u5G`ZF7-y|5?ci6% z8OJGiudpIo@cRor9jRxI|D&j4?8VZ)wOQ=a*(Gz2U#@XcT_cuO5uCFl`>%=p<`j&A zeKSv;oaC^(b=)MDZ@sxg9offw;}3Ku>R!|RiIWnMqcAY0Q5^t81au7xE~ME8BFz(? z?`Ts{*Q<=*-{L-&aErq#(iZsMzqLB}f-Zk3Z~G{*xVj+RE$RxJ&XTnSnIk)`(Q1_t zZ2gXs@XkE0C|tja)s?j+|A=kW+zf3&^9X?TNugKBvzm4^tStek1MC2S1O9ozG{OQk zaMs7f0zN2EnZl3}b(j$VwYa0-D8pVm3!KyG${18Et-UAS523jk54Ui0B3t#H)#km; zi&EMQ&L_Q+GXF=;-63eU-yCm!lsO^yJ@a)9-5iQsaM#GjMQ*fAgXsk>e1wf++a|$= zh(rY&PalglmyRQzde*1*Y8JIRbv-q;E$!Do_?9~t`L0$R_TbJJCgw}O3Zp8`HySw( zJu3e0uQdC31f0dq0Zk2@Z4gWt05Su?4p9|CoOmqR9o+xeGje^bP}kA3mC{%=XUG$!O*dT3^B?S*ufCtYMc@>Ked10(p| zGQ&=ko-Np@_%KD`6MZQoHC8L>)a8tH-=gMkux-|f+ob8Rv^QtJ^BvZ)y+q*tqm2ga=l`LUnE*Iomes`>V_9x8z52 zG`rM1{ZOqp@u3|UpjcPPnwoB(x8axs>3CfVb`&({LH6S=8%*T(K25KIZU}8N=q1SU zMx-$+ZuD@$@T$V(3tn1yEzA-Tqx$v&%z^}jWBoeks)Ay*e!5|5h|`JP5Dfh(VYE)( z_11!)5?EVeSfS=$ot$+~c$ppvcwAG>Vo2QzfU%HNg#ru5b4U^pCAjz{$TbNhCrt{b z2|Uf-UbFm*N7AG@81S;u;mY~^bE#FLiT2_{lDoW;no}gF#Yp0cb1NN180VwNX zoCsa=m$4_0sc3zgIU%X5mH!=PE?RjoHcdC7P>i(gphny}oe?Ia_ zqdzSfq{Q=?fGto0QBSF%wFT^p#1=?V@E4RRQWEPbgQ+|E4B)4RPim^w|;T>mAtQrKJk@Wn#|=PR37;{6>8ZRsLQHuk)&a1@k{&%w^c~ zyd^KPO$P7z*IC2w@WBnguOXw8FARv}Rl zexSH7iTMs8Wzxn5)8ZGVwByiQTFLr~wVA~|INqt5EPADTcIeB+lxLw$zZu=Wb)#Ev zlO0PxsaUQ@4k0ZM)Ao?%(iJIwTxRdcmlxm2;c_c@E)!5+Pk8ox`g)Q8) zlwJ@xlJdB~K3K5|8u}w2$7wxA4)r>yNqlfNoHcTHobrD8#B{2UfcNZ-emFPk#r6~P z{!B4j=42VA>S_EKKeFIQaaan3JO0l)BsIwt32& z9(0$pQBm%q$}pcv{N}~#_I&0ef=iet%Fv#KfcTn#fi2|bG*TkL_kf!(D1jPPf(*WE zkaYMby@Px}B5dVa>g*YKRKHZOt?kK)pdI-I6iZZ~?S3}kv5X&69Ctu zrGq^$f~pW3hJP78t;O}tq{rh63A~t^d!eEQiA*Y^sK{j5H|iH(%GoNA@&^Ym!=XY; zI05vT(~9;Y1&veXx{|v+_>!}K+1l_Mtiz&Rn^3cKIWzM7-{yWaKfl{n)xKFC#oeBI3lMM3pNeU-;m|&;L!5Ru_fM?D>a+dom{TQ`3&-PG5XpOJLM32qk?&TFzn>N{T!;Cf^Gan0u!|2|| zELsCc_OCayXvvQ>+h@Zt0u-2D3rPkDPluES^J#zJ(Ksg&fC)7a!gT?9NujU_K#lo! z8UXwDOW_>WYg_lg=?+;7%!9~b)#^BA56`0;b24yN)=}j@k4lX)?o+o)^o#RrF*6ijTUMaQGJgz zhK3h$92spG>)L`aeqMRB7^0L0RSvhoK6CEUmD*eKnXyhfW9B$od}GAOL2m6d$d%`;KckIGgcYPajoq(++E}J9R|2& zusJp&(7wT&W5OJKcM1yXU6sQ`hGC52+7s;n_!08GLhM8ZD|UuGZ|mA4l*7vGHMOkF zP55{S1r^X64r^r9uUH;<<@wL_0B8bX>30m1SIr-tE#~hr~<>sjb3DOZY2#0s4` zXPm6C>de#`1WGcUOPJ&(Ap;vl1o$zi>LEfB0`P}TlL{CIJOMDO$0bLjf(rq&E(uwx#J}5kNw-u+ zYZO*Fy<+%IYoWVMdzq$ju_9~CPNbCIGY{et4AZ`nFrAlZHgpsG;P~@IxUcCWFB^@^g z9)OhaT|rAC6F*2Nz=2mIi3F2j^tA7=E)0XDS@*D|T~j&pvxmWfDRQI3SNr06d53GM z%`@FnobqOH*`i50l7$s(#dEN_Qd$$hV{|X>G|5yeY{fF?G(37 zmbG$I_Gv*U%me+L!wfrJ$n)i(z`T|N*#K|7V;%q53=Pr`9 zJR)q{LvlNr)-s||64CAjfU*>VtW*pS;QSBWKY}`>0P=_nJ-YA&A+TZmtbl9 zqt_dgY1OdmQ1jIhz2Yw`-pd>o>9ii$^?@VME$zIZPwu`p{g{nSoX0?BXP0d@NT9p~|;&Bc&oDA(D*mn@y!X^ccE~ddqlR)o_Oc=|=EW_cabLgeb`@K!} z$?QQdPTWqD)L+nvqIGUU3Dr?97PpPMCgA+0;94E?k!7X_k8}`-8@EvQu%cbpCzuzQvv*`wcAp|H6fr)Yz5p#g&4WSz(4kSkseAhteorz zu@Rdm8R%Fgr5w}3dWgkaT`#dN$uYEc+PEMv%llTWWsPz^@cw8JWnCR$K<-4hU)hj^MB-l7BQYfhweESq7agG^}xQkQX-Sg)@~KIcGmn zQ@$}){>)k`N`i(wJzWt^-((Gt*&Z11u#jK=temQHpRS!14)Gq(Yda=tkw0(I>vzvM zs@KovZDbGi(S?S5bo1AFn%Osx2grWCUv)^HcfCz%S<WhMK9 zlVp1_1@Gq41h@h}z{7)g54aocxdyUNP%2>-jR6A^w^X1#po(cKI$Hur-k2^4DsuLu zz8){-Y#)-VC6I_{*(#P@!(t{#;q3$ulw)$CvMxbM20H~>b!D2@y+6Nlz3Bi$8kU}`e!kq-?03SNfj1)ZJyB?)4od zKLNM`B5b1UwX~XEuY5D^t)h=W=L`+MWLb1J?V(Nnid(Go^Hy&Mzs<^V%P4W5&znEn z!{1faq~J2G^aNb=#4Jz>x3OS<*td{WOyn+wfSN}(05T~xAeI- zor;Ei%23?}oysaHE4`L6xbE%H*)}oOF{P>V`YavdRU@l)Stk)Rp_}LDh!M zIrOp&ZP<_@Q#QaJjZg2+3>)`ee3x#Rd${{tI;pFzt9u~0`+HiCU*}Y=`tyrzp3Tmj z+aLerN+t`YUji!xA{g|rA@Ci>{ zc@NQYA8My#_~}z+74Bj&ERN#myWgVdUQ*ur!^1!pK0CV9cKLsgQEiFn8`ix z-Y=i1o<;bW*YD(T(e^m8mef0@8jWby;5i9@WYCge!~x(E@^TWlgRvmg5X9{ZQc7bz zX{kmdG%%T1QHwzEY46Ox3tDy@7`BC+PIArE;>9Zmr&dUpZ0mw;pm1@WdKkK7BB{O?4mt=D)yqd!kw`z~h=G zoEj2m2U!O+^BCr!3kRnbZnz1!evzk*-GM!gn*SY!#uTUD7d-@=s_`&rnkXFSn(uba zsk6rcVbkwWNpaE?YC3<#2d!NRzNVW9v$E$MCI&3_;*^gm>@8WYzd1!!ZzW}=__IqS z({ms5Hd+M+w-e~5vAZb;cI)QScgN1ookq0(aArfBcAU&jtA<}c-rNL(e<&`86m_N_ z127t3eQb4jCnow!$)pM|qXJw7&l>n;CBlXiBst@O-_nm^X_JVMjha4zp9SlkqMLf{ zF`mNDvm``$iT%kwC*2_-x6yM$H=ElZ^Vx^rQv}tHsG>$RSQWhv2#)ZoL`4IR+Y5ooC@BIpXuMR|=!iS;hu{UsG?^~~ zhO^wAYZ#={2C5W1KjB)6C3O5Lc}$9{hjWLTk-(=uPX6QUcZ&N(taUqdat!+=Pdz{E zsf~|2%-r5DJgB5PmR9H(FMCIGQXhHJ9)m7URp3cY`x+WIBpjiWNk}5hArwPF;MHSd z4jnY8ekes@GzEbDtvCX)T3Zz*sCVF}emy4m@UJRmZJ5l;8dYe3fY*zCyK`lFPSnU$ z#lsE?m6iPrr$4Pj++6BCK?^qfmgJIEh&=8QeywR`0NV(Jtj!+<0k|9_0tWOM3=A<* zAy|hd0Hpw=PR2QMODn^06`0L^GE26)#*p;&4*3HGwRGRrw-z0YQ)UIje8VBgp(|bC z>&qz5cBC$;`+3VJeC>ko6t@dS@Z_-oS^Mw#OotJiU zt(UCjjM1@nW@udo6;W&Nv(L>|Zd`QNUXq)>A%p%Uw5BMUo;_9ckw-+Ej61vTtXS-3 zPTwPsJiCu`8Bsu*P8x_c!9Jxy`;o$lG5|^@+_rGcC)#D0pdjF_r z_D$nuTmP`|j>jA8gskK}_0(=s@R;@-dO?sP6X*~;D@+<;4Gt2849x3b)M9uEa3^tu z%HCm|0@_4Oyh~~C7h708m5Z-@8+^Awvi=rm%X-&psnb zOnNS5bC+bn5Ql6%GegNfh2Q~D$EuFfqnTsbhlCaN{DUraN*K2oHABYH)cIFc%*b84 zk2Npw1BHkBl3i*#SYQH<1Q%FO1Be7)KLl$m1-3*<8@xSAx9Tu+2~!O0Ly1ehNX0yO1F=tW)` z>|%{m<(59a#iA>>Q?Y9vDZ1=YbahkevQ9798s?Tk?X1=7ztig%OT!q)Dy8TJ0#=KK zl7V)DK53tsS107D+gzL#M9vn|i3ouQh;aa&KtxSSloC-B9O!VN6V9-jI7cBP6Q06v zza_~b9`*k(1};#Tsevb$ZAYotAkKgQFW?s$mgQ~*A3+o&P7lo~Q-)L{03$^t16 z<~E@DftYH!8ZkCgB#rm2qghrvpF#q z#h_@dfB0~$k~;Y8{byTU5h4;Bdo?zUO4{I@9mTmlJb(@*_58G##dn&$o=x4*-R2r% z00aPaP#~Z)MCd1!!{CXadW1);9PB@MW&+R&ZXz$feMy;h;RbR=u6F|Byf(mSGXIF7 zl0VYksh77CuUPwQ#&n~fPN-ON&;wetFvX`3RGhxJ<(hqA(Y1e7^y@tTYE1xF(?Ns_ z7UXTnu!CXnNf^Okos+o&RvNgBxWocN0EIWDRksA#7=ITg6vyN{3<)*Y2kzPJ?YWtE zs5T&T-DhjZ%zg1}s(A%Q)=%DOE8c9g=adEmphvk1OCq?+z?m0e17KSqO)vmb5Cmd| z5K-JagbIQk+6vBB3aTIdys>M}-g#{Ar}|LQ%f)r+7MKc>`8owx(<%2L?~Eq6-sqS! zyi*2c%o^OkVT&DC7#1G36;r=jyH<%-j>O|cb8hx~N6g24^8{ATN7r2ztigfHQ&4I}6`-Dl-cDm+Nh zZA(tktrM5h1d1=ytfE3mcu^kZ*~*$VPok?8u=@!6C~E7HA68O_*W7}A^^PjxFrl!E zM3=wKym%*tn(f(j_1z zEg9=;D9-&RcNwecjC!9)1=CoZmbe$}g>|*|9NXa?GOV+%=tUA(bBT>MjmoQDj&7po z23J+Z+Kp{vGVPMytBBC6s690{`{L|`9~Mi^n_BV)?Y{mchG=+A6$36>3>o|(VxbW{ ztU?qDDUgYx1q}(9|Nca+1%3G2FR^BMd>0x1Be6IxKRS%IzM?^5!wy%a#;*bTLI}kB8dw%#QiSlt zU?2}fQ7TKqO#&}p%RiIxq@vpO%Q~kRn7InPDh_My^G~$51ljk~-+$z<7@i*WK0jKw z`0PF1*344YrrO#0d)f4bsnK(tJ^G8Du)acaagfBZ%fzJgFyFQOxi)uy4w~Yo)wH>k zo3T)D-qn!J9+=% zPuu3djXnb&U>?s{EZbI_!i;?lg#54t<9H{Ni?FO}lkEYHkakzR#lAtgYt{}wT6nK{PR9O~bB~hA%d1x+$_9|$puK~M zLJ~|AKqW+^5PEtVq+b++K&7E2Ff6y0Ug>o)^;$Z}6MJ}BtU$ zipk!2m(plvo^9FXe;l4(OmpOCUEC6SkUl<)lOE7~Yq$*ETc|YK8sJXA^B-w7plBum z2?ga8e}Gs`3Rp1UNK9M^u!pyA4bsLJ_`MN*>THu&+GBrlCayu(4dU)wmmN@adja{Z zSh2{RL_a?Ml_}DcC3N6KzgKgkdbnr<33aW07CLkC#_!t?AK^xOPvPV?KdV^k6Uzxi zWjbwXOjZC(6E41?4Ng=OcV*NUzZYV7C4#3hR@d z&E^EH?#>UR&j>0IO<&nc*dR=X!flX_bxNsGd{L^^^3II9xiVu!A;*37MqlmS8vRYx zaensiF+Bp;yA-_qJMG9rAIj%cahZftPm>Dd^h zz1MD3fU8}_Kj}Z0xQizFgo}MInfE(n|N4}FwyBrd0>Uf^F;3uvlfhkr8umNjU;_;cS`t1wIh(KqqX$^s!!!mIQtgN3X+w>pGx&PYLguAntwJ5erwLN#h zfSuocd))l#$mgU(`6?0+XIdQSzAzpqQFgF#AZCs-h-UyO!>tYj7}yD@X;`zq3rc0^ z-;s%>)19eg+%aVvoyy|zVRN3C9npI-B4&+wBL&R)!Qxoq$@k;ogF%3gZXbjR>-VnvKVvJ6=xu{)0jzM z9fZJ%0?H+r^I#ALDJt$@*z$m{4B~*r^Sr7<6HNo1nTpA+^@A*n3YvQN|5<-SpKW>Uj zIhCeI6uR(?B%HNR-9Ed%u|w?7X|wote7-S%BV}{lfpI*=-S)xb1RlJpww`(Q4hI@S z1tsZ`7q=CCFPQ1`Qlk5$JVUQCi|zf`vh0Ae@v$>=;Q%# zrhuC}f(<|h27NQ(>qV@Gwk@-&z&ts`e+WIx){e5lnao2(x^wlc?g2( zApRnLq2Mxs0u7@A%QQW+3J%o*3!U5NO~MdkNCvQr`-350oMCrSJlr++S&XBP!pHgV z0~dMoSwC7y3L;3w7nzG32`7=PX-nxEQvnO_R2x$e~@T*H1o`V>&Bq71c;DV0SBMf;lA`O6t z59FUXlOU(iGzEmV1Zo-YGC~at7Q2cRt6A+*G0J_~p>VCX)Nyw&-`e`=j>&h^yydFa zw6)wSxyzmTB@=`Krw7H_sD6C+@SS??&wW{w6b+nY9Ym}XI9otja zdG=cKJDKd%XMOzG1Y$8QaNKm*p~xge?@N5elZY*jKk5q=Ed?6_y-E-Yj<@hon=S}< zVV%-8vlTP#sPZ;q)>dl6_Oc>ued}L#fNMT2W_PidkLs6qCP%c?!CO_9Z?$tr$)>YT z%gYjz((``rz^*Axzu8#6{X0f5MDh*)_cOh+hKQ9eX1@b@{wrCf&gPPRumJFM@Dc;* z0XQlCAfCOr2#{hxn7=X_l`@#MhLzJ&nf$8gH;->(4Lq2U=*o2!hqxAm=LqYO6xZFg zq>sIGfibSTN6{&%&$tBikB-m(YCmF8V9l_R-Hw>sClTV*ymc4e19{`M(gOrqq%I)R z8lXCa7A}ovP{Dm_cRf z(tb+L-ZeXe%59DsKI%um9E~S2`69u~7C0d|u%NJ@fg>(dTZ!!`V7|a8prVSiL_#xRjW%q%XAL2*yRJf zK2aA(@C5wL^>0rIoo(cL&iNHMzs!69Jk>G@t({?VU+ zS@y(1&92sHGLDw|>-Vz|t&_hIj<5pi+mrScWK5Jqj08!zE&@K;yzLGCLxfOxO>}~E{1jN5`L$nu7kH`e*Ul8qgyfxD0ZLb zzk}7J$6blG&r~P}0=2=Y9H0SGWwDBpynw<6o~)SZq92D(A(ncu>K$&JH&xkrf21|) z$HQsxcQH&cx_qyr+ida<|H6Zl%YuCY-H=${LD*WaUw5l}O+5daQ|d`kqEF+sCaaHg z-~5ZeR(*HhHv}s%eRM<|BGUz2OrrE811}o(&+>$X5b(p{noVY1pe;0kO)VW8hV`T4 zw!7tLFDk8k(t(Q+$%CCmzm&$nyd-gMK~7B^{pUZSPI(%olJ#_XDPJ3A%enEPi{BUe z@eLQLFD6fJ8+fi->$P#LFs7YHV5-<-RO0g7#n*Qjy-TVt8J$Z$-DE!gB8SSY3;Y5i z#WHE*$=Tr#0uF|vFft=Xcp<1)WOD2d8BRZ9G!K%#$_W2iI#diAXn{%o(66=V%v`&u zIOVGQ5k3_Og24R66@BczXG+|F_NksM`Tcj6zgWx_yOrMFyd`%=RH@iblHTs>A1Ni9 zn1%EIa;WeRT~JS(9pL2ZA2{Zx_$hdH)76h80)q8H2oVBoBQOAGAbfBGQ~=D?K_rtE z{1U{dy^Fq_o#TTrV&QBLB-$zaaHAUZD~p$D7l9<8DdepF63TSp0XWFf&6ih>l%TD)PC?Tw0^k)l%Ds5!vX_ zZU1t*7&z~rIa;$9LO%udmBlG3 z+aw+={ER7j;lOGo6uuC#tRzXqv`t7%+hBhg)0;E$l1@VHx8*KuwEE!!t75wL+suq# zSpHw2V<9$}tlYgL#w+4%Ee-x5NHgeQ5&#;)j@v&l(J}$0sXfLBA{wVJTe%mw9e3wzt>0vNSXIM@pdaI+*=)BO!T=P@xKPr++ ze(M%zCvI5WPQX1Q5pu~SQ>eMfZ-?J}cCK5KZF-@)d+(R6zE0-vI8Dm;CwKakP z2V0lT5O%BJu!3!qy6>E-7~lAbJp498wtMdfkUN-EKD>ChF7v!sJz?I=5=bAUVkv%?^F@>NtfxWeZ24O`=+^yzoRyg zMqz|z{Ph*)T099@NAMIs`e)K*JzY zCKeV*FVq0vwY-!JSB`;b7Cz!rmQ!%JF04QOTc{`vCqq_@OHN(@GV=t^}=V@Kw**)bb!qh~QLo^tqp<~uC!llCi*&5seAzXJIs z2K?~#F~XHIA(2Ee3vxF`e;`Ui`-{sSG)WCoO)xG%u?;OYaXD$5_|Je;I*vg22 zQYvUrjP_gnmE^nCNKBjmiEufgUu^V+**fr1gpks1p(MwXE%y#E$?(lx1PfeoF zh%$w>N!yEdbX2VNY<3^6>N;|x`OFAJZ5Sp8cm&xGMV4Ce4Bm?dpVykyYMFt|Og9&94o;G+HQWwSy<2tr{nPy{zyT@>QzWb9msdINp*Ru{5A7R zYACt43^tFKCqA##UC6iM>;G)_)FUUyd~ZGqz*z{f9LQw2hcOX=V-rXc;Gi#eUqQR!5y8CnAs%eZ%RZR>}LQz~7IG=Ids$E|24% z3Q*iX(cz0!m+Li(R%`#tvcAz2Bhhzbyf6F7(|<*V4pRL#jxaq;9~{DG_-4XO16>cq zxnLI{&I6Sl3#YeUzYDH=gJORuXE~FI-w$AW zFe393uHIoM^s)wC3NQVjGDDZo^LUT>l`V;>zgVz-W8iFu?3Zi-Q$2RZSNYGtC0S{%kI!;f#42%gTuA3iinZf9?v%_zj%XcKT#fe(S) zRt)E9IngtctS|)ABHsfZ4$yYL!x`Ts*R(Iz*4zrs@Z)57_5DLw+|WztE=q;jUPdXa zYWN4YDso#J^_udBqf?pw9x<)I>Mq)}YEkK{R27=gwS97T{-z^{bECJaD{kw{a#jm2}u$UxJJbT;>q z-q2o@G54{e!P<8UHDbk{by{Bb-VkN4e&dBa5ixgg*L^CO#>!MCQ`1JNZjX_iUJ!o8 zW6?D?p7Uq+BKnzvRj$Et*=$2xJZ_(6zK#9mDq?&H7xR#W1Ym}s^dnOj-2`TMGR&xP z!(y=NZ=Bp&Y=+2e%#={*tIS*j1eOk)OrH_9&fHx}={*>dO{i3i@S}E&$_*$oR27mk z>U^rF^BtEXy5UwE_nwP!V}9NFAL)d%Ki2-FG}{Xp&5+PaOpaipjgl-u77(HaO9)hR zB&}ewq49@Ra)NQmSbpmNf&jR2xgl>jg_@;_3UemL`9&Ud5pr*>2zur0lco4u|BuSH z6}9OkfBpN-thLDTdGN2AWrR6z+RcEL!Rd#mGrqVX$}$OU8s15R`VCU`}SAL!{ZrU zSrUF>b*I%&#iw_FH1C;mS5B?f@JH2pEHe@E~c<;^{vVkIzViktal-y3d>* zbDUYTrhV0%aw%z;jn88@f-vlfg+F``J zjTc8|iGRL0!oBO78qFqo+r|FuwinK9pVw!|`mMdJMm@4?^ZEiK$Ihh{iphizWGXGC zK=1({VU6RS!eW7uGx+|X13?J}Um2h>LC}IVvAQko+W*bWNMSh2=1NjFpZKrPNb=Ln zU!t%jc>1fA1uJcXdvYLLijYyD#?YJ0{%8W>?D6-kZpyZo7a5%8JErdAtiHY{UO9DeHdVRAFK)BB zBF7*oZEfQ?7f)=0FkpxQp&FDV7*e7`!7Lc+QT!9Ye;|Z}*xW?7DSrnD!!QrKElU>@ z0b6<`(+lzTBTN!Dr-XV=s|?o6;|D64{fok=(tnh}vQN#g2J&NA_uwSIdAx$Yk%);A&=}-B5kGfW ziNdb}9?OA=Nq|1c96#x;MmeT%z z-TroIn&1fUUZApA#2n0v2`CU#MgoPRb=U0E<~K6=LDq_XUp@do$SX@C$e&zG)taE$@enAE4z1RO#MurX8xsNfVWhmZhf^MLaL z{E>5E`0^HCMs|Dm(%F!Xbj%53u_fUd@_V#oiE^55l;nYX>7%G#_Zt$G zmpB>ko0G)IQZ5c#w>$}tW;$1J(5v7s3_b)%5He^^H86L>@_-@<{xD$E$f2>uXv5OE zGHJzSYlar~{d}+U%c-_M1Z>uY-6)NmX>;bwit4xt`yIl&r;fS6qUY3YaPMC7VOKw! zUX8+0GyK;Kj2#_!eR|5WkyI839)JGOX@jf8qimN;`mET~!@hNtMYfVv z`%JvWe|_$g_t=`YMjMXzFacQb+yv%`q-*fd5q*XLD-4RDVMKQY$eoO-0r3O}z3Y}V zNlQJuB&c*$x-ds^B^QB@hc;?m{g$$ZdpJj}wBG3#rYM+2*Db!nRu20GuKuxR*DG1o zPIIUz0(+QjW|3V+npBvYBKHAFXKwhKNiNUH?*7Qh>3xk172z=uSevMS`7!8~Q6{;@ zRz$ifUSI>qoZPA(8WtblmKfuQvXlMk?lV(UmF667a*p(y_}y7^Y&sa@7})Ya5UWPu zOc2oMxVn-uOgbi%7g5Q_NV6#UNq%IBWy9a)t@m|o*N!?@!jj5{ zk9d!hVc+`B(duE2%(yoqf5-y*);B{pA5U*O7NI6VPBZ|r02NlV8gyC=b(7?TBa8rA zVuTPRhavMjh+<^w}4>y!*X4a4-{d+7w; z`m{(vc7&_Gl-hcZ<$W%F&j(|lBhH>XU8qQD1dhC%)sDgxuxjzq#O_t?^9O-~&f0YL zwN;2}X-srjKujx*}3Hw#^RjP9t`BLf|8YobzWK@fWVhM-J$WC~5=1(q>m_KqmWS=QNLl#_qZB4mH>-)YB|5%EUod!s?Ll6l zUABG_YnWjA{vVcVx?K8N5<9~6fL0<9h;>}&CmkoeF$8H2MSoo!*(DI~V}dDg(V-}X zLXy@%MS$Q`P$O_HLrRWVGs1L2N;P^3qf*P_?}JWRqGQ^T*rQ&>QC94lMfzba)v8r_rkcX|~K)H0}n@LP={?=5(0-v-vj|*r_U4-7DYb6e?1vw}mWW-Sz4( zVYHaf@f0!yBY7Cg6)Q$4>mD#t@u#kb zO1dbOsk)Ck+n)=og=}X+mvG!-e;fV-jog=HIVVnqI+vGoszt&DNyTKuK46Gbuhx1`|}-=tp`*>iR+wTb&NAh$9mo8=ZHbHoxxFEBNJaV1-m%mRZC!gEmm6!9)%A%8+s;kT^Z`rf^~dA0I4KIk03SL}vM6jp_(Vp9+Q( zj2wvP4#NjJ*EiZ0{x@5OIm&UVb63?`_0-<-;)L^d_R#3EV?36K0y3rbV9a1B{ojn4 zV@u91B2AKMF@XCE@-j#cQ3SNv?~~5T?&!_WZ`)7vJ5b9DPagEnJ(BQQ3$xA${~Yzz-=!|yH+Rab96G$hyyqh)Ug=*R z%SV{K4kAC*LAdU5!a>3XtV07REx;f3GJYKhS6~8();hr0o?1lz{zI zD&vI0L*=%jAuU^bc_Zt`&oseIT!D?$K`>dGN<~8QTiw0R{8S-Z;n{_ucL^|HYEN-* z2f;WOiUU-YI3MAF0Iyl%1&qc7UN<0(kpOPvLbBAJvekk7V3A6rW4WoQs)PriJ|eU& zy1qOSm`ox3f!d``%~G7YTXP!vU46 z2@Tm46%G+Ng1EqHOaN~@0Y?i0-VxFPDGjlML{c>R>7c|W6V|ux+W!aT#5A!`PIa2; z5$`IVrpmWDZ_-ZGso}oDQP@7ywkoPAy}T{b?5rfqChOO(0&-=V`c-6JXs~n$Q!|j3 z0l|YN8B7^ON6Rox#!wKHc$g(wCR{XCyQJ>0Vc5|=Y(L?;V#Ey7ZPuGrerr6OP%cT*HNLw7LwT0-h8$waKA+SBiml^r=FidgU?0h$21Qv%Jk20;MG1wRTC}b-&J)Af8xCLr?{ZU`?jl_-&-!&Zk?nZt?Ghf3 zn{fuIM4gh`?EjV(=D=;hVto^+$l2nhAagO(gF#=8^8hkccoe~?2=#Ojv{VQIhL<2F zHi+JUj0WlK7Ef&rLk%Dv!qIwtM5H(`UmkO)y_b)UaW_U2Bwfl_S`=Og0lj2`;8yLG z-b(J?L0k~vL!2BuFdku-_<7rHrv_5V>unoUVv=D zxV7bn3Bqpb05E4IhFAt-De9>t@X(P}gz5^*1Kd}`R2#Mp@74j(T_|tY(!2j)2;YRu zRr9W$=67tQB5RE;0O{5$Zt5%lh+-U*I*4^+{M#hi#M+U%vX=ydWSuvgAwIB=a8zHW}c{;@l(AOTZTa zIpX?(+aMHXfX856=8so>i!i`cTV?50(GsObnaf=kPIVoVUV7_dTE0)t_)5mACLl@}?RB{j7yFXzBvEr4VXzk91`}hBLXlolKKUFueoXd}^80K29<%%?K z_?nU*rlj^omyu>a43;{sB7zPe6abzEKx5<(=mq#=at{<9IjNY(Viy}$mZf8y7{<|E zE)WO56X{X;48_S190(TCwfw=tm`Osy?0r(#*DA-S7t8Cfsq%Gbuy482N^O*f?MoXW zn=M-Ao_&o8b`h*z?RPExX7e4f^`z=sQZ|~7!eFpvpaa4s3i74~2cti#aY$&;@}s{* zxDL2M1RAioBgltmtF26C#FdQQqSJ!T%f-)PG~zsMO|EvLgxYbG_zmWALGG? z*q2Gk%N=VI=y*SQw7uLjG@s4y-E8$QdyxA9p(&eIKVbo49)|HLpj=|DLdp~jWDtQ3 zH#N{u;E#pf{0`E+CJ4r4Wg`~l-_fV_^QmRB4Twt@W>ZL;WWF=yD)eD^>ue9VO5tP< zOVHU?yMCtiiOfza;T+I19s-u`QH`s3dw%?(Ygfd>Tt#klPl8H+@%|{cX0KAe>P9ws z71O8;VdUr_(8#M$R-yRC@k4w75&)WNlJG(}Ein^N86i`PcPU=Ql0?Ip=B=v%@3(5P zYmYWbb}={g`qARXFd@@6x+Xq^sx`WMlS@8Y zE?R-a#-KRP@J(G}3f-Kxdv^+X@#O+@M1`C?e#w6&5;{8E z5X68^iI_~NF)#}T0Tbjh!}7Nz@oB2QGWWZQW3;b3=)CX|^wx*U+LH7$!3pcE;?pCA z>UQa8GJoXJx)D6D_8*70T2-dl_(-r3zoJo|zY@*L#LI_*7J`xHeX>c)#rSbaBO4a|183a`Q({KS1PYrk)vCIS~rL zN)nO*0G=pRWT4~0jh9?P0Du7ShM?s)JY`Fpkj!-3S z7a9hD5TwZs4~r-zVs)zmwFJvlgV>XIXgSUC2L3i2`Kd}+=gM4Z^J{U)or_MKD9G^LhdJug$tjax~y2EE%=#r zX-sJ3=^5IcdI8!#p^-7u)YEKU^!5g>#B zmc45=3Qn&ay0z2lx~AFIpz;8?x(#=feBe-ayMK^-N`HCYw2F?r{hvCNO;xNpgwvNl z@&n~ePJ}$`@}78!wSA#Ze^IH^Q5{!ude8aY+^U?kJJJX1_7Gbu6O0LR7fh|tgb~kI z9J!by%H)XlASW8U^?(=>QB~8JwxxE*PyrGcv$7Y9FRvAFQdbSx(ntC+o8{ACROovL zM%s%rF1wC(_x538_>$ZDw9Me>HdWX3VN^trC#Ox`ENaaZrp_+4h!Z0d#i z6+%9@+v&_if&`gva=2IpVIqeX0)%7mrb&)fF#2MsTG8422SC^kU&bIKbkfoxVt8<4 z*ia>7Pr_p*>od=N%5roAH50@$o$*%~yT~abp6dHpJAKim?NdCc>~oc6seOgMCk35$ zh>HJw_7^4PZr{G0={;*PXQEY1Kx|tPT~}APondC#a74fUeTw>*r%#vl-oFjP>zJB+ zL|99um@Xhw0F!=lVk3zYm&O4(ksU53$OMGmOGIduwm#qI;sfDY} z?xL`}68pYM5l8f)8C1olbAJN7I%H1$B}@NC-M3$xvozsYh1G#t6@fvC;8=qqh`s?B z7LY4gj3F}&_bL=&hUd3f`TZAa824n0LGdWD&Esz599sK(?;G;|f`B&R4@HR!?RLhr z%hPD;Ir8VBHG6v{Q^^@UVmi7As}+5RDYs6$d~ciCu}+>n=SSfN0hExmBzITPxhM`5=&i6Sl1l!h0>U%nVly>i< z$DMXmrVJ}|e7sqG{hm0ue7WYjV-|P7w)&mfuG?35AAMG1{r#6EF@K~k+?Msrg1^3> z8yz`kMi<*3t$d&C{(JJQ3wBnoQ4I3vx`L~d-YB>eiT?y_G|*=TgSikKj2D0*AVT!y zU|z%2i43LR#TpyEgFSbpW42yKFIcpH#1P%^msXt2?zA%OzEPu+stuLc)lkHr+`q#_ zpGz*&Ro_y7zSJAM$*IE9%)Pv0VpVt553wY3>Vv)Wn!}wPGv_4}DxK+ag2Pz?96V8M zW8?=fAxvgrxdKcB0W9Ed!a@~OO@upHEV&Fzo@nZYlBy>i%5p2#a#(=4KK@DHpP$+# zZ^H59jyW-G-;2U8t%ck3Z*0+@VFhnyvreqyJvX?6In2JPzqn=oym?~pf2UV}dNF!> ztl1M|92tb6nhLWCxO8K6KsG}d`Jm&gX$)8ZAj0r9;2jP`axuNO2j&6h?$x8THi%O` zLGV81TgIF9z7@yw*svM1qY8Xgi;n#nS|tQnC2D>;k7KU*5r!GfTImYUrYvl_n&51>{Q@bY>N#21H?b(x)*V&hM;s*o>9P0kiKNLLC zhn7FMsNJGf3|dy&er##4W=}jW@c3n7a%6g9M2ujv3T6#7JgBaa;0P9a2>iQ{3Jzxu zgXa-m}_fz9&4B26tM*jScWeiQy*!Wnk@BRo~&v&fP1l zh!*@uo{?ZvQ=XCX>6~qscc`d{4xDn*VA%PLb{{nOd0X7}8QqrVQQZ%^<_+zpzQ*3& zP0_p!%Fum($9&NQ;<2TORRu{7S3Jf$a`;GKwky1p(8+_-pU}j=w%FD%T6bYEr0+tFwP6dot(Jg@H zLwo>nxnR^C0OHi!uN6{;D9TvbM@4FhN0z>DOz5O^hK-%`xOd za&S6fG6o(n@j{1B1bln3P|%~n%$L~Wp!7CkR+c}z0p`{yc*UJ1@-h2;mdam+Dm0mo z22zJ2sSOUYkGpfq(|jnCRzDBPypy{J-KYyZGD$GqnD?yv!{9G=c)ik};PqD)4n23Z zO*cEgW^XgCoUbCSzNu#j1V0jrOkl-e@q<=_i8qKqK;YnVftni-1~LF(WAyeTzG?n| zFj!DPg)u7(^EZj^iLhdL<`QWGYe^~74{`E|a;-dTM`*UuC}V^C3?k1C${q4}022hMt{A-3jbMWA*fq$3cbG|=z@ zK%D^d9Ek=Api~f&KbbfaR*2T^f;?S6Q!jg|cW_drUjdrpUHN3o5|&-6l#Yhq zGKSD0dVNRmBssENdEf6C>pm(M7iN%OvGPbBXm}Lz|G|A6Dq{)?QH*Wkxf5MxSb#SKgSN^IjVZ7jAoZ^MN^jJXY zHz|s`ftNU|6tXp|-R{JTn~~CEx1Np9a-{PaU1DL0j`tvp8;rQ*i3HTgg2I0b zOoUmw;SJtpdt_ePrI<*+&-E?4RH=K?K_I@w>Kraxt5KEcVovIGiz9QQC5*DM(cy5l zAZl9efh%BkM|O0~j@3#AJj{9=D2cEU zz!L`H1}Ff)3Tz8Fy<^=N8HX)hRIgwQ!54SZu*lnrOIZDaCuk$rJM3<+W~kNAPp|6a z7N%QVY9(NVC6{&$iTYz0Tfb`E>~sOor?bnzj0N03o^A?SA?zmxaDHSa#j zlb>yW=Q3F_rqTf|kV=KlM+GG*XbA8MPJ|wWgzMllOQF+*aFbkNhVR`{{cEhv|2Jre z-5ahnuQI#7AGL_U7O(neh|NIe0|OBgpO7S|#KBd8dmd<&(hxA5aU&q6A<5VlS+31U zH~Pi@VeLG?n=IG3pLC?91Sqn~E>l3jjHXGLDO5IE1rZb>Nz*b!1OW#kqy-8hVnxw1 zl#NUUK}C;BTBd9f6r3y(6cj{}-S2lNEr!0KdB5-a&UJ>zb1t4d&-*<0_}~Bge{ZIR zDEeZp6i0=r`E8y_ycspi>RmY~HF@fPov~@H*G^p+xv^48OK-fsoTKGEJ?51?nfE~7 z%C3{hso|3Mu~SKtga;84eD`mzpz@pcZHt@Q7&2&!l77 z4ksf$$r89WrT%nU7jDg7x;*;gg4q+JZeE{KV^Tz&tmcjnYiDX>Rz{}%{adA{lbW6H z9HaPQowINLFrFV)Y)6>Xf-DYIKwK4l(l(Ec#!FCK5r^eXqIqDmz!6bHe$Q^zu>4~2 zKbUoAa%AMoMZ}7SmIpJdqek7-jPWKJozdm=5zdSGM}M8L_FOFnzooP)s8`jGuKYY< ztu}39na6G^%*+d+FykE@ePQk+w<&(et-m*>lO~=06~9;1{WIynq{o5|aOMJmFDBFR z1eb_xis`+87$(9C6?7bb=pZm-q`?l(xT_dvEYslAIw5ezE#qUBS8{sGPHp$1uGNv# z7k?d)s5z4cA*nUf1;@NM7a8 zNzU&ENf(R`DLpbm3*#L#k)r_Lux6+*G{vBichsehzUwyo##BA5btYrEHF($ z<90QBBVtv-{we4GeeKf*oo58c!g3$#E{ZuJIrS|oNClDM!Hmv9kIrgDVhl!KCPJ2U zRpLZ}&r#E(f)U;ddNrM5x0YF&aM^zjVqrRZ-As-Y zNi;aA7U+9WRZ-|fvLXC0^>;f>bPOH(+Yd<}w!Ni?=DMz{+^=!2Rv(e~U5$i4>JKRx zUb9{2dR=T~3vLuv@tCGEw4-H({m~IzMvW-w$C)25H0ehBrqt`ua726;?|OQ;j<}+h*wPN(DBQCn(R=o;NwZK{Z_@2b zzDK5Wox5`J*PyUOF35%7?XAVh6u&hFwjne}Lvu3Be5M&g+Na3H+%`16sgW}!1nq1< z&r*;5KkO}L{m%_1T}i0EHu8SYjAoNM^tx6zVz}}8zRj-K@iJROyDqYzOXU;!KNPli zJTu|uZr`Qqu?G+O;`$~Y7@u~?Ijx-QvsM$EMD|@b=g~DK2QKYg-Ti^5`RTY_o;hEHc$1A4~jrRvM^&SIaVMSk*^8NIoZ7S?`X+&5-C=R90^@)D zEm~bNozE54jY#mGt~>R+2y4QZk9vOW@=e6Kh+Uq@lz1jm_(gy})kk&=2pTr~=G}WA z?OP(wefiJU{UwPizD`s?(VT`Iltd!UQ^jJVm&IsX8X)Xn+KQs;6lVx2`7^CJh9mkxqBB3bXYq= z8oE|E@LKzzpC=jX@y9PVmbY76|I8o|0Q|yKGay?~Ff$x@S`&G$(1K{G0RfXaK>oX5 zYDiw(VAU#S-`J&g?tEIbtZG3_wDL?-K-Pu5sOAG9RGW_|RP? zEtYiCh-3uVp0vg@gu*1;VHrLF?kBT4OEo?cqer-DgSgD-p_eK}ZBD5BRYT8(-_voM z7wVRaH^iLoP_<#QOeKodoG==ersO|e;&*jDv}=LXfr@`u2J<2yxEUBWL{nrY41MaH zfc)GJYAPsq+Bsa@RjI$Lq;_33nMGG#zv-(~+L{|oHKe?r?)Y|w_I%TL$0KDUX2v#- z_vZQMY-v+htf<#Cdgpfy?&-9=e0pv~_4jm9A6iQu<^_A1_+avih%?b~i^sutGLV&q z6~H-cI{E`HP+qto9?FP;I#8(z4;^+6O~dL=UzWCtq2Nmp&fZNk6O*IdPv}1I${fzu zYcHSKqe+_=mYaQ*?}?0=TIT7?0l0VUy~$3Vg#*_)j6EsLLO9+`g3i|L_+*YVV>SA%>MOKU}+*ELwxyvS)vJ1=V(V@Ae z^VlV_Y7sGVwq1zL-v@}1e|Ox|XxKgb^RNM{&`2O+w+OUH_CRp9b&Ea*y*q~`Ir$d|V zoLO;dPodae&tGDXbopWzUe2u*pV3f}_NI+{F03yTkuUV5_Zal}k-lcuZm2CWklZcNztw^gT$o@(fk z8lQTYTKn?Nsru@Fr%gZEd42ZXHG0_Hhs$lK-Qhx3*O=b+a!uCEsDE|fa0B z((;7wx7l5=ZW(kBzU}`2r8-Q>CDL@&I_R7KU3XU5cXPd(sUy4>o|!m(qyC$?h=i3R zHJx&F+Rq#4uRB_N_Eq6)nmJ2<{%O;<6E#2VElAtrjEQo7?HxUUQ~=C+(fC%hgt^r)!`&_~?wN(Z%iZfeG*`i%QHHz*VLJq|8xz#zFbr-Z>7&7E7n4|<62?8)Y-o0x#tI#l=<0cU1}1uQ~X;Avd}FeZ31A&hQe%xP0oA(ey;&aBcxH8?opIM zmwM~N5af$y%l#))x}|TNHhaW&B$*cO=xsJccI~*}K{QIUqkNg`vVNI4vsuj&$6RHT zzK(GFi+_4D7@ffkQ#47qP||(PyjNOU?9f}uw;>oCL|(u2X38RqIsaJuscUv`@%fs> zReQg%La)Co?D$`WEnTi6q%Zu7wbiTd_f3d>E)urk`A&`gEu6^|Q{IPYvx0@L#5nf6Z_AfbbuT_^IF}d~2#N#? z#E61zaf@M_Q&a+LNrH#TY|EmFJa@V#5Xn2`G|;-sy;(cRJ!ZUtz1t?^WK>W6abSoz#>>{~$Y2vwB+XCGl}Z z_T-_jUr+qBU1V0PiMFYIBC{VY2^nb~JN0((<7AEtlr9QmPFI^5QXMhN>OQb{L>}`N^}R zs{1b4y|KN2!VhP~WskI742)vV8IadDK35-;_|BYneu_>+?)}~O-`&38jW^?TUFnK0 zal<>d_;ICp*W#_%aHO<+LM);dfLdK9X*Mnj(iEbHR5Or6w1LnR(0H zgj+-*FfmzUtn9rUQ?+N`l*sAz0xeK|T0eOCp}u>}gGS`cej>{9@rk=5yp#Jn8+X`q zpXJSpsdbLUMC3dX^qa*8y>p@A1xZDUgJk$bq#G_f0yH$4K|q#z5%pClbztcPHw;e) z@eLe*=|1STsJ?5Zps0T4?NR+d&S|r{OEhuJn`<>pdZbRu`)c%;9=6Q3Hebvf(V06@Lo}BMtz9^FjfWy1nzg~KU$EP zU#}SqMP@Z;~@|I_Ub2ah{Hc@{?=3of~pK(UzZ?;{0Qt z{q@&V+Gsa6EYdM=`*~Tt^Ud)u4M>{!(4#|#4jtPp*7tY!{Dh%Hoa_AR+E*Xm9t4=l z2g&zPPGs>SG_j11=NK)3=+pi)eE-v4&P?TyaNmBLNk-m1B*i{`B(dVOH-dZO`CZ(UAOUX?a4KLlH|*Q+aTQ`r_)zPHxSXYFjP zn3ZouTHgf^D8r2rg<@(m0*BBvjph`EZZa~fC4<3)fe89etb8{w-Ce{6PcY1yc70Il z2!^57F-x;FEXeHPzUZhCU6E(4FtI|sx9^C_^V_)|EctLhE_bz@1oy?3pJ&RMQ%cID z8H!dYv~H2VpgS5p5e}QFph@(|gwY+om6t?T%3ZVD=i8B3!p&xNEBt@)vVF&BV|z5! ze0_RR(5nzj`fumLQ^B+jg8`>SuLdf60IW=CW>N;12%ISs@R+6^=1oBXFP-$`x1=QK zA{Og=Uaz00U+%5g+~=RJSt~7Nc>Kb>`i6Sf2Ym?@oD-jZA$tEw*SMC3BicUGmwBpB zIuKE_b5_lS%GHN0tTDzhbYMqcN#UN|(GwrLElWpa2yzk%7m!E+oS1Y2>j&8pf=U=z z`~}y78bkQ|PUYQky>3LqFHAp7j%6mpu8zOl{4@2y<^peRgXy65%g1Use)%~|KW6lm zp9_DM=09JpCp@zY2m4}EM;JOZvZQz-Cz-W9Zl*9kbW`I=9z%!0QCU$rz2m!ddwTj4 zuHXz&jz4P4pWpQfx5w@XUx$mrGajS45+?7Xqkuv!Pd zoc~&t|1o9grY5FByA2aAmkfLU*pX@s*6RSqp;_0&m`aBBiQ^(bW_phW3o5T78JNTa zvRZoE?kzCNkac9YK26uyr5Btk|riaYFnpO9<2Mc;+6=lp^UYH=fH%n z4Lo(WoDGbB_rp@V7O%XoiEhQj+hZKDlaDVvuwSCJTXvFxSTqxJKkQf!#FStc($MG; z$v~821y7^-q)14$R67}HVT*TG&P73|Rzkwf>oLt5RlR;?-;OOKD&BeaCJGWe>P^pZ z?wFj_ENS!iiFKF{R%g-6Sy?gVG%fbWbX!v2@sP9G_OBMd6=d{T4fJvM}m~<{k$4AR69 zB|QMN-6?SP8y*Qa^?90xm+EeF4N8rzQ4m#g?dj}^eRIgY3kRib&%M0o?>e5d6%5;J zh@WbJ$uEq3Q+$yc=4y$g}L67sO+qpI}>o)aFxlDII zRWL%z+P9)02Erv_JQ2n>nJI1q5<>m4Lpe)lw1peKEz?|a$6<|7gu9c@urYQ^{j}sb zr|0skN7tH7=go;pDUQgg@tTU|`~KY^(o?n>yLq+a?03qgPAhXNLf7e;VZUwkcFXeS z?=9aWJLhey9Oh}^!y|C1$ z;5JJuq>K~+AVKn(GNBAnhu4RCM(KFxEiX2GSJak>_+wWKyX=IYn&wT+lU{0F+sf4^ z7>1N@TrR#Kf+4^aJ6xz|kJhJE_N)D`dw=2V&2jZt8(zstxK3@baEv2j_tn+QmVIDm$BN1JS_*F}nMsyvOcz?G8p0#aD zP7_=Be*e?K*#UeYEB+|`*yQ0T!fF1%Aq^49ZuO#+TVN=xmO-G|B z+eT0--~4Z3y!ZR4Ci^>_DC=}((KznA5BB-YH#>~^v0IdooN8^}a@2SJRJpueyVp*r z8*3Zyz8qEJWq;xF+Jbq+Bm-^$LV_UZ{7~abgoQGnZle4NYa4P|GF*@_6(COuT35f4Mq;dBR3q@j$Vd$)7a%$fRS2!D)tA~i&H*KE&(vd=j zRbE}PX{@CruDodcV@}~?6=%N0&U9X(JwZJMB0V95ITJqs+sVyU=hrm!fOyo|1AkyzlJ&N1Lyb&n^$ zm+sJXGF&OVC%Z+#)Z7~tqVyZJ4dx|nufJ14`q9u`@03JBb~Jl@ut*;lA0nMJjEJI_O8llt1jlIkMMqU8_aze&%kV^x ztq4-R(;@oZ=xqfyQ*QaF1xeNN&N^m!+>Xf9I{bW#fm_LCw%~D;x zuiO`W=|GV6YK?i*ZlWK&dH%ogReO&s9A~hg23WEF+SrHZ|5Wk*@${P}ycONUWV(KA zkRy3(#bFV8%knymz8z)COb2yX@0ulsw?Adwf%aDL^h0N_&hiK|g|$0tF9R z*l?0C$QgBRmcRx4kBF<(Tk1dH+o7gg6d?ad#BDJXKRKM_`mo&K=x0t;ubK9W?u99l z?xX}qYG2=XhpNA0Z0MWy+Zkh%rP?(kyX?8YC(6?Q^=QhOpZGkbn)vnNYB3lj98<&$ z{R3sVv~=8Y+HUv+ZUiS7BuKji#gOnnyClnDbkFwdW^1DYGRFn=%6-&X^Ri(_9E$tj zAIz$ic-60Td<~`JMU7+Qe8Y4(!xGNt7>7^nI(kf6?y_yUaoVpOyPwK0xq&C6TAuF6 z28z>bGz8FVkOo3@=ukOEi44se8$+L9nh306MRpow%)fzBFU^1PVF#`Do(}QlYd9uR zcyiozjo^7GF{ZmQWYl59oU&W^RMqq1+vvJZO-NWJ*;_BNgS6dsiQ=%i3f3_UyRXyQ=cS8+$Nke~I z^jO!fvsSctASeYAch{g((=pv*Fgssc|geD~Sk z3imu_J~4c6kM12!Q?$$VahH5~vGtnNE%7>k`~JpH&Y*iE)DjW8L|~B~YI8DI2MQ8F z2BPG|PDvRyS`O)4DfM**Mcu_U?JR9{>~QUC(;dTn3u3DDnv`~Zd9&)zEv`O7c#<)V zYbPYk__i=6(l9V`WtZALU;oRZ?X68}dANTk-I}KopB;B|Ttpd7G}8bzAMPu$gUD5# zE(PCwbaXN}_heLcDHbpi-X#N%=_{3Zo6@SCjzb1Ws*n!QXfrzLV&k)nY55bj7V38w zZZaF9(r0a}zc;&MJ$YM4r>%HdzqH+iKD|07m;3sp zU;(vPU%L2GB}eNLzq{7!L%qSh1C&b9c=NwXm^5^2Agh95Pl6Fflt(V-VkRDPL8YGj zt+Z27%pUb@$32%TL?lcbNkvDelTvp4`upqm%US!^_b;?XV2YY{Ab>-5f zOO1)wc9+*(^3LAfrT&OugDBVCvUurZ!V)jWE-1rL#D;*30i=_S8ny|mN* zx@S1M^z8Otn-{Ozf^DhnucEenU11p(KWBs+q=SaGLrAvd(WIkPv~gd|&6C!AycZ?*;QD<-%Qyf$Lnd*<$;`jTH~3*7P|6@ogaAMfu0Zi z88K;Tpt3V9;%W)wR5s_2s9>o$BiOGkDT!*m5p;l>AVDn^Hrn6Q5n8iB<${C=*)Y6? z^_3rAIB3M>y}t9mwr@~r^L@33`ZQfDHu&K3ghc1{!uf9>+jp(dsVSk*yU%x2bE5E* zG7rWi>3SAU*f>6Z$V+FEkhP7DFm$f@+v*8B%17;5y6oP0Rq~#z?0+(Gdnpzq=96kzCnP`#{2r*NSZUv@86}dP`M{O7}YpEFgrQ4&GPde}XM1rj1 zXvM%(vJ6-}Nhn@1%!7vN3=zq+Gdzw_k2XpfWQ-&Q;a{aUyKiFV8*pY~QVK}E5{roT z`bKvu>}@va&>D^Z{bu3zA%9wXzp&NwztfG%jWA+~~_lbvpTmI0_ zZyDX3HhKTXjcZ(ovgbVR)l@4RrIt@-1|*{^ogx^04#c}I zNDd6AkwNCL2}-Bu$p%UakiA;JV7DXAu%+@tlhYDkZXSEOkK>oP0?TpTrL^ZCi{HA_ zmzAp>`%CNTlTUuTuepByp>Kk%pB(l0$;-FOQQwNR=&r`uGscU5(R+dX2>Bu{YD_I+ z_KWmgL)Z+%ehdZ`ru?I$^HfyV)=Mv}?{2;Y*M*$X+Q@_p9ZcO{+ z)x34fD>@$eUc2yM?40t^j%pv&pS^iUWW*x9et!G1%U8@^(de;YTtUoRM8w+EVBrx^ zLi`J$pbf=8Bw$I=QF&v?jx=V-r2+ahxhZ53q@=pVu z^IeS(ZzBZAFTVKU{Mw?KUrc4Ez(uow%bW~W?&p6e`?Cn>z0|4&7cn5igx-|@QI=|u zrQ38XilTpRDv0X+fN#sqiP{d;64oY;3dmU+wrf(aN1yTOyq(G>UYxylWqp0x>Zpl7 z_xLlV&rQv!)hUyjbd0a;eeSIDrB595;-bim|IL2voiBzAah5#w-3`~Z#*_XR=(^Cc zq>U798m7EpOc+*SFlI84G82(erWVk}29GMhT?-fJ-lDGGTXL3EzYt?nH1%qE%l)FM zd8KYt%GH~N{z+t-gU%>lMvMJhoxT1eZOpjQ-qaO|fh8I$^VrN+UJR&LPpHP3c_ zhTmEovOuNQ^GCu?2$#A$pYr*4yODLVri30ETZ#r5}kmwXNF2??;< z4c;#QO%XphT30o3wqlI_>?wqt_nZ z+pgMRZOoQ-G0P`AM!ePKn)9Ot34a#&cAh_ftmD-A3637N%YUCgwrk3b5}|O1PS5@N z1iL6UsenY-Awve$M?|tA;E9kR4uQa(&Ne#7(7QvHy7VL@5Kxw$1ol6AZ&WpCfT%z1DNJ+pbjjuurwsjV+d@hINZin@Wbe zTmNjd?f#%23_O6~2D*0e+9XgQ(m@jfP@mCj#w4=`l!Kq^Qe|ByNI36AdmkjhSyAtc zXxy)QVzWZcx{6gF9@lq^(_3-YJ;MGOenxYA+{XT8erVdIhV4RL&p2=2vzO0oJW;Q6 zXT?<6Hh+!qNa9p{Tfi16nS$lJVH27VI6+#5vqt)r5eHChq1G^>)f)J{ce?YT{MW0^ zeUs|%xhHm+V-8XkX-igC&&yg;FH)D5;r-pU{f$Pk8%FGm_0_6U?%9(Q432<8oVS%= z`ugwm`c-|-1tWN3g{F6EQ$;#Ai={VYum?K3^t=(fVj;;&!Eq^F)0~hbb!waR*ti31 zr91htTea%zC^?DfP@#E2M2v3qg1ChVS%;%K-t~CvrVh>CY9U;Wudb}R(57FO5T}rDI`i9)pFYK}EsiOvDKbLBKjoZX>Vk~{PD6!J`uNEI zK&3%Ah{j9FX9693#%-8UuQ=V#gf>O|-`p0r1@9vl^+0!-yhCav+)nK|zQ(}O?e z*I#2oB0j)V#NEHsttm>kgF9D*CDU0=pvH(; zCJr)QK!sM41ZmNy%*B%A&Qi$WU8--6cINDz+|SSWdUHbJxx!<*6KgNEDnQOVMQ8R1 zs#nW9OZ2?+H!NSeG<&(9$kwakLqR@Cwo|21rTA2~Q~Xw``qN=$_Rm5mr;?HeDks9| z$;gC>YJjlE+#Xke$X42^3#}n(!M^k7xE}@6o%dTlZT^gJYQ6g2g7kuwyR`o^=H;Xy zVb;b+peM_5L)2Unx0DqGsGR0*FZW^M2CO>AO!UyrxTu8;AL;OnxiAb);g;i}P} z1P!Xo&Q482A zI=8)I($}11WiSc<1${m`ouG6wL=7Icm2lHl)Tdn<8^-@Z zbe)o$_z94H9>59&vtu83`m%RFIOsXuqRRQTBI7SqTM}8u=1Z7|=Boa%=Kk7gov%;Y zKf$}QZ}pqzqfygs&GX7$jNPwEyjnKsmrGtd;M3@5Gx_DkZk72Y29OW9YWUJjGaV}) zkJTngij`3}(BGxa++Zy|oWEu6|Lbo0ze0lhb*>VB&%jC!i*D~P)3&blzLxTP&HX8> z=eM8lh|o9FH+SZI7u=;KPr`iU!V|aEo-I@wAy)wgS?CP5!XL@BBDhW)sNGJON%`5$ zcsLb|yg)_4bNNc$*e^O9PE4d|8r?Oe?*x*@nz_5m%<^On)x35}zhi;6$6ptW3$o_x zr=RXH*gHR~({L?QsQh)){E}qgS0bW6ba3p&W-}?>lSJC*ruadH%nEs5rp?10q5FiN z>;k|>=}JvYv(ye8MP&EfC4Yal1yX5rWaFco>vw8?w9`kI|DDjg>!c4GFX=lM^?}9{ zuV2@_clg5BBMrg1lU$5tKelx|&Mz#E0|3{P+)4Byf*j&GqdQ2RJN~%MCY`xYyGnYrQM+c=6B2DoV!{a@ycB&;cQgGbr0k z^HL_>io!4Q@ucBue!llGHe3q)UTust1m7)Phf4!av-*yRV);JP!t-Yr?$z{Kt*@2X zc>j-uKOfbkJ^9&Jr;pb?>N~tcAIxYJ6LRy}6%CX5!Np8tbA}A@B6D-oAwxOc%J^e= zH-OOmaN+_kkg$U!O1TdC20DJ}KSubN$)U&zQNzVdV<*Bx zqyC#(Qlq(INsVTYvGVg92TZE;;M)x8(l_sqe7T|jlrzi;SU;!6q$_ooEiYdX9T|VZ z9J_qt!AlV-qwfv631S(Z85eh00@~uI1``3I3eb4=`*x zQw0*P)F)4Q*jS-sh03)CIrn=_haR>)h-~6I&D3=xheQIqVUN$Z^ zCoO9F)~BlFv?w?oS3RNe#FXLp4{x07*2cB@CivdSu{W*~_l!_oi;o?z$E;T3Z43PX zm=UOAOa-z*k%Iuh6bB1nJNjP#9|FVJ2P#Z0^p18$Y(t>m({A_fPYjQFKMf#Wi)xEz zLsog++_~kV^eM5LKHK;D5~IIfTs$Or=>K}Z5mZW%7x1d)!Yh&~7rRKAgaNdIR|Jg~ z=`7~&PyvI{#2^ZWkjcsc*B^7OY1*#3&asz!Zx6QIa`I=&H~3oU zF2$3+85>|BT?24LC@2{klgI<5OAi&lI-LO-Ox#IAg-``Jr&&SsaX0n|24s6M^kR^Nj1)iNe8j~bg@=Ezp(>(%Rxd#rqH-ER43widP@ zclqyQkrRUj6XmeG#|-}yGRdvOCWJ+29}FlNZ9Bpc*n2SEL_=04>$$1Sx#_wqQiQwH zVWYVxQ{PS%l?A4pPZ)1Zsg4zYe@dAGZ)9YvjhlT18q2Pzj%Oys=6d6rx=(K_D=NsZ zC+fP@wD=2Yhe}H;(;I9JzSdu0GnL!wCXV40hKNzwiQ;s|tL@q=u zFsaD(h#L_d5L$7xCQ|k~=DD&OZPY)Y2T`&{TKC&mOMIh4JBj-P*;epsEBL#_8cE5t z`{5EnMVL7P9fVr}S&MW4I7sNT;BQ3FtS0DXDXYnIIAiU0LG~87XThtDgl%X&F}JV;NYB5+X2j_|@dQZRkAyu$*MT(FL#e8LP=32Oy6_rXvLn zPO}LHDUD;GIhmR1=|Y6FT20o#-c+1qe%pu>okE`Eq)3eh-XF5aR8ffx>2_g;1CACv zl(s1tK5#J+tv1sa1MkCWf@f#VSXf#LA1P8m_LUv9m zf`FPBJA*bN`VQ2rCMWsW=LHW510(RhgID{J)vU=G6x|swfUp3vGe+EPrZmJOBM){; zkPLWD3pN1+-%Z5}XleQ@RX`NwcUu+BcjJMP=R(v+Ujhv#8?B3kNFZaJz^mvv+qDs;gz75PLxE|fDS$z*axkX$?!el(y+HM ztI2yS{B=u;oTT!-RgK}h@vKmJW=*P&j1MFW!iy$TKXsu(CCpuXk;NETEzEn9z3CPn z@JN$D0ICfBZYNodf*QiQ2Fw;D4I61Ll{YH2%!@!4o^c%}fF2yXs_!OyJ92aO01>DP zgulV7<;C*dC|~f1AbY!S&9Bc%Fr~aD zeamPxHldVJ?kA3-+ZAv}DiU#V8g~_e73wEyzMHJJzTx(h&XB8Bfe*v*n`Gw3 ziy9auF$OA8jsaW+HLx zJ)IUJ3RzJ28Er%Si*!H8v#4aUnu?QbGe2{%tfoB4nPs^pRQFMIfq95#v|xOwcW3e- zgzJNtG!3Ch=^{6+c5hDWjq<};O?gXt>cvhX_JLzVKZ*ARQrbMDt=?++wi_ zGS%+w@mH3ACtyh+w7=6QnC%DovakE(ZGj=EKR33 z@c_t|fwlom3bR+JPQy5Z#DS8Jf6@)Bg|U+Y@z@3o*eSiv0hBoSmVC!*=#lv?F{-r4 zM?=no`NzY>~FZN+Lz-+k|0cpMi^RuGG+)&hv5DNKO~6hJ0n zqEgFbS4u-J)XLS~lDiKMSz>23WrVkj)oA!)V>CN*AsA(f6bFrWRx<&t86N<4#-wPE zT`C9Rznk2Wqjf6xcsk@sW>zA4wIa=yiDEGLGFQ*9qlE$EquF2_L&(U;U`(9o^QpU& z&GPRXENw~3JK2gro|Xx-j60xR0wA8r)9j8J%t4Uk_4!v*5d}roJUc%nalh9Wd) z2~a9yDN!+HUNfRjLe1nPRoKb9nnx_?6LN2#RO6OFg2jl?aDb^a(tATmfxbaI%s%Qm zvMy{UgQr%I3CXNtRc_bS}GZ7(bd^XxQ^!mAxx}op_t|_Ze1Q6R^4u5S9~N(_eBI|*4TMGnGB`c7;!p_yj-=5t zlj{i_OcKK8=%2Ev&hkIsd_2~{YDyolp%yQIKgtbaXkZ39Eu1c>?GSWnB_ijBmMd?M zP)~i1<9NF3lt)-ic}x1#mOQ{i=QB$3coh;kw|^1@&kx!i;e*tIY2k$4qsDT{oy>3a z@B+!Gl&e*!LtH|BErPa;Mt7lRO7AkNV;OXb5GA|GgNgNITDt12%aEPSKRI4`q3*8AK)-3P6r*g|MV%Z(>WnK3O3lbZ+`)T~3m!GvhL7$fS9M zaRU@SNrpwB&kBWsAk&SCkVobcsq=4JO=FA_b1CCVPol)iWE_-#m{13P27C{&4@`?P za1wA0ByK@Yc$5Cs!bCx`wypmC#rNu3Ys2}z<6_8{W zr`LqEoOUZUdy`wD>DO?1=se&XR)fuimMvQAC`&T@QWRVQ6XFOLXwva8-UF!D70BOI z*plnp8sF&8Nd~Af!F!ukpLo)P(S=Aw$D6RHtjQP`5=T-UbZc>Q==PBLn^pNY*_-K{ z<`p-qDKn~G4T$it`!HN&I4Kb_D4M(m@Fy9(0v((U0}5k2{U;g5o62fQXKP**d{X(| zsx_2YnQVh0G?ZM^fefj;lHW*60yIv5L_f`gDZ2sxrs5c42vEra7cg|9G#IS77iB4efkx^&KZ5d(7M3u4)fi_mb~$D zt+nEDlqdOo6MO(8OBuOtK$Aw$H10e^2K4>mfg$!q%nU_Sk}EZqOHQ)dx3kapWi{n3 zF*W6u0RLc&0h+jzE;q`CME!gxq)aR%rKID~gMc#B+)3G6v#66j`;Bqhx^lWG)pi6?9JvHv4@229GocOKq%;=DNo7If(W<^iT%7kF(*ubu| zd0U|3GQkYtTI!C}c4=nBfT`J=oaCq3vsQ_JQ{Iv%?jhy^#w8J@CzaxjfqrKLunAEz z%zZk98JuRaQ!yxt%vIcyhs~e)r}HXL(%zi!27pI#6eoamIFbR$u1q3h7eg!=tBqrm zHbx6El7DY15R8}FWv=YS-U1|*U?1=YtAXKh3nOT2OA{^Q@-C6c)E2TclP=P)9P1q`xVdV9$j(4U*#A& zFg`%gnbc=>2ZceVd~f4hl64TUCZn?e*BL4WH5@z|>UtJtd-3&z^AGG#!kv={q29=FW9ScZ(B(I@y?WM0;ZqThC2asAqh4mvL52+xR~HJ z(lDqlGH)6)qK_bk%Dqib;v^|{AhFCyH`vUQ0fPu({OvG+nM%s$Nbit_P=zVT-lG0o zlN~w_XkroMiH0!7{4$UgCqoKA-5CZZ!{Y=bqNu`3#Fnb!5?QU`yyq%(4|$S5u^QST zgo^}p1mVba0=S~%4R=mvs!-}fUIbf7SE<^QtX=nMt9&=*Nxq!y_W^`>3~-adQ5h&Z zQigzZLhmX9IH07|K!_%V{=;_*b4%pCeem&-u|ru+`QCZ~HPBTj>Sh8D+CUb#AUp+z zXW{{v6T-hsNCsERznY5o_UN!CPY9}}+*@56v9g_wS#5%T!a5|^M?cpLa*E()|8svqPgZ`K(4b=eA;eF_N&G=x!r> z!{^ZCOf?Cf3zbgZLlNUc#hv`A*@-!_H>I5%+lE^Ln7~+e#v{S<;u*s*7MV6Ur^ubr z%P0d8D76P{Nf>V`Cs|``uTlK5Ay#WZc?U%qMt9)7Nl?wqcg+B?phrTex$uOTJPosq zPW1pjsbaMOPhT7SV94*5&uadens`h4GKm%FJR++CO@m?L&alH@rzY%@wjZ_c?dkJB z&BJJfxFw_8;c>`-iR7RLnQ8ndND{^;M?xAV#F#d?PLoIE_MPdv{H=HM~X5GXUf=*L8ontjXCHU}CAO+I0no;^8IwoW$xuJ=b8EPo$WKiQ&b0_5_ zUq98f;V4#9W*y79JfxmB8pdfzHe-a-aW_~K=FZpvCeb&vfHNRzXi~*yk=5SqF=~{T z)s)`!#g2GW7GgpP99TkfnP*N(igqZTI{6&b5;_<7Y?gq3Q}NwqPplK=U^S)X8ki~= zp4}w)D<2I{Aa0b_Pl7JowQ$TaCje{!4r;!e>}}cowZD~mfO2nIAR=gROblZcj2B+h zUyK7%#((m$5Q`(Ilu18(6RlTKg&T*wG#JO9B{b09Zln$)}i$xUnh{BRjz zd?Xq|#1myZQ4sa5ERIF(73dO*Epl29f|V z5BQwqI1~JwT++X{Fuq$(GVN<^ykv_?H1q>jW4x5GEFi!^r!|X`XnH0g5vijkiD&`F zD4_|+wtqDh9%taeyQ3s}RpMNeNPT$4Qs4uhN7kH_4P`_rjuEZ{?J@q{C6h)kIE@IS^0A~ziati{7_=c`O*MB?Vy=O6 zZhR@eTX{=?r6zP zl~(yZKpP|T9DwdHhRNJ|8ovRq(Yj%jB`hHe6c=WOi^hlATk_lQyN`(PR=zh6kDl*^ z91RJZg}?_|7fo}x9tuT#F&j#Th}ZBx7Uei$zMI_1f7ULJlD#QcYskY8ZY%#}Ob+Z4 zs|z(RkVDbxlkQWB>_o2V!1jSCD9mbdl6OD355>Ju@9jHQgIf|9*+fMVDi;_Y<`{$q zKQ0LfUysUZdQm1E=Do>kPtJdSI-y*MTkMk)XV{v=QcS0%%wF~b^`LN|!q!8wo$VqrnOwBoMGeoz2LM?qKUH?@jpv_OlxPlj+^*l=zsy#MD68GyE+gSMW;da>mh0T%-z9kk#xPKG+#L z!h4Z2IDIpjpg)*=p?CwvFcz0|l!BapT#m54K)liec2dPjE@{4coK$I*k+}_Un>K$q zsK69p=SVMFBs`(Xl?scSJ0sIwXuW{bsP-gZ?cVx#vC2vx@HeYLD9I#t#KoDUND9u2 zYzb9jJ{K<#-F^tT^mzvSn~FQB8|KIseu>hSY~vZG10JBMFRVX$W3VL>vyw?MuZnUX zm3F(0*KJc3;mLRVW7m7L^o#iE$#(S{Q;wyC~Q^kDY26SA=j= zt>qfnY4;t5G-+wP+wMxf~cUdN5`5C(I9EQ4<4^1q~I+C88h|tG%*j&6fj1uI3}H z!;#^%DFriqjz`YOWjJy&01$R4Gl%HugAYhkklNMEV<%h`->p2!EdDl1SRf-LRP;Mo z3H4|_fZEGU74QsrAoM~A#a%t}wB%6ROTeBX?xajv=gwQ9$}=~ZGA1`eWHp56htsxm zL5RAzq`W${w|{0%c)1FMCJ zg5(9H?Hg8=s~%!+6EQKcIf#WtwgQeAR2f28P+zzS#CE8SW5dL;8v|&lir3xlo7Rs= zmalwotq7s<-Bu0|(Ngk6VpcOs4bb99^R3D7Mj=Kpb`cVWnv;~hefs8%cjdh)eZWOo zjj|%;FPMKc8X+^uEKMV-959cdw{stX6B!j$WVuvW<;r(w4wrg>^1IC=(Sk4r{6fUY zO{5-+1|YbJjl!6O=N8PQNmMB;fs<76-G*hp>z`kvJV_gr8cG?2BVvgyXC0!+OQ5|z7TH-c8!`_rp&=pqWSs}IzOij?rleQ8vLvjaSfa6FJ34oN^ z3xSE+*Zstpk*l9%HKl+1iolP7*Cram{Ss4@YE4!X!(qs_nPldstix=xbV7AkU~ei; zvVFp_aiOEv1sF7bIWk;~{sAdRijF}RRQ{N7$Ht6|9i|^asErw_UVvETm4+YO;!Tz4 zOdlta0;LmNGhigk$lMr8!TuD7^vytc4x_*W0Y%jovP**Wq@G>ga(M5B>* zD(JVWv;4|sTQ?G`tlV1}f+M(a!rmg#p<`cW=JBxzDP7d^1KN4r7(& zPS*eY^J?>><6at@LYGoFW;zc@gfs<=enTd$o@FCM~bO62KBR)blKU$8ChvMahE#6%iOi%+Tg7*Krp&jKLf=UzmxoFe9DTwdAp-$NBEn17#?|1)Fp!nhl~)KxqxMeL zYnE%3TcXSst8u{K6%a2>$hHtO)9r&T#^2d&E^s#doRs-_oTTh+)ajg#Qh!tCZ!wTuka?k!!}p=BTe=p3vt@mV zRy5D^?CpF{fEv|tiT7-!KO`@eH-r!9O(@0$0jk|}79l=JUlYnn z(l*QpD03!6Lut*VlZ0jq|K3#C$!ncr)ltUi59O99J8?s;=47bz=_r@>KBMl@SS+sG8_-73TVm@Dxo34!Ak-!k(n>*5RCa7uIPkgsJxR` zSq+SwY6i6pB5>Nc=?L~~`GeO`@aEgepw$cLf&1+Z2u^Jlp zn0gB6)NC+P6ijKB6wv_!Xx<-++0cubn(RMG6}Dtk@@Hnr7AtE-jyO0soimo0OC*LwITk}Jk2lDY}3Y^OgBbt2Tp{HukzC2}X9dtyx$VGby5$-^&jlG5=*(!ouK zM@D9d%B`Jtby|ciQelJ_B+VA8{o8?ur>`P#3~`dR#tDK!(T&W8jsx`1=|zA%Mkg|i z9Z*Yha@-w0Jwr9FyndzS6DO-FvDeeACeDRK7eY2k0EIY)DoHKH&O}0l7a0>_qMAep zqnhs~cTyYGF`F`ahCGQVhW!5vwLs%@heFvMWlrG>Z|hi{!uBy`B5@o5rD$r$Si` zMNj0Aq?3=v7)IgQWhyniAW8I-nGwWYrCTh(oe8ryImrimzGRe`OKG`2oZzn-VG^xm z0?1Q{S`cY~u#tq@0?-9b8s;=yRR7+>*b;dG)u!})RI< zWkvFaCBWus4Pfd9OogJ=RJ`swcYP4YGY<6vvWSAv9T)j-%9t6HEJZO@M%+Nz$DM

8`QhUcbXG8y$V8d)sxm;pmo#U=9H z=Ds&!vXRx48Py(|xe)&Hz^kH*iZ%g~V1%+@5x^XVy(}GfW`F%d#(sy#f+Q~ac3ZQ# zQWI8Y!p@1rTtJ?JlS3JXWCe#En@Gk;2acO;2Qxz?ODGgLNfmL)s2;y3l7xoXn|2bm z#Luv@q~kr|JfVRsO^U>j(Bt4KLz>}1h-*-@H@TCm-}Qbk9!Gg6_p%zb8XOFbid07t z?t$nhY#FB8364SiFG&=O;I;c#Q{e-yKh$c2WWvhTrcLIS5cPv{VIl1_BM@y7gFySH z*Oh=0%_S&?(6rSd7_v9pu_l`ccS2a@wmE{AAOpaz$lSmzaGY3t*b$^3u%s#Zfi)A| z7R4nh-rI?3iQ7XX^i`%vTmr#W$ilRR(LGC_ikqZ{iwJ&57rTrAc2kg6g<{JK*x=cB zBD9@6$!cVZG~Dp$An=lKz=Fl_GwqaT=SmWFI)Xk(Yk|C5g`IqU;|P~{9HpI{GnLh# z^`XTro!l^W2*)jS{0MoO!94U(A>Kp3n#B_E0V?d|lGSl3p)FS`5D}sV6cP#Yh(O@Q zaUbBnO8G{#ENS~e9){$~9Ec~wd^b7C!LOW(CA|m{;U!L!{s1f$%wc9vGA08@2b2wt z&E#>a#Bg^wNV>`Gs?Zr(?R1BMWuPvGc-@y+4bXsjM&JfkL@y|-Q`azKRFH0fL?8ld zR9#?LszT^xwQaT`WhBB=ez&(@26=+aMTaC%Ja}#rmk&-TZQjze1;R^^36+?!HUX=w z;=6r&$oCdbI>dYHJ6(K$6f%k9=&*niP2T~OdY9;E(Ng7+UQK35Gw9QAOH_QfWq+&; z60r`BUTv?Czrm7+Sw$>I+Zo?Tpn2*x(wv`(s2bwL7;ICr>hD&6$f=r8J3@T7E3Ah4 zD@-8Bi;&hBal~8z;yM&zxhs%F8TU>}iD`zaVlMe^?-+lnNx>$>cYAM!WKt}u|5yPin6?BHjO9m=MJ%(dYc<|#1 zP->*v)kMQ4I=3`$sr3O1Y_-0W$Xw|IOu5`i8VL!sB=aV719*~tRvG*Qh=SpwSVoNu zK8D&`axQkmCSeXJBZZr+2Gs+WH|#B1ko`1NB0NMYsC@&VQ0XwHiypB$9-e%+q0RCl zEg`?#`>$~)`T4YoVCnI0gbCahiVcjDqG5#-rtZRTA=vZpEzEb5)ef!B=`UHn@^yEb z2|k%liVtu>37YJQ7fvxclV(%@$VlP(LSn|G1klhhtBE(A^6qSl)H;;kP4haDLNX~m z;$n!-Ac27v24iHg&|DkZp_yWiM-t6a)p(z{6L`&? zfife|5HFmzJ|@-EiKONvWp9=CHE>h34^e?0`36>*wtui=SXC%4fn!LW5t1^HBv~R; zS_qD)^b~oVFj0_vw@nx4j1gXt5>qhD0_URAhISwUvl*OKs-)n(AT_XN$U2BoP{V^- zsmgN6-l~*4^P)uN%I|i8)rbyYm#`uXR9IY~2gq;p7=X9n4S+p??NM1({ob}e@X7kn z8P&EoB`y(0GA$jn{&Op!rcuyG%nc=K8uSH4qyU(ir0ToLNgmjql+uU2DPO>(w|H+f z0%I(wXcNcc1E7SG?6_%Mk$e#rwme4=DK)o5R&&hXIV$wt+T^h}d^PD4x)6f;==x81$k2L?JBF0K9P6upcoT`(SicR1Lr-9co1A= zLQF>O@J!V1ZD8$bwS*h0yp!+ECZj^%l^L{<2l#q6Sj6=8*}0Tv#-Z~;VMZA3^f?9g z7ABsQJGr%6Qgw;&lpg1?Ian?c7@#T)-&_h`BpuS&L?VYzgAoXLm`Tr3k-~wB_qHoT zcO9}th`m|olI4Rb*a#V!f`eEoz$4)qHvFozn72}C{B5nlX`T9Y9pgt#T!=gE5mlrc$g zz^oLMA;Hm@k^}RWZYHuVQXq8WC{(GrCGy?u&+dv9Z>q#6UwK<9nF#&C^dl}H#3QAb z796_r;pEX_gakcBN6`=Rucjix8}xDRqY^7CUqHKeh=PEdz+FY7P8!j`6hOV0*h`fP zP7t*~s*>xO05sD1ZJa6 zb@ck%+Z0s({T4m*xHxdhIP#xcnRKkRh?Qwa0kV)w)s%PgJ61#Jl6aC< zD!+Uv1PE#0g{~%=*z}8W&cw?6f7IT|DqptEhujq6By$!KmxzOrEQT7GxEu=HFc)Cw z(K-ysg};F@0sBPlNzUs2!2Xnwt94(DEujgYLORJ5%9BJPNbNCvf)pSfEEXV$t;z7u z0P+;Z(Uf8vrwi15*^1_7YWAS@w43r#0)L zKZMxZyrtsbM8nhHq3%xzOz8BYevCFAFd{rQ=}I6{34Avddu!aLsy%cbFmxGvlVS#& zBBSA5Q%mtvHOUV#l+rT~xstAxB6XrL-%Z|I^$ErcVwIIAseM;oKr-{pF&w-#nYBWA zg)%!zYH*)SnXsRz>WEIH|GTMpZv#IXn<0@xh>kQ_O=xNKzM%pDY6sy-T3d-DX4k>&!Cn?`;apk-7 zAd-ZzCEHnzhEFK^v?U{6McXd58-O(MYZ=oaBa}(}5p*l6h^g3HR)>W#p|g&+RuWHQ ztb~6`ueAXh3C@687{M!yI7DYSOK=(?gQ(rx=*3@75L{V#C;P7ABq8UJsPU=zlMxf4 z(1#KQ#SJ$)B1Gt<tInwYDL?75_-^G%wtAnK zOU5t&xYBauZ-XYx69EnoNjwnhLDB$?#;of1_SUvd3tR;b9Mk<|(|pmYB<534p4G27pY8#;c;fhmIT?71&3f z23Zaz54D!-!t=di1i?_AWWROn4QmKQhY^AFO5Fiul;|1MiIx)1QrgRj@QV7V!uSBO zTzL(KZ44bxCVaqqBPoQdiPSgH0XU3Zut|axDOQmN3xY?^SX8AAW4Yu7Oy0a^PUsh~ zht;4;atA>E2|mb)LDvY$NrriPsNE2|f_Xt_QyrNytlr0IMnATi*?=h8Tnl;>Ms*@iS7hg>ywu z01fn{Hk6)GETRKRb!7fg_nODW<0x-Q!iU@v92$8&xFq=vZLaV=D8NC2#m$QPA6rkR z`k*Q@ms|2})$-#)qcf*j4e}!RND@H-MSRqy1Y5xQAb^RKLy~YP;nBm>R{H`xvledY z9P%U=e8g%nWZ+DacF+!n&I9w zP#CrbV8|PzxeovvC>DMr(r$?A5P-o{Ak0&1l^<#O;I&SyrnFoYHcHF|^2tq+rTpnA zn`5)=hfhWmiwC)Ju=79^6y{FK-iEf1svvlYa&I5A8vIWqfFXT8V27ZQF775hc629` z_#@>&b%jb}QHP8QkMq^P9ovPjEsp&Jk3;7OM%V?F5I!$3t4JVGz%&rC(lrBoM^TPR z4Qjrd)bdwdu9=p^-jucchM!`UnLFrL%O!2Xm5PuX(1HgnR@AD2e2JfFXAhvEDr))f zTCN!-dR2b6Pg%|GMlS))7b?xXVUdm|a78FyRI&wQLwyz6mHHg#sripj69hx~-7@}1 z9S0gV4wQRB8z@{V8S@1+O60}lYDNHyNEiTzYNU7Tp$&6WL+-8SXJq-wka8$2Qo#fk z!t_h4g|w;BHcyQaDGUnW&?WreO~svjxBVLp#)RBkKC2;4DsAeVA_4<~## zAx{V1n~E1Oe(LKHJy=cY1BQITYDlJ|eIyOns2PZAF4b9ba6%)A{iw17@FB>d<^{;! z@>)DFM_zY`E|N|7Zk{ns>(Zh{S_n@LIZdISI7F-n!T6Gt$<*vkJWlhb_fM9{T)El?pV$%?_6UZjyd_WM<8f$*lyTbpe58k|A3-?; zTVq@~G(Zpqq$EV$Jg{1rTOzBq`+8i(&{nx&0UihMBFcr3PZ=Qq@(+a!KSxuo2(}~X z0DK}tHq^d=J#C(SKrjVmmj5fO!F_XyE+SJ8F(9aJP06bcB&h2eeh07c6%V3osU zRI<0bCN8^!>V4j3;u5MxC@i7Ny%{1v+<;{XSmiLQiGSOA#a6?{YDy0M|F+`0$?F+d zD+(V;yf3N`sO=Gyh-NjCH#WL8X>%>Yl~wq+rSm+`$}Lgu?cr_M62Gzm9u6Fou0>J4 z7m*-(JcNozLIRzIoLm)(Ew?1Q<#X4cXEo(}({1N9VCDRp%{wzE2#*HE0ZqN zST6Z)UssIGZXNQw^v zA-|jDOTHVKC(sk-pJq(P?=a68$^}sal@_T<2(%%FM(qpudfQZ^#L7ym{4c8^qX2FV zl8hI_(@9efEi3tY$%{8lOo*Oc_`PTF}QRbqD0}U=x5Q&?ig{MAd5Yx-Yz}e?YQD zB~M|+9&QO}1uCTU&Dxol4CxOKCn||l9J!U$QOOzw4^ry`rZufKUYK#py}9;EZVC-Z zbgJPEW4EANpo&2NnM8_Aj}u`nN6HgW^8#dV%NuO16d<<^E$+0JKRD@d8Haal-YH5EplCsj$jz z;-}6IjTk=s75)w43UUz)?*oaU9h1Nd%aTc96E>yjF)_^&z$9=>!n|(T+ZR>VB!%`k z+5@th$d)4r!3)Ds!G@!13z>%Yb?L^;0OFRGS5;Yu*piszYZD|}RDQP~Sd9Q7nf%Ew z)kttmeGy78?;3>>#N)U#NWswY7l;&8*vTRFXEX?1fu8a;-V~-VTtA>6`q2OoI8fdh z$s!=4$Ozf&B#S7Vt9=2LR{07f=2FI!j)UZHGPei0C+)y;La(KaPiGvMiJHC1 zYJXais|p&bTGCkwV8_KUcGa+*{PQlADTd zBI5CWJTJRou&VQ^Ai!9Gfg z47()|DTG-~?&P-YV}A=*O?fB3VKuy%1+;{VFN94C68os!K*B?3fg%XoA`z#(T~*#K zcXITT6^96hr_4Iu_>R57c%T)Mk`aRh_)JK#LZcDPl{lS32gP^Xohe|IRouyQ1A4cT z3bb->?Y`%ALmU(JGyo_Bl}Xu9c;dn{w*Z2sm8#f3kxHzQMZscBGlh7(G} zfLa&2XKvg$F%eCFGSUUQwEs?qSxsKR?(S#reT=;+@1*NTZV7YM84HU-H7!3(u0&N? zv|zBCnMgb%A&s|T6m%fMQ*kG?JFXW*h!jpSrD+A!aY-)2!SA0(GDaee&GR9QG!^kDxQ?pdbawqir7iz zNv0i@NCA!^;WC9ILFK6^VvVgd>oU0mgqfhl-|(k83Ud6?vx!vKl@VU0V?^ds%L7ip z%}FCGbrky1Fk0xsNarWNL?~=Uxv7dK4eBIx(+W(>K&cl5ltN-zzBU8pm zrVPmk8Dj6VXG3JlJPQXodo(69ndf;PkB~wLnI&W@No1Z==2RrZhm7%iJm2r#?~m{O z{$B6<>*|Wbb?vq9`*q*zUhBD@>$wOW5vLH7r`t_Wfb@wlK;)K@UZD$W1C(w$sxzut z?*8#k11+sx@Urh_K0%MtgP$xMfhLoq(=bfYLE0avfvCR%!H%VL<-r-13#Jh?L>H`SKj}x{3H}PD11oYRCJUuMPEjcMkhl1x`B6!5x!%M zpNzHb=Ure*Yc|U_UklDfnIdrknw5G{w|2fkXkKQkrtZOw>1H>EsAg^XZu>m_+t+leQ)gk&^eg=0HV8b>{R391@w(T zo6@ynUYvp}g@*fzDYTKbF8<**9pv^cfvJF*%(M*-( zTwDiPQ0;fyZ@+scCoU=P+k3204us!{k<~5L0LUQ?ic=gAjWS{dJ#c1MqB%CKwYhJJ zxenTRlV$V1m3hEVU$>Ja6!bX+;LVO~iF`OQbRpFX>eNzlCYSxwmR}5l zQF22!e?x=^BGk!>%HBh6X0Rb~Ot=ccTrwxW2SdSWI-6&*&3B8nb3gp(2`}#m7>Td_D4uuY7=^p%qQDNxp81XiTb~ll{VILyLY;A?u&L~tvn@{vKGuB4VkX9 zQF01X$50DK{O*~YE^k!|tx6W{V>r=Ado3akgXFYfL}i z!}vDYlu#;0@pwkn=9FY@tL*fT!`ExMw#EMCOp;T!Ra9Uwkz{Q{8PDUC(rQ%8_dPjG zMD6C zz?3PU-O#~WnROifmIx1K&Q~hm>;3e?iCA@OQDlL1iMPA~V@NLJ6A;^E9kKSC^)}o* zXR@?5@7vBKx2Vb|*uujwFqv!vaLe@*8&Q}II|$3Lr%DANr)1OfE_r-?*2+xyX4VJ_ zN;tfw;84vsey{{MNk>S<(U11@SzL7mdi(Xy*zN$<${R5DPTl}WiDw#;Ex0o!Gde-a zjaXNb8zbP25qG(p)+(}&NmCE{MQfyYwRf#egaw|Vxau^h0z~SJGaDu=NM^x-(Nsn4 ztjbU327JHs`CVFP9iOl!NA$?xr5Ts!u$V0bz4qF9%?bX6H2^jgN7uXov3BTJr`(yU zQMr@1{x1%O8VaJCgu7px=_C~~?vXc%l2)dM;O|I1daF>iSexOUMaF`?mezKE&zbCT z&ZXJJh_Ht%187T;ZN)x;&`P9F1bD7H>Ih)EYGB4cyn(}ANWj7Jt!x*n!R z!7{2aysT}NWw%-C2Q7DU>kq_}e0@gx8W)>BJA4wM7Dxz$qPbQDDGNi}uZa}0wljBK za*tJ5D`VwlKD3iYmgy*^&rA6psDS0?xl>^5Qz-@(B3r=>$Ms7pPRXWY^FEmBLzyi; z#9Abj(+dEMfvXLUATJaBh9{#!4My&d5}D__dEY8d$ybiL_MxGcJ9)}SGAdcM*g(aU zH<1h&IT2NT6BD$H>6}R~obJWyoqTfd*LKU>UFO}Je(c5J5@99-*qIt{^wb6p!ji_M z^lPZIqih1Ds&M6;lG(Po@R!T8R=xofKH-%|Jfm92<)qzcn%HUzU>VHd?Iz0|Ats@D zJz_Y|?H%j3=1-o_8izq4QJbzXR+=GKOS2t`gH9-er2_UEV>B9Pvdt;Une2OUosYI` zxwbVv^#+*yN$N}wKwMbBdMIq1Bo3Y@br25JgWTKvZf)X{SX*({ky(>>mp9;Z*3t|t z2OakFVRcSue6*UPG`~+QHfmqNZsU`^+N>?#ZT~g)Kdp6y_v`<71L)=G?>42Suz~A_^YF)ghd#P7v)B z5`c8os*$Hzzj^(K-)61!lM8-sCoRK>L;4r88sU%bhjd`uNS&H;$A~;B=EtUgIDWD`lV6`WaROddo@k2SJrV(T zEmBet#LREiKgM~IxB(y5uInF~0a~c;9K$W*9@RSFHinFKHKU-4om_OaE4~sVV7(KvW(~6p)}oGTSXMK*DBlWkvdL!N^Y8NB89s2AG2q;E(R*-9Jy+Y z_s_f&TdNp{$}oN~2r0XdWJeEQTvhgw^SU@S1h#0iRs)YEAYt7M|eM3GT+E{l?>Mrql2mr;R2Rc;z< z>&`#JNBg$4_8Dv5Yh5w&ZK(iEExbSAuCZ^O5<46~v?0Lkc>S%-cZ;=8*I)bmU0Ygv z8axCs=m>Ve&CAmQzxvVgL~2h-rh;kbO|OoXuiJLnz8zRAJ=bNDWBP5wVej^1k>KYv zoHRlbFu5`63uSJEI^?(tK*ei1>5?a32tHXxLA(0}`nC0`!jesw(GP`N;)(Ix>1+ke z5HXR4^r!$fPDz`1GH3GPMMtOGhqdwseBHl7ptqN97*dr=N@NtGyPBQ^1voQEfi=hk zRfu8Z4fx)Nd#}t|=}SIl4MUzXosQB}G-wUL7GwerzqCK9v-XyTZ=H%;PRUbu4$rhb zYvm0%&o6)&7Trf}x|As}&N(U}q#`XX3~#nrGh^(>W92qyGHVQ z-*_~-NxH%T7d*(Pgbd>oe%qYMSo_82XRH#0zWi=avPSv~#l-8TIGULZ9#&d>z8yIS zCpE=QVe_~yb{jvL@Akw!+sqX|S)!q*dKSX)*7hJm2%<*xf(J%|;5&sUCTgTdEftr> z4XF5TJwIRQ@!WuNC)WqsV-0v_fC~COvCYx)=#`R85s`aQsnQrTG2*qW@yglBi4XmG z)nV4kQ?eKkG25mHtky6B1X5!GYE!%cRXQrPMI!brP-?EN%}&PJ9)}z{-}hRs?RC~X zGnuuhu1BhhNdh;MP#ER=q-W+YAX&W4H@ zIc`KGPY|B1coMO_*4nN!Ui@h)ndNso+=VBckOEawMt1t3%(!XMnu$hfDye3grLnxm zTH{RazT?EOBEB;5|J06NkesyYXoQieMO%qH)sI+L-s-eC{T z9SpCGCm(0c>}695aLD@9nvE$i+RIR8G)=9^nRkIMVd>-il8QIr*(IL6F;$~-Cr`Ir zd4(ukn+S%2DwV4Tbfv6A{z+|}5T(X-mCov&{MVk(d}V*uO0T@_+{ptFSbQo_Yn~eA zU~Lw%Hpx`RctD6;?yQ>Y?*nXt$1{ zVx87stnIMIlgB46Dc5!fYay*r!X{ZB<}S|$KlpYJ;<*88;R&5sqj&ls#oRX|<{&oL+L^7(9cMSU=W zutXe*#STht$d@Rdf~7Ri02rz;^Q`TbTTi_>m6ft;^jp@@frwlxdVvtM;?S~^GIpv9 z^Jnt5j766Ojd!=USzD~lzv8kB2k9;E+t30$7sb#%ntpn-0KN!$Gyr(64g$`jB-Ay` zcwwpfG`?FKYuU+{7u};T=uEkjy$d=en#9y^R98$`34q`@Mi^DevC-Hq=KyTfby{R? ztGxE=I(;qI_Ikq_QJ}6NuwW(%!F;jdsMe`T6B(34O2_p8)hYUCZL96|(@RtBE2E$z z7HaGy*sLQV0^N;Hecs%qX$d|XN(BBS1&Q#JYHz?r|2*$IE3#JllHP?UPB2ssMMi86 zSB{QU^4>gjgi~-^8l=%K)TFBJpX}s*N4&p&>NusfCs>Q<4A%r_g`;U-7pn@D8gs-{Xq!TbvJBaw;MX1e!2OUrMnM9spk2)eI z_3KAy>|~qhHEX-~+=G6cc(U}9t1eSU97Crnb+5e2~X?bO`tMJj8cE|7&yxz;*gN-YFv5f^x1B2T{YTa(ZrJiA5>aR zrfTZ+Hrqn)yxV#wSNtEbGO-5CZ&gctP0k7tNr(Vb z%Vhw!q1F?`tmi4*eAz_}KUpGA6Be6DITz4M@krG{P$#<>P7Ir6B-$Ajy=@Q&WWLdYgrkH7+K8?$WAWx+EH5s zdo8{4Ig87Ly=anOig*r&Tv&!rpCx&Ihk}RNpWJ}HRn^-aYe(&H=YK|9u5HUDtj!V7 z8>8F+towfAl3 zozFg{b@gHLQf>eeyKqt%CkjsvVD^a-IVc0l?L@gvFq8SzWy0CXrOuo8vz@K2j7z3j z+9{!7YdT=W;U(WVCS!on9&PIp(nSRX@HwaBvn1QZC9yVn$%FR`f>FM253@$(%sdH` z2U$?NL^C%UP;LxjpjQf{Z_MkcJ57N?jWbp&LRJ~10lJ`ogjMFo zi^7`stzsunpZ7bT?%vYcY|DDP72G6JBnA|<5wJUT{_rXiNSqzyh4h&xH>g=#e97ml z{QKjbSSxS9ORPB!woQ2yAWwfDMrl(uVQS??uhPWQSaD}n9Vga4K4HftTUSIA^4<14{hJ%FVQpoOvu%f+Br2E@N_wfV zf&^PsL_v0LVdM*mojEgJ+3H%yzMsswbnaW}C#UUnCNs2&vvS%|T@^TtVVFeFO{S%c z5BW8;1ChAOmt<|rY`@XmL7qxK`6z1|i$;`8foZ}K!4O$P!$(Z36ac}UAST0v&gx#% zSo`w%yKcA*Yvp}AZIZRYs;Q%N&}*ajib2o_Lr7Iieh8vs(-=f&KWoqAEoXfDhpkby z4Z9L^5mwU>1{YUQA)*;-YA4vj=wy{)As;7WCT_!8MTEE01@|5jUs6U2vv-TkCAwh@ zC>PO+0HSfxc9#~n$WD1!0;Dr@s9B|LV=X)RmrK5XXYN~hChulVQQLf<4t<#&eaN&r zRg^v8uQEu`g2J?7j$v@szNGV*!*5SqQoaEv^|)_pMQ}+>RPhLe3*BkZzznrU235ix zAk>-hew+%=wZ#0F&i;MY$}_n^FT8|Edn6jg2A$zYM1~mEkU)&7%+aSqn&UE?Ypd|e z$GyAz;mL8zom{Zb+B~C*ePsP3(4K+^EiizPBVw)$(KtkGk$N+KYqPd^t{YaE>)6Sx zm8awh*0kk{ishu_E%oFl5`tM1+{6wgSeGs*Ri*LS;^pi6$4-4YvjW^AVYp}f5R_nkekP(aj2e22+tL>Jb z*1iD;-n#7GSzGD3?q)5u8x(zte*$t+vsicb6b-wNU(q@51=0mq#~ur(ci*4f`*zM` z$>}|A1=b`S8gghLp)JbOR29v~-A77i|3-Z;To$>rHx6Ek&=Rn91IGI=U$-G zNE^q|&^Ffc-L}}~>u=@7DR=T4D|_EOUrb3jG^RwDTF1YPgX}6Jk{^XCHHnU@=rwEm z<8~)L6&6zIx&9Pu>L*0nK)PN5Nig9t1o~*?=`Jec&^(%KmX3XT3S1E zmAp8DIBGKxR|@+Y6(I~X{4?x9#RxN1TVq;TYJ5p{@`ZzD*(u0ViS+LDZPvUgnTsH` zmz4^TQ6?2_!&7$ejj1x+5zV*iHO)@W`szZjrn+A453y?Z_Vkwk2Tb1)53`gDlPiq+H~EtZb#CDC@@g+9Nlr_%1dqT zTXyoHv!~vlQ&RfLb60cUdK-;R$Q_~9s(855x`i!@np#2<&$0!%p%{ zneh;KknhL$#*g42WjxV1bHiPE{HKPsHn%(0e)aKfUu?~ve2F!KD|FLQ-4^Xf@q%7D z=h3g{Xi)vesATm0$Pm|BTYiQa<_gYL`pL7_^xd?#p)QWVC!zjXm_P(}5hWe;d3-V~ z7a3lSwVaZJcRGFgRM*QFXUp&8cH2ahc@h``klxH$&s4O?x4CZ8D$hAFjApFd=9Dx% z*G2d28OBF>-xgfUP6Duz%QSlUpoHltF*NC zBx~HgW0I*&5DTFyIlPRjLN!8#HRUET7 zB^vru(kzTnGJ@f&V+M=fh$?l7+O^%b=5KBZgSfl_ORp1OA`lVOY2wrI3_nwE$jqD$ z`J5n=ViAT5{#eZ^$#{IC3>I}8UzHPCO- zd~w>`x5Qj?|N718lH-&y*M;lKs3aF6IX6pD&vZbw4a39HHwjreDH#fCZ^!F6ZDOui z+jij#mS}Bl%6dE(QWFtbv}o~3j-|d8xEk(eCak)Bz!@dm=9z3`Ej#(!HMe+YinW!e zWRdlQs`)yE3`i@xZ5UjU!Rw}H&Sgr+ZlmZazVZEdH*xuQi z8xTLa!v-797_VH$C5vukZ9Y*3axef+pfG@H?ogPsXpbQoXy3{@T}`~CO>P=%?@wBP z{_yZhYp<~uBzH(|Auu7LrUGmVm5Px}pKhZdPZH1pbExLd9JlEstAvGAvd6C3SUfqX z@j(Pf(^7$o+!GxgpUO;Vagj^zz-lR}L)CKM=D6_pe@>06yxqra;=75rq{7PRzyopz z(g8o54cx*oUMW9$(g&Jvcg20X<&JwdPZU(1l65x?LQnNnoIi@y(WRX!vJq14Aj(QA zlx|ePd-0!YPst0@&wWUGY0Dch-DWc3bm4%S`e_D9OEdoyR|d|7H>}G;-F>J-?XenF zJGbX+N4DJ3L&W515_Z!~{UwBf5lRuBOr0)>I)(9A`{$3|yf#(Z(sOlx*V;Ns9E|Fy z?a=@sH%+&vh6nXVNr=+{r0>^C+l;v?-tMdJTXxSdh)ZkFvW6rO$B4touFhbrP{X0P zW5wDbF$rI-NYz)(!`tnR4|;M+$_VfHE!;QtS@Z0CC89?WBvxprX{8xi;mBP?hy^c? zXH;!o)A*8^#%?)+D*1|IAmhG7K6qhW%Qrz<*0ou?6@K#1 zcUsrq-eJv0az>1nkW0xgG!~KTBCM0HT{c||D3@^%wP$jb2cFt1x4YcQo44YXY0Xf* z6ZP~OJ59*kxGTv(`eQVmO8TQAt=*%>T6XfVJI;DGezLsXyHDnobx#FG^Z#`FCy{S< z4mFq)h=c`+gK#pCaGPtZc;DXHYt8F(Cd;+0y|p|5#gH@+q8|i?S4`q7@`(^vqWA6ta`2 zZv4c*6PJ`{@>kn9lX%?Cc(&Xn1p-W?a78JhLn@fAY7|bKSz4x{9)T2DfH*n8tCqk6e{Z zN>f2yF%|c(yZHuG_{nRQUgu}6-++U+i&xgkmrPN(04CAjO+^iBM$-)O=wUky=)y;; zy>D+H+BudesQhjNQ=Cb|K$K${Qj?XZ0xsM(@Dq|6>;%7rVA1HfSFZSO%YHg_zQmJd z6g15sYY1CX84jv9L-bq#k)BW-6}v$}&-jUm1vl2#Cc`g@77G6U$Pc01B@Bu zBNTc`6xP5PzX@8voy1H9bLIJ|&I5LQ?3Agw0p;7h|B$u0Uf5!&hJ&ax8D6Zc3ECZ@ zg%qtW_g;7HxCU{>i}S6Sc3w5?=n@O+9JV&pj=sdp7$0fIQ6R?FH-7=MFv9nGB0PL` zvk`LN?%wZ+zor6Ro{~>llgzl!GGT)prH%4aJqV(rQ3I#x4S;U6Cj&2QZ})^Z=l!2m zSu5*rSB-da9CW^ytO7PW?3KD^X1*IhlDc#zbdFF`?`XaOZB9vI<-M1<D`Vx2 zM$;wfx%71~5~xQfKu6EVyt9`YPZjxnM(An7h1F0|IHe16Jm)z4v?;T z8+8w=>5x&`u@+)9JTSV{wfUM>_>y}s`Nff0TX`n$9^;iIh#pS7C#CHu-gD5hZv`CL zP4H%th8j?-BJ=Fzz4OerWtckUPHw+FYXXgG9TF)Jn(RQ^OQGE zNySdiz2(4ld$U%)rnB$BPhyLaNbGd}P5;5hh|E3JYI4VbA#yF)%h6A%^^>a%uK7ly zpz;R1#u^=7hap^VY*%zcZBxQa<&PdzV%d)eDa)uqq(3Ht*TPK$u zp*pRtK^D+JxV2sy%iz6QuYA;N2kf1lEML_<4b##+wgh0|=ZQ}D_1l)MsaD0rDL zG$=G6hvEDov=ER`l*4TA6`2G?sf!e{lihnh@_(6DaK*0PH!1)M_@G@n#EvAagoK&JMyDWJ?$%@$R2QWMUD0bC=3ZGUSY*4)pY=eWuDr0&<$4q^c zAk^G|?Bt;r{%fA(rll`gWViSd4g&!dSwKkO%-~+T5Htb!e&g8mqj6&6+|Y{Kz5056 z7be0hzuUvCMe&!v68K2D{ZE}6TrTT|UgLToewaH--?nyb*S-Jg-C=x`Yn!^e?*^%( zILTdf7_7)YYPWC!LQumR0Hjm0MRu>w-}d|GWxE71EZ?`y_DHs9Q4L)P0m%sQAQ6fz z3-Z($yrnq}SqH$~SX;&IzNu^T&!(_e`jUC}WG$23(_A6+_cu<8u7WFV`ViS0yjL?x zBKluzZE*fYZ%ZAgwDv4(L*3vd5E?QL#psZBLWGNuy7n~GZw&$&cTtrs=I#Fdrc)ni zjnJRA7Y>H`nDPy`46;mKCqptLG%%!(L>Yo-F$m6QZLF>0?cQdekAB*k)4R#u-Zv5{ zhQ-2M>0qQwEJS5tt9RR$gQZ9t6hP4VmdD}FvH;|`tCqHJbgPNcsA|(JlXk#d2 zJ*NF&3gBzPp0t_cHhL4P>o}Lsu-($(PnOoM+{gQ-)klk>Plv{Z!jkD7nePspr=`VX zhs?z@*PfE$Uo3xd-tO`SY_e|{jbN<679~ZH*s1txK%y)?lzCN6^*-^U`LPNqD zXR^)OvXjs5_}D)ZbCuES2?w~{LRPOciE+(L8RSA|z;9qZQ8)zZ5tBAjrYc*^PJX__ zRdcV?@=SId=#(f8k?qX5U6nm#LX_HWYJakhUZR&cdMf>t8f)*{ed}IvVp#3v+WyR1 zkV!{SDL|fWg5;37TFUvnG?%8^4qL~p?YfCIS=(%f9lm1gSo!LMcrM;}ES`!uK|}_iuvkfk zBw%Q0s>M#K@ya9gDaUwZpkON7Ni8v7vA#;?WGL5-G) zXz)h4f*dNf0~cyNu9VJy%Y!7hPwRbl42Z)d-I|C774 zJd^)(3}1rD5)E^O`^b3)z3{YVP9|5aT;^N?*XrtTIVEpza^-!&xyrZuUDi-?qHB=8 zZb?mM=IMQqrD8g{0m3KQ_`lC2cVCtZkzs7N43MP$Kj{KGA)XuffPM5&8yH z95m;5tLQ`K@ucNC5*+nLYB7zSY-26=?eZ_}I@UVt*ySW^qlT)`Ck_!vibd$ek)K!Z z0GN#E5!Q^RHddc^FLBalE49w3zHzeXRXE~t@yekS;=js&({jS8XTF1I4-YN&#*PYlbRN_4|33^b|?@tJk(#E2R!)JMn@*gFVEze zr^pulJY!7NQ1Hr8f(Y(unW5u=31xyznC^I+bv%Wfl500Q@ZP-LWfZjescwL?;d?1S zaLtH@eL5v^xyb1d=^`vGRN*TJn_jt%=gLmrxZBVdc5b;iwKxhkmbgPlbD*P$E-+8yK6r>GsjZ1ww%cwezxy~V6P?8dpB!>pvI^z0ymfz zD1Jh6Uc_t1hnce|n?kc6pGnxpbH&;-FRuLOJy|R7+Yioi1I#(h1SM|Y`kWIY9L~Hj zGq{DT27lG(+T6*C8*ur|vv1ZqE?NC-)|3^EZwW{uo_mev(n5s+&q(QzFSVo=fAz;dx>7lw|nDrd1a3nE`mo+a5CJl zhgO3mXa?<-mdQxyw??FmSH#+^Exu&c4K7+c$W!^DSgSWSZMtz(ODe_u8Q5h^m7c%%EtT$u{3DnE4V1 zAGcKaTxGrc%jb(;h5KRcrU)^taOt>Ul|-`9m>xt?zlX`V1I-)I1~bpvrrh|&O{cI{ zo{~pd!w8Doz?H}M!)i=mnJE{VAZXuc?2FJ1z^k#gic|9No3q@%3Tx$eJL3XKuUdeR zgvvNd3!Pq?U`BX*4lu2TNq@L}<~5H;cx_(O?Br9|pL9vob9 zevT7M2_oCr$u?_?wKv|M@=j{`rL|vO2ro&`PXb&%#^Ll6ZKg6epNA7zT2V`&-@^D zoEaznpZb#<{xrEMmm7*QxGgPw_=FF(i;iJ=CO=?J ztzIrXm^e>M1vEjPsMF3GA-!RWhB1LjS@Yepwx7*0^@89f}( zK(Ut`n1Hh?3d)&0q3hJMTleM9dP!~oGN`#>{rc3&9*0aH))5}ma6Cx_IS`b_t+lxU z@m%+=J$S&{cCz$be_+kjR#CDJ5{lFed0QDsL$vA7a;fyzTHH7~Q{lNbojSC6Fop8I z?e#NxKwfTaIF1)+(Fdp3Fo1pJj_b$lmG+q5r*Eb4-P**;S=;t^pL;{lnKCX};!-;~ zV!8>xi11A|4!cPn1?Ck#(@ccTcu12mHa%Cx+ICvy-QV=HR^EWmSOWv;msQ|U7K;!C zo{2|P)tOAoa5foLn?h?fzvSx|Kl%IC5#H3xcx6F3GMuq&_yS^aTdMxtLD<|Z+_cpi z;O)RRZ$O)!%$b~c&5m!ij!V|L+$jNL!P6)oY2jrJ+c3jUv^gnzNVhUqUiG_)Pqwj^ z?>6x7>pl$+uk@3jum(7Yq==t7NfMlC_WBsT1}?NL)kGx{`~Uy+;x>^&*7oT8w{F)u z3cB~_Ig{GLI{0A3TbCuRsyi#P&8D_4W@LS+RU0M1V zm2oP3;VeU;QiYyWg z+*fy54E=P2F!YO zVlFzzP1A@*Y+hwGLXH<7Jd7?40i7DA4 zW9X+M4^Z<4#M-@@?OMO4-?}z6;RIdj9#PoVBguJ<_InEysAR1oq7F1X(OAveawex) zZOSx>Ugs!cu8&z8RUGQYH&SgQIvkQMELjOmXd;yZis~wt(lu{D#fvj~?sa=43MzN< zrt9PZDdBt1=tgV)@7Grm?UcyS0}BoQA?$B5`bZVWFgtn6rT2d&8pNfw{jL|`fhTEz zL9#mmuj&3YBr4QYBo_@`)&>gl=G1(*_>u=UIOO@9$70QQp?^qZ3=3vcX%_ zXGWWtc||-qvftnT9c!iM+V@7cJC#acE;fP!hYAPXZ9I%L;K_b)B!Z$Ve$?z_&gAI1 zTOPbGYh@I)+)assG61Im*aeH%PU~Fi2trQKJ7$~RZpK z*5O7Ap_*8fTKYk+J27S_j4sVXuBeU4yPrX&&Ej!tN z$q9c8Ix|<{C-1w(DN!@>$&iL2PN&ehAXR}u6C9dfFSpX=I!GQxDYy{a2p)}Y_UgD~w*F1e zYmGcDeuoH84uI!PiVNdBawT05SB){q*^VRhLie4?uGJaUe2;yyTxuP&6gS`{)}(8B z#Pp1yS>gWxl{2mwxzQy+=@I}bf^=6$LGSH(at)21qWfWM-(id z##*8dB=STMY29yl<%;ii`R7NUI;G_)S@AAs5=?^aBm{wB@WRHBsCdY&G7iXa8Souv zHh$mQSj*e}e=Pu7$8R0Ga+gJ-N zP6LhtjyW<^da+uNGyx2Hk@Z2Kw5t$T;apkU%nRRoK<-=VmG5Uw;zT7>Sx?WuPD16x zQ9N&-gNJ{UGooutVSev}hpYCtX_&DkwZ+C~Hke^MyN_!&uq+mhpuYU`& zmR4S^B^ja9uvU>R{%NKk{%`9XXYJp4yIrVZ1LjnS_z=NXdNDKo-0%Vwfkw}k!fKW0 z%G$oR^p{siPiC1dzRj9D=EWw?OVC4d6Fw^4ZJ4j4uUbVcXlOKZL2K3)YZtzH__D2| zpfm4v12Q+pV0Yrcf&(O2)@fjbBPyg-_fA{1SGCsK$J=$y8!V`dUN`=|?&} zeI%s=)e?uBV5Y4K2}y&1EtVhDoRZvtyD#c`Bh0w+1}t!&OjwB&sNB%qgVdumlAOui zCa)hAt;lC-|7lul~tyr|x%n!{7+QqfHAT9c^2Lr>AF=DTHWGwgB0 zhKXLwNa6eUd*84NMUc37^c3LP$uh!x%A`9(i}^F?FG22xwThiQ>aBw>Y8@#o`heUN zgoehO0*(?^I-<2dFfVL9346T)1t(fG;Oou|ZFxs%5~%yYpiIAa*L z@ZZ5i!y6RU31$_7wZUZ?%CI-K_DtTq_O1K3Rv6#(kznTi=I@BQ)K}zcMt7j8sRx6g z42>f6XMc$iG^5vwQ*!jpbDW&IX?Z5U{HWV4pAvIv^HKO}^rB_XyF&x7R3K1$188fY ztXxLj z5P1YfIJU$Je4Y*jNh`W$2Z^b%@#wW8F8SideH-TOE_ZT{C+sB8p(v(1s}u1;8=7}I zszKquT4SVAsM3u0n^v5X=Po|ydr?m>tv$q=mm6sj5{jorr4dpCHpDX_x@ zG5)3IyTwngwZcxHw2rwhc#`LGneaWlVrh~wdo4govN z%+^uR>QBi!IDd7vEQLS`@0z{A+gIgwwX6f~^0iC(j|jr*3{t+m$Q#HW+L zL2?a8Wy|yB@uz49LmvDS2CZN)c2=E=B2gmo=FrG+K(&)w`s`bN@so;<_c3npiVRGX?bFm z)tr*tw`bNl`Lg|4E3=M8pJmOECjF+6Q_z`y z&_Oz96OB;yPzG~ke83^40fC;I-=l@Nb|-&!&qp^$Q>XNk8$4$x(ILngbigFx@kIS& z2W=otK?WXWtRA)7f#xY`KzFNF7;^sE~2w(3^#B_%rZC~Gn|jR6E^Xj2;minWkxaOT)6NdV6!i^AIRSz8s~ zZPSkHXCGy)^ppGjB^Br(Xi3v#y`V!#3{gYM&L$e+DoA>~sMNX|YinaIJGs;J8*keB zeOvi?XR;&7Om36`a5SqkUt%PQxA(^ACgTZkXv%j#OkCRgn9SXdF|nY{W1rzC)kUei7~A$ZO&xw+pgDNw0n@=^1DrW(QBFqAb3o=EJ7FtWy|5@AttiR;soV%E5?0E zo9`BD|M~N7>$i@%7J5lsqKSjdeTHJn1u{GX9~FeBjRfTicT;W7n6#>RGC0@dU4{=1 zU%5opUSSP`mpZ6t4gEn!q0R(yI{gaVJzhBdGJXZPZ+%7Vxy@c#zV%LC_p(zG-mu9o zB9ROyaMM%+I)@eIfI%W5-_g{xaW$}to!s%$_veY{DsT4>Uh&-8AnrfZRHe$M~-?kGNjfgy>O+ zQF$N7f-27BEw69%*VcLWtE}Pw$eZ-F5+V`WshVcP6@WjCts1A4lge5`)Sd(lHvmSB-)Eie`Y7+%zCuf|tZ_aq-vOi$m z*F<>HpulBBq|YQ=BdL5Uv3e)!hj3j27gkVb)!Q9w$31iDjA6BxzT{ojP}DRA*hUFH zEjr2&ded?ZLdWRyxB~f*<*M-5==igYv8Wz09*OP41v5vAMOgD#6Rje<) z2|!DTV$FApFZt5z7haOrv^}wsW&as`l+>ONCPi$mQvOxf>Ch;4qd9_*m$n; zc7O48@0)AJ|I=ZONUxX zb!z6+}84JFD`YV4j>Rigo8#h`0`ftnkT_wDF^ z>@={loh%t253(j!#50G8Dp9#_%YV$=7{N4H-w=Zcm@|JEHB1|4su^;A|_Aw}W)lSCRmnR&zU0&1D+8QDU;*Hk54=caJ8i_Wk0CoaSiBc`mKa5FlxkpWkqtj18iFS6)naoapxX!ta z{Wc5`~GtV(<<6(tDgYcsfXxz7Y zPVZtTy!C17Z{^xvVT~p##&u+f9g}D-Ii$pbNGRy9P=7NcG`iT;?C1lRKlZy}G?p>f zG4Fd#@g-rrhGO;`0EF*n0;wi6V1jXe8S&_}2#u;T;oP^5t+v@W^|$ivUhUs`18Ds9 zpg_aPQ%pBWkK(KDiXM}O(Bxo6f|c=poHp-UzT4OSbJZrTbDY^ez(R@wUUaM^IEgC} zq7@r5E;h=!It0Am7>HG#D{FiBd%OR!HTL>AYyCP{qjU`Rp?Zv<=3LS}Ru1b^3dXv^ zofMQ+`;wy*iv;Qz`&GLPl`(s(h zC@j~h7!es`yizTpOWKE$s+xo?9UTHR#J*;P*CwON+r3%Wp3jEOQoh}HuqH**Q6YzN z7HKePUzY@@S=}4~tvNtvB_3y|v9^l0d(G9(*(y4{<=S@sL_9edm1AOD+9mmY(yLM_ zJ=iIMW3i=IIm2A5(3#wTpRRe;TYapRzGRM1b4paa^i{)xgalAu#8CJNN=up_RN$yV z0&bdXYqOI%CD$H%P?d4l)hw_|3EPMrDtYNLwWJzx<(AkL335DO`Cw)G@WI|kMT-o8*ACgw^w@S zy?Czj4e0nxtV~!Sf|e0M?KUh%gMgx&DzS+cKv_{GP87Ckp=&+Qu1S-|6h%@F~wxNky-hj;}PBQ@&jfXNL%E&|iAe?g^)7=Ej)?AYQZZy$x zou@W8Ag5%{rEfjGbw}EQ(@bOHsFSC?TbOEKthOy0Qel)4kV8dvRP~zzpPHyzg|!=R z8=9+iW#tjpL_2B9Qk~Utq;FhZQza*2?YdAg9c7K`xZ|o)6=!m`>(4qM(QA3%_W!~( z6d|Q(n)xV>k)Z_G0Wc3JQYhE<7Hj%(usx)uDv5f%smUrF zNm1qbLOlX@rOH84d?UW_V6h~}BZpn(`awYifOXY%D6e*bc7T=}jUr}1a5 zz-~YLerrE@_sl$(5(>vC6*Z13vKz7~WoXHj-9;-9NaV$$AiEcOPpj zeaSgrW=%&2eHo%l&IEdglZYFEPk=3o?&SKJ$K#;Xezz?Ops+nqGbib7DIZ2!< z2!>OtLlSml5?po6^`G0fJb1sBJ9!^#Xh0?gs8Hcx$l8=5TnV$NoK5{e$dz7#Kp3?< z`O3AE4{M#{Tr{_xgrvcgb^72zkcp=hL_f~FO3RIqI%0T-HnnEn-Nu*X26W%`h3mo# zDy!>T&SPzps3@agKuLHHm50W(GP5P1=v`LlRkgbV&5Wwz1}uBz|Nf|T9p^pP)Q6~b zN`=wAxehLC0JTJ!EF3Rk1Vk^S>8eaPezN1X+m}f^S^AQz=9N*=asnnu4z*U0jRt;3 z0Z+@KTnFwd10jc8*F_R*(+-|Fxiy1$xB1*RZGuKqVmRfelLy8#(Haav1Tz!U?Kj*J zVW%p8%MBR*_NUkUpyiqDnqOR^vWEjPm|3wLh_Ja!9-t#lxZG`1rR53&<0?08Vy;;G z^s~NM^1hY6WZJKa@QjA)C$fa9F9)WQq97$!$8kq2=3_)9)R@L+ZMCtMo$Oj=r?0l| zf4he@qjrSFfJtQ|i3Zui3~Dxp1TQ0FYhWjw_W0E4HW6OdHp9G|%$Gc%tYjXtz%;tH zv~`2EID5%3gkFS9k!V!ok$GuGZh`g)2sIJIij3-t6F!@zb(X))f_75ZIIRn09FdS` zN5CWeR~ROuB^{UMqY1h8HSb$?^3gy3_Lq6P%UF5#h2*A2;AnboNWmBkPQt+{p>&39 ztF^mB+MTdvT+zQ`C-1rbPrpq4t*k)b$r}C&q)C>h!BpW-E^?pYvF z<0tdoF1_}gV_IVh`z-7YFjPx@$cgZOnmsds-SoMP%4{?|WhZf(tG-*T9e2W>TO?8_ zZ@{;{=DX<%rhx&nAZI`Uk6@^&Ah-f>89OQ$Np*j`E4j@Lh_&tCUHzS1TkhnWtP$@q zg+cs-T%v&-87Ue?nC$X#Nu-LO6xB0Ovy(X``yKqv@9e-@=_hYrL_C=p>zK4OiZF79 zZ5#GqwBiNJxC1f~*AHE&VXe)JleInaqfgIICOl8kNqEfHeYXh0=@77Yb+`+CPStg=pop_j zXsOQM_PBA5xAJzESkQF;!>eZ#gCNPW;DBt)~R;wV3x! z#E*!L&>}reWZ<>Yli*bYoJ)?ie56sW>V1o~UrbtPm+;KXSb6@%VL|CgQSk$5Ip|bL zBgiOoROJ{9c_C#}jaF4%B-zOszqa3%=?^I1fQMLvK1NnX@}?~T+8bO5hZ1|9M^Ow= z(aiLR=6!4P-Lke-e|6^Ntx>fLmaw*jJWdIgzLNa_0FO^GB@n|zGl_-LCC19Aitw_w z%kSE8$!PtRXL5~i1f5X>5GAX}rU&2CN*E$v5H25XDkig5nK}iZSbMj3>ZPrFY3Er| z{wCakY;}Y0=q5-+p?6}0C`t+Uv?u5-1Or#qak7&$9J9{UW$z!ob6)sB7bYC^= zdcT$ZC|`o3EQu0k2ep)*|A(2o&;M@PwN_-U^d-A2#g}AAf!XUBEQ)cbOJA=KnvSYY z)Pt0Aj1Lq-H~eJ9YkKD3rF-YaDZkrHON-21YZMGkpHh3nX^iqxrIJ*cRYS^9n2GvC zU7=yE;!NKApDlMyEx+8!TUay9UA*W;6&f@ZF+@KAJ?7BLG&U)uN?My0=r(UazS|~y zefQ(M-KDj?mx(o1BM%OiW>;^Q@8t2+3q6c%Likd1jv}B}p*jy(|KiIQOSV{ATj`s; zve#PJ>NQ1P6t#Bx$s`9nbt)fNa|Ws6y4R@yWNklx^_Bh7C0U-5w^&m_)D4g(6){$S zSVHMAazNA7H;4=3AKihfQxa=W_iemkGO9AdyI@&44hR80DLWh_LTU6vvPM%}Ne=im zxEP9xs87u|pv{?#wP#;B=&tl+mOHuma(s#Ycuy!a62ZyLb;%lSE=hl8HOm*V|2*g8 zn0du1x#Z!gi$^c0T-$^W-%T=ux24`k@&%f#Rnk*x5H+fw^j_bS3FU4^&3((-W!#c*&DXLDzE7rMTGbDE`AcAAf<_Jp<<%C!yuVBplG!2 zp$f7qok;&xZ>aEGGp@AA_ET6ZPsuy1DW%A8(oZf=(`!ng(d36gNt_Zi0wVTD#v3=+ zR&fLVcHzc%B|&3B8n6ZZY&;2?%&wm40nokS@VXaQvS4yp}W z1T;W<>!{hLl&SKqr?(DOi?u1we)9hAtd+0n&sn3YOxhshV970IpsJzCQ3Ym7XMzs0 zh=Fx>SMTKi+_m}J2eMYilLz+al)&pkycTQWXX1o9k}fzYBq{_Hx{w&iwKQ*co1Kj3 znst|(8dGq~8!&kw8I|ju*;*KWqndMc0g)}GW3CO(2I3JYe4`1~`pJdwx$EH8=*-ua z=am&^=|qpgb`vS9t!uTAeo(@2y9In9RiaAQTD$d%?T$+nRIcqg*7BJ$X`NUn;K>9A z;1KqoMmym+!+KtYD7{s6)9mE^GtIVdSncK8ef$c%vgl1P&ZgcU7aIc`dw}d7b@8a< z$p&bG4L33KHohcha{C27SfVwfamy7&c%7-&5NpuLl&&o)DW#bNB)p3edstUW?RE2U zVr{pVelb&26HDg6qAMjgCH*27&b$$xs|WCF^Hgp!1`8TwN)!>Mu4YD6aVEEUbm^sA z@8oY-!&393MXPeSq`z<=0JHdO0RtCx8wonw8X}6 zguA(aKnZX@{zcg;Rqsgl;?s|JNw$egvXfVDd)Ll+-^!g_Y~{SB?r=s?4G8a~#7O1z zD8kgiACTGkWn_5u%7TmUw!&hq@7sHcRmO^7h^`!W$Ad;uwa4sDnfRSz=PV zlfPQ)__bR{c-O4LmvpHCb6ApWRapnoM*0QV)6PKw+-RH;EcB)?X|t2LZwsA2-(9WI z(8=EpLeJAvbOKvvkc@_aQMj@~Ef%G@-K4VNvAP#))|T(K@ZneeD9BU!-DX`i2nK~9 zRXt+~ISpvNBtSVG1C7`4UAGs5ZchJhsq*ybg-H9K7mG z=DT&A+IMg6TNwp?X^r5@nYbWwRJK&Xw+as)m_+)EUK^GW>{k`Av9>m`a(436Uw!NS zZ@1jZ7g#e=z86A?ypp-k)MO3j95FXWbQz&dT^(i!BAwUn?fx_It z+MT@n#KVsYPoey7TdmDc>XY)SNqR9SRn`-qQ)@vhHc*vtv_5a4N>4LVsQ7O0AMwGm zVIh?}x%fIf7eE9!4hSV3CEp(qubRf0u`V>$#v($X08t;8e1Gz5o9)F~87n`+8cA7X zJCsJ=MCyU#Zqyy-zGf%WhA?&@049|*ce2fW%k7?e?pFUyjjF5%T)M89OM|ntx-q>^ z&#;Fr?QWQ<+%tkSk4Xrvcl-vl@yfCGm$T8N ztQ!Z&GadoFfZQ@zop&#G#Pc5o!6>bLz*>fXB)l`d1@F}Brntv-QCl9-c!WhvD~Qu< z-nTY8nfo^7hb#ZRb+_Fk>$4VmAxvC@4-5hM15k+bA^ORf_bz>!9a6_}c66KDot=Da znKib~`&N4812+&)<~C#C**YNu;9SZdc2(qV^a3GdTb}ozao;M|_T05|{34M;dEd6& zkXKfh@|=lby>R+rAm~W-g4xjA$xHFpMj>`ob3;E|=I#w+t^95?Z^Tb>_1dbXG`E)P_uRkpfvs!8M{VrI;g+y71+d~0rCO8)@)4k3BsuK~s3%bl9k0JtoRZgf zSo!0`ljZI1*(C3qp$mFHJ!nLofIj+g;ILzTnf}>BJR%K28WS3)q|NQl4S4Ll4PH+- zd3j1+WDRiaJb217r_WV$%_XZDJzi3Rwb4%ziPiYYSo`-=zuh;na=EsJw}dH>8B<9Q z)`ZhYhZ4{%lj9===&FEWz=GPE*4nHsvGNyRyJEAj$I7hZU#!8Z{e{zoR3*&@{mZE6 zM?@?xuWT9xjP+|WzuROTSzE{aGdJFV@{}CE6>D-u93)&&4J)YENO(9b@=q}nD18Jx0NRQZo+UNFW^UO5uiK;0EHWU(P~r@)iPoyG)EL-z)`kqaE(^jjX=!0q<5NhH?jrUPi-0tZgyZfiDv-}5H zGtW`CsSyDge}b&wNRo0^+#H0@DBT)3kB2&3wYGe>BcJVfFIh+V-S*pt=K^->vOrcd zA4lTGZ}=m(Pj=Eg8OKI4P6e&z24p86Ty(Klqw!JhWXHB5JcS~k#eL)ciG5J|ivr%L zmJ;HtgGwy212BHgcgqd<);f3pBvqsG2E5MNSSD+!CaOQ#8E7-|0e>-AOgl8U`at3k`pDzs+Vu=hw z8-RYv$!W(a=XX|T!rxu|@f}uSt-JwW8{)a52<#A&p^KWhsIE5?`;>H$S~|emL^6zv zs>1McO7>oN>bBuLmACshtf5L0s?r5#`y?G|z^(&VMbM3P&0^irff%J@QOgXb7T)(;n>TcLkkrL^L9zp~~wPbQ-(Z}&&6jrI@>p}3)c z3a3%8d?uA~X2^F!A}Y7iAE;sTHLbYa-&t(yUr%POyxmWZIwhQlTtk;`3}&JVtygb0 z!kF5=w^n#0ZEeQN72oao`*xZoeC5*GX=CC^@QCP67Dd!DC4KaSo9IlNwZ)h0 zdE)I$#w(ZiZPp#^B$X%am&}Z!S;1S)*a{z&041PAjE9!tm^9bc=IzefCcbpecM~g@ zYkPt$?(9iPGFWol;O_my6JpBUc3=0l-9QTeh@wAsa<@wNjppxRmW9n%M2vKswjS+t+*p+E~j@p0(fyy{&mcd+os*5f*Ct zmZ82EscLDWt|n?C@;RI#`kEMyn0`2{UbV zyl=6MwVaZzx4-ZI!qhoqFL?k@h1|^??@Nge%}U=LKpEl6KWjEkS#F$(+UC2(TK6*N z&l$w9JSAg$hl7D69Gp<~D^*iPS!GiUg)!|pL}6%P=w%3G@ut%$-phsVR`jGU$mDb*3O)Q7vC&oiDp@hNs z;DAp@OWoJ9Y)GYn7eh_2ToDD$u<#}Wtr5c;_QkNG2dU)DDU;AOGe*8GFh~hd7nd%1 z)Dm^1am|4?H=q%j_x@+Le7DjoZ@-^YVkr@hN@W&}j3x`s1A^G_61Y&>z70XtnBRB< z+IZzyyZih%8Vcj3wXPq!0sWH%AJR0HMGlMZq^LhJ0(E~L3@^!e5PJJH*5XT^J?poR zxAw}fvqnT=Oh=Bo0|*Gs%8j60s80n>FDI1>kcQ-EYTmb4JNNuoM}ioZZ@{nix0BtS z08cd)ybAy<$D*jCHmfcco{L775hT6AX4X-0yZ2devBuno^1dB&fJgyA-{_6>>X_-? zhs{FagCwMI++-}dqv|b@x5nBk&g9{f58ojgjb(1S`ho77Vqb7c$G!)*5Y{!+gYHKh zmGEn(fTGvaS*Y@p@g;YjIP)Cqw7hR$ILHmal!>!98`d-`E&2L6A_J@yZUEkZN9i?k z%WKw_GdcUcC!Vu@%NuYFYno!PGqvPPG<05*^MGT(Pr!&8Q5E%-ZjBaeT5EFyvbOtv ze#({UNGs>ReedAllW0xcE}&k-r6I;su9ZXw7x;o&e8k5+w@qKt#!qH#tDdm_sqvF# zMz!oAJQt3nj3!NDuxhVb@;O8gN{xBQMMq*+?xg0vWo>&Ndi9_3c9&=J4c0IP)S(bW z75!idbe-HeeI%Vg1!|P89|cyui#6XZ_ievzJ2hM-JWR8o!R9uI~iu2{6>2`70nTE86CHLOJ|k(ft%+6 zhw#;|?d`+XU96mo zE;(z?)~di;9i!GEESCmQBP9c)VvFzOTbUdd)s3jC3ltp7Dqj+7lb^Wi!61g^`!?^f zB83bA#Ysz97UdhT#qbz-)RZHQ7u*(+alc8;?T)q1g>U^VXR_SM_gF*l2(YYhB)L{g zBp98714^8rAtVNx0~CF#QMC)V|Lzv4j2C-uIG{gIMYX<^BVI3zd_DK+I7Fe#Np>_T;{xo^1v z3r*^Lt+k*0>IqJXF(jZRUEHddIE~zjd2`+YuZ>7u1WR$&u*ZhA3P0KRx4vCkciTO~ z8uFxcO1>s(1LAqR6$NPKqEo^z(kx>(4~|Q%wG03Cm%pSdxqRP#a$>%lM}V5Yz~Asx zx-hP|_Z-PQ`)U@uGb$`;-tIPjGG}s@v)BG}@__P8Zgo=n-y|?_k^umdY7x-a0BFLw zh?E=})h<0bq)e)AcfQ+`3x9lY>$>S;C#SYZ?8wr35a|{8B9xdKgvX7b0+ARBhm`%t z6g)11@jqg?wE1&%C z+b8F~mEY~+Q=CcIJPoiOle5jh_4Sk(p%?A|xp6U&)=8zg@j6bM@0Oi>?CwYAX^l^A zdn(Um;|R}4MI%_P1pxup%QmDHM<1>C2;opOV>M#<`7`fq63o0@+k&TgaX@P14e08a z$Hr%AKoA5OrIgTU*dbAtMry3eak92A?6B`;$-7I>^&D&T^@g2st^SBQdPWSck#k5> zeX%6`hKCsY+gWXGwN207s`XA@csgqmZtZW4Ze+^rph#R3_>U%QwJ<>hAXb}qwY9%} z`;VPrA(d;}?hH3z5X>alQb5=CPdHJ~PiZaRO%|YTgiGU>Xr9S7rzAJv?o}_oAeEK! zcF%pL8$ir5q*r$hdMwd46vsd+y;}OV5KB;6pf`2gnS8gU&pr9j))nZ#u%@o(Bhk(g zUb);lYGI?u7aC1z&lnt#q4M~Ljr&%yw#S#-M z6~^^~+N>=*dBqBk4A(8-tDVtjpjdPlOXfz*L44FHs7Q*zvSqt zPKl=(KgRn4EB7E!q7WeSDek;a7$ilyGgeg*%i3Of^~6tF@8l}y+R4yOC%L}5ffe3J z_$aD4r+jk8Ss>dY0Yaf_-tOGDr-qI^D~!gn0{t)6^0S@!G+ZNJs||Q^V7t0P6-x=Y zBSWbQ^fYsvHd%h-c2C%1(|E4(cK_~2A_XeEMybdZwSo=d_<1}PpRq)JO`<`7#7R6r zRkbfWx$5MbKTG~rp2?%m3-W}(Mcjke$3TMIVV9?sN~J~15wS*O_khhcI~i-&FM0Nl z!?G={t#!UwnN#K>%?lt^Wg|Pl3wlV`$ji#Oc0_e8Jmi2S`DGLsNoQS z6~FqVw5+P~fUNC=-lfh653kIqCST|Vq^>UXi7zzm7dMU`q(7$dS!8Z7u8Oo8V9nZM z?aK2GULdh@xs(6%6S--E13kKUno=4K>yr=`GLt6*5e86_6p3|wRAq}fli&Ju;=`@a z2mCCct`K&kt|@I2zWS4=ul&{1hOn1nL65rtKGcQA#AE}wDp)^m+c`e_(e1orgc z5Fb`!>7oUUgqK0Tc)iGs0we_f!H(uBX@e=m+PVMSexGE*W&XD8MPAdi^MNZOS}0?5 zy9Ed?9wKaJA}CD2VLQ5-QBWIe`EF<5{oD<$vyPcAPNV=5kEB^hUBXuV)!uLA0DZif zh^`ih71+`AlWlH5tX=hR_u`2ZN)G)~tf9$^#{0-cPy)*!An83eQm9Dgh3I}ThD$n9 z%~N>r55K!+Mb^ql;lxY4riib8Am?blIx4#u1WQg$T@Nh~TZb~u4asTa22?}}Q!n|~ zl<>LAcyg(q`EIt6%ncT$h(Np?#YAT_4RBhvWZ=?c)S>Ela^sEHTsV1mdAt9@T0fo> zMvmBolakM4-KlPCJ>|`0l6X4;A%~~tcIUo*^?_G@l-|B_Z9lp+olW9=Z>Ku#pd{N< zsvH;C5NX+1APl)lK}@RR$yhu3jPG9-UsA4ZwaZj8$=YlEp+T=lAd)&^dUWg5q&Wt8 zMVB*^O=EuTce~=MSEgBlweo%Yl(kfXhn&h$mzm=qRAZz{D(!&Hkf=+a3>Hmy71Em< zFym{RE!}#$<58FUZh9Q>^=+VrT?BniyL4{!uMhKQD#K)EDSeD{)!M`**~$4o+J5_3 zE5BRs&)sg&csiYj6aB|eS|d6ahh+$guvJaf%%Pzwq&I8(&tvajn952SbN!7qn=}bQ zO$IQjH^ePv4Ih!1EkckCKjBs{574{;ZPpfRf4X#@!-EBtFV4+ZSR1%?(lAnaCbdE? zI?c7#Mo0=@M<0RGG=1w0Lp=9)NR!Z#+&>z|r`U2@nVSNd*f`r2Zs z_D_N+=jjcrKd2?y(_{fD#!F&yN<} zFRG-@g}FxIMz7y^|63btIVIa}d(JK4V3en1mS2d>;V|k%f&>o53}_`C+V`eXX>{_Q z2a%OZj(3w+_{qIrTBE-;V)!&`X&qNm)K<|c2?%uUDb*vNFcP)_Z1A`ZjCX*xiSV+v zDGPn&?@@*?*LLRB-tHc|CgBwT(fxuPdJHLu{C)|bqG=v{ZUzHggf zV<+V`3hc%;xmPf297bDaw>yjqSUM>1TCwo~T8)}S_;*owG0d?&uS?0`p*KEyIyWj@a zbQp<;m1pTi467-?Fq%y1A7xB`l1ek8uu-4{w=aiiF@4b#(g|#wPp6@1pQjH!e%Lb$xEy`=Y%{o<#a^S zTm?X1tt~{(Be|hZ%?s;^8=pl|aZ1h}TlukAD}BjHx5&Glcf*-821mt4oJvT6V!NA- z<_l9(a?#j0o^`ajZ#gA9AGzbH%eDM&1GoBa2m_uRICYK*866|w(ppXc0FNK5MT?b! zK=Vvi>9#Z~t0*``LB#c-*5>NbmX;0W7oTqOT@#I3ci(Z`(q#!jo zffbC>2>EVw6CFBisTC{YTIe`Wp^dfp$+xFFa*<3LD*fbxtTj5*NmN4yIc8UmRF=9h z9e{2^)wzu@MXcq36tqei%y)myupj{Q@juI^oa*zcA=M zc5=F!+nrN#@V_3o=3A_lesYaFof4QDXoLuGdh&IvgG5K8y@9z~wYY3}P@)S>3Jt(?Y_weA0hIe*l;YINCM z?wgenO$VbH+C+EK`wf7S7OQrTK^2H_L_4S%msH$l0F9ElfBr#WM?N!z?-BJ9e zl*(Zzf}spekVULawvpHVZ#>z?TKwdRd*1M+)J@As;fi~+wsZh^Sd>$ED4nG$n`)++ zA^^%Bleuc3>}y6r6@GI1jtzdE?w`_6e((39Antq=*={N<_h)=3^GHW~K zzC+$htX$rJ^ZzJTcDJ;610s7>GZCasD+ZwZ`)~#yf-yAXSX}K5*!FNtlk@bnSOL^n|m&5zbS&woh5pCZ8V*yweqC zie*p|&ZEa93-t))XH=76^FeCXmYqE5&a0POleO}Fd-x%1lia5h40*s`VqIHx$RLMIf4b7{-7KW~3>US9&pcLhY*K zhGuQucWm^)6xPZcu*M^-HKaS0XU9?;)@_kt-Uzl5@d3>cfz6SGdYY%C;s#uF;3mhn zK9e&%Dtg809xzwenf3V=z1kaI#XKL-zqu zGgUt&NY+utd18?xxhnXJ&?lTW)}* zasa-S_zV0yQk`|2c;URCEZ@@F#3vF3nXqo(((n(Ofe+%gI5LEgG<1N8l9@_YYwz1X z-Whx%Ub*~k7qB+WLxs*xA6xp3!x#+=ZPo)3?(#VaRv1?>uDn!nN_H6Ce#U&a@^)|i zBx~x1Ks69o`W}E#GR9C$5NYTrM3M%gV31Q|Z521*<%6D|FWF+bwk4kO-8{__080A$ zabP5w_?E#ZA_lJhb@2SnXS2@|70yJ0Sy5fe1NSucoG2gqjU)a z5)?8+FGk8}-tIOLUhdm$EB)zP$-7Hma_7@_(%?G6O3-pn3f(*7EW9#cUb@w4>@*sE z%>F80lC?d3)mn2N$XbbD?D~xSEiwZcriVvDKuY6*qUChJ%A!#s_nK`7Ztid1w>GCFYy0e%XB?84t9%3I z|C5~*=(yZ;W_YPyN|z3#SRo3As*SJ{FoO`fDhi6V<=20B_f=Rc-|l-@YfKKq@Sxxm z5R{K3j;%-27bI_>Nrn=!1h07mDo)8NUs~j^sjQTzWbC;hy~sy;#`!O>UD|0Ol`sZ5 zYhpZ_$6#}W$J+b0+#y>X7QCdq-HZL%8xXfBf&+;T>g(Vg0p>baz`p&I2skYXPfu5M zq_FR|=K4)I80DFKhBbta42Xh;60pVoKm{TcVWOR^2e~kPabnuKsV@0$SA96)%J|9h zl$`vR#FH9k^>1gMJA%G;Ef`yusuWE_+MX#ExFlUwxoK|qhfDo^_12ziz31(uE<(U= zm(0ogt!ahKQk3F&Ni?!Fdn1B$3{)Xcu{QOiwU^2JR-TeMUU1*Ce@Ob+aK^AH8}a)D za{-4kZ|p-g7NNv=FKxwr+hM2I4-FPn?&Qs^1-I_iAFqCC889v+UnddiO5OoJ)XEFZ z9-n+taRYj1xpDQJlJZO*{328heMK!LfRm&q;?aeweqUFf`@Vc;#5TcKVFlKFV6@xo-WBcx7u-K1ba` zzc6E0=dS;ejY#2HIt)Bl4XO5%o2)tfi>mDxn(^_; zV<$~m($d-*)=Y`P+%lmrymnRg2!nyx2r2Zcq*A~b411tnPhs|n4@?cGw>%}^{!f^K z`6|6?Z~}Bpznno}2By9UkCZ3AC`y6CSk)Ez zns9iOk(1`SFotM4gEx9cyPJ`D8($J@+ur-%hlR~jdanJShK4qjs=JhBk*k!Q$ya%F zQls_0sseVU(vB)rd%J(XK(~zGCQMy}b8RF-L`=`g`-f57jUR&QyyFHrdwY&je zdWPrHyQg?=8LGAPb9Le1qGp7vX&up(?g89%bv8X$n~W;HLkg$wlOznr2#*se(~DM#3AA`Kb6ccCy0SvdP-y_>^-sk>gJ4LKvnY*KI3BDQQ8fy#by3P8^B~K)I8f zJ*OrtlGIr$#YZCxb)Re&qKD@@ZM3*o^UXt4*{QwVKl$CMM}2^`@=QL!8bHJVFLSjx ze1tsO#$Hqx8X$wwC1z$b+OIWh%MDn3S@&VBvyQ9Q1y>F?M|PM&D;R64&S;ymaV!uX z1z}Sa2QpQ219D0x&HnYiSzGBR_x_FhCK}h=-3uch1gU9vgC5Gjfhe@2N3?TcTWNW! z*~wV@yPbCWK&<3E!Lm)y{Q_$_OF?ixx2 zkV(%cZi)B@GKslt=#Ugrx4AFaRpq&|li%L!#BK83${TRj^IlW3wFqh2&h!x~r9jhY zx2xdv(p7UMQbp2cQteCrY0cA@9Ku@ZOZI;uZ#VHOL?v3e6!FYz~&{(#bA)ukE zJV;hmD0bGi|CfK(i15m_t!GVljN@)h889AQAA%gMUi=ctLCRNJBPdyqVR&sKg`AS# zEPu8q^?>q}-1a+X5@=?6o-Q zq+QF%H^am@FRIIcFVCuB=#quT4QTTQ#M&blfBOxsIZscq23qpF5QTwUuCpJ~72}TS zAWUVYo2J^R>PL;WV6SH_TlKcxt*xwNe&S_0jsk~%MG897C@dho6*}(ZB3kviPBIu> zYDr_txos+$IVEck=zKMt-ja#B!|&~+PAyqJ$^f_6192LnvIz!~b%fuW(WWwzf#!W{ z6PIKspSEvgpww`M={7R~{ku4F6 zcs>O{XvMOT^=8*bV(68F;7eqbMvZ zQt6*c@(t-4i(cF8WX|NTS53S*_3n~|^bBh`dR;I`AO%)(2;T(vX;=G>1U@PML1RT- z&B(msOulRG9@zSUU6?R%qBNfs@U`_a#{hLa%+_-gVY1 zXPnp4+TuT|WM)dZ%-VDu^J9EL9Zk~I#6dYLUIW~Aq^}xlxdFE?o-^kX*2*{F=+_dx z5_$3~K|$em#DjE#(LsiuR2t{htqi2DpGP(0#POT7j+OTx*MS{9;P0Uh_{B8s%P4ZN#AtYK$L9q=^sw8qc6-8}9 zd5vmzGS=p7G_qk(wK6VwV1o`lV#?ZDWN;-1NE}cEGh#@qSkx2Y%A9jUFRZz?3eUCl zvQKsnu~y!n)Ul9q-=@y&`f%{c^1BU9=n$8nH0i_fa)Oa*w)2o?(T1mHj0Y+s zz&@`+&3B8nBNralP;o17_tq0T#-U#;*n@Ss3~3zhDRc{lmx-B!1bh^q3Ch*a>o|01 z-SI)y%C$Yh8q$mw0kM|H6s-gdr4iKQgFLB82bLa@5h+&9+Hy+1|MiKlq#vh@6uvmg zDFI`tH|tBrsuh6@(0C0uAsy_bOf-Wcb0O6kfXyEjnGoa%DH7 zDV{s|em7`_Gl6h)HM9ISw>#FBeDu7>=e7K9kFzEvjSPjXS5p&jJlx%@-P=H!Od{mT z^v&qdshboVYhQoyXP2cSR-TfZHnBG4JpHqg1m?8}QH*-4*(XJe2?9Rx&SCX7^S6q% zT|48p*{%KL@teAD-s_CQq!foI!yuH>BZKe?NEd;nN0<;m)qTsE{NcxEEet+cz5#F9 z%uY(t#F4&`OKi)u`Y5@9CzZdk55;~&_K{<2&SZA-ZmHMW+8Za zaCD?^Qhmd{98qsWFJc}*sOG*kI2do-WXrJr%9!i+%{$DtQ|UGtQ(g!aCGF&5Ydmtp z2x}$+((&QmRmEIc+s1o$oY2}&e(ZI*0iZOqVAcGn{ejf5?&!D$`O2Vj!B{Y%(JDq` z*7k`l)?aauwUs%}%)hWU)nyGvmPa&wl$;@~UbGI*P$$5hq!VKZd{;B(s)#2~TD9|U zf|-}`ibqUu z>cmd)XiKO9(ugeyyVY3BPQLz(aR;{U>-Z*Xn&1 z(mzmz(C17ZaMHi8Y@Op=^m^7LptzH`9tMGu%E|!M)b{}!S{cm{7tYc*Z0=;6Gnt*- zYGlz!Dw*X@?)L_M5=vKRQ{gj8O%6 zqL+v;hT*Zm0o9g<*rmL0055ePqUvMHxovJhtgZRh{YNikt(?a5wKsO?kil!mJktH3 zWa)f5ix6#HylKNjfFd^=hFN1L+e8YncFESue-UftPM*JYVr8TO%&Jj+0niG(BZZFi z%S)!jdV2Ns=nvG-ZoT)m*?aV{R>oZKc~f>${1z2%!)o*k8~Tn5gqCO6t|%HlO6$hk z*Q`LdSzFHJeU6CVrq)sh`6|bnr6t<0fg?p>K(p+1c`0TbVKIqmN17LFPDyt1`r#>SQZ*{Q^0;k9=4zrD z`wYJjf*Vml3R|e`lu}lcJrd2usqCxr%30f&cKy_6^4-d{-M|{8!dKF$C`+@W92t)f zq7*5k?$E425Y^+|%)8s1l2|+W!&}Up$69$N58kfBG#}iz>%$E zV#?n^945wtb=6H%&3AiY)!|Pi<|^ZoBX_iu(hV&n z3VNOZ_W-j>i%0rcJf~QVVBSQw&7G|9%6ImD|C-csO1+>B{?hFZb=Zy8{Am-N#SFLb z%!I%!vJ)MlNRNzlT2!2pi=UgiQG7}HnyzF`b0onp3jS7MR2h&)iUXO%)D*766jaKv zN1Jazo61T&SI4yd&PoT&}iei zawb22{6V|*vsT`KJ>McOF>eR+!V?f0F~$eSOuR(2LVs_lffS+ijxh%+&gA7cPMMV~ zzqGc3HKZSB4$lKE6gSj!XTAyzL%b)cs#*^IH<+{vq0gCo-zQew*_vN+;m%$hy`~7Z zje-O3Y|cA(tg@0lRrhE>LdafKaY=UaD|dCD+uCrKUA4`_(+_$Xlmivc(nm3@l0Y71lV(qZ1Fn6LPV7>~lM%<9eE_70CDM(1TQlEEU_ViUp zrH)gs?fhL6y^_7htU}vL&;YpOD5b^uXuQH!wtPk4RjFeQQ{RoUrQ~& zjDj9vO?sA6A7Z|upM-;>?1rFgWyxh1*2;LOtX0&e+uj&-raUG4P2;(!z9<%fDZ*v(7PwmgAbE%K zw2-YZPOjgk&6GtyB| zL6E$A79BP1c62Ef+B-e$x-F(Ry>dm&b=1I}FSo9)FYAN_g*{@xu8Lpa1cPfDJ^FqY zGqVXrY0N~gy#eEYHMg@hr}sV6of70)*NT+CiDmo-{tPWofQi$I)1_xdgN*ajuvT#< zA6@g)ds|l@w(3gWoocg(MH{k#CvG_|p0Xd`+=)}HgPo62c&|B=`EHj#w%Ml=PnMDS zD%QYe!+d=P;i~5-G&=q+1FTJ1u7^j_!P`ycu-4jrH~;A5*6-WWZtoi*C!{K4n=nFw zXafUmqMef)Fo{u-L+#zHlIHDh6PILdZ@KWS6M~tSw|jO^ys~aq0+hHUr1oIi1A~Z# zg1*e$!d9a(> zyl=5~)HZis8P8QlcnkZ~7S#c!+cPMyr$+@f10~ZjV>YP5F!H`Cf%c|`wKg{()|L+4 z`un|Gu5Gt|s2U#_RUKVLh_7C2n%^iGyuUy*n=C$$NJj12W_{tBFXxn$Yg-X(2<`e= z`|$`dmBT6bSZftC)Wr-e9$OOPXg0HsinSfz_l<|cL@lkIKHxP~+Te9*Uwf{V#~8$I z!6c>=gq_zQruu7Cy{0*n>$d6L^aR$*cyh-e zu|a?pcPTa+x!AB);kh0>=do3-t9@tB>Yd zl$fi0O~>!+yQw>%c*v(Rcum4V5=J|K>7&Y;`bpFU(kEGU-*N-4oAmBYTQgA~W=%yy z>nDw9T}CdtdJzc+FeP9wb;V#qffTF!WY*TT$F@(*v$oQgTs@2DN+<%B%p5e0pWaX$ zJo#t?=t40!-5z^?xGGkTwIgo)U|&v2`Q47#FE5TVY@>@rj~JT)LgoGRb0v*-(ti_7 zj717JlH1lV7)4m!AY=n5;$ zl~K?|`?HoIR8lq6R)N7N9uhzj$6PI9`k<1PtEY!?wE1>d_>!v!r@k(TVQFpFJ4Hbl zjTrQSema3d8X?SG$7{ja0nr2KL3_m3nmbuxZO-|BeDrMA$}{|suGeZ70fj||)xOrf-P_5p4HAV{^yL2)qD5s~ibf1^rh5gY0T=;7;Ngjb=V zS=*6wXMcJ|OKa2S@FjYRluRXs)T`uh3C&T>g$uouBStai#DK;`HFmPinT)j^Z<+LD zqM-5y{3~m;zB462Uod(%#e0Ye%`EK)SRfpW{xAe|xoWMo8Q+=vsn#=_PCJn2;wpgj z`eys076<)Db7xaor5A3m+M+iCd#%P=?%PWnU$;ZNa(O2AJSf?sK$sl0JFOZZ>*bi$ zzyZucE!aJ!3b$fRPod2X$WE^RufZ9)-Q_7+%bJdV+-}65K6OMAGfIr|evSWnx1dm( zO*L4_J8IXq^7ez@eJX3ESN`m~AWu99ZG(uGkd-q2F!Q>Vp@qv-$7$W@)Y1A;&BMEF z-Hf?;yUU$C^Wan;biyFk4jZ9oNRyd_h<;$h=>z&(HI{3Y3{=y!R^@rG|hD&DuA9gdjU8ZrFbp}aC^$%rze*BPZ7hX@Kr zF!7`dFHWG23#Gg=QWbOMO#Wi(GmnNjP@c&T{8eJ*gm#9nM}-ej8n0YpMNc+Gqcmm; z*(1MEb0%Z$pr1T=Q}XW8+H0(h=)i=QQynIfg^)+FoiOPLjZzcsP;m7Ps0@rD7!{st z{oux1w8kgzcz2U!i#p>Lb0Zmq4!=_hCJ5tokp4gn$%fWV3Ct-uch?hcNF}qp0V9Xy zlxR(-O5}?BRxUScqnAdHce=$ilbBKqlC65*V(o!lw)jD;mC@^7hr`UltGahlWOO5l zw=`7{nRQM~dg&W5#8{3jwycg`@A%$tN8`E5H{d1KGzCOCus5@&bypMkrx2W23-Q)_ zuBymc%YkZ6N!GUYIY&GZMaVKP`PzHDZvjj~xE2~~CTE0PNiaQp^UOnmSz73DRTPvn zdE%Z&O^9Y(=}XQy!YRSkQt!s=Z~{RIT1)L_CT}U}7&s?Ma3#mO$t!%xG3THBq1N-L zrv0^@#CX-z!OIhh&geeIkoIW}K-N5L3qa~PJ5A5k#!qG^Uw-eKSGUISCcZas0GL8^ zmiSSEFW@)UNEJ+r01v`fj%IM$|3k-c{&lauJ&gTwC%?lQJls%IBEzUU01Tmml1F1^ z!H^MRxbO_cl+o5&vxZZmev*?nTl8+wyWn_(&iSZqNuy+D`c@#aX`%@ zy{BVQP=&S0-`Z@4)D}x?dmJTO6q%b^A-D^?8^#go5|!aW1r9MN^Z4K8yOo}6(_?bqh)W_UgYFP}gVbwpHHbR>0wTXYW41Gb zr7Gr%wf*1v*lqD8rL~{3mNBhpB*0c_B8K^>c*wN|`l9PgP7(RZ*Nx3vZ1cY5cHgjm z%KE&f<%@IavEs=zN}1b&qlqz~hLnUGasok@!Eu(PkR(CPwN?0%smnj~`LkMD+jp)= z0W7I`oiL-IOAAK^P^lOxvS?{SvDMdWbY^e!c2`*YFsrH?_-O43{td-Ti7g#fT#4}^k^?c`CjbmWC z5D!HNu@?m7`R*sJ4)tnSYg6sZDYy*!# z{I>}g9NRhy+H{^b0H+n&ifgB$A(GW33>L*U^d10u{a`2MlQrKhJGtR^*Zm^gnQ|w8 z%o<#oK9RHu2-N7VP`t?ibg2mWr2$fxXn>lXYCYF;-+yOgo^WaH@*y`sgn+M4>4J_z zF1SZWi*hE$=7XAjiUm#)rp8)!^0=EH`C+_rc?0&J?*`~rN5rvXgN`6(EtDQD!*p_E z=6DuyvnuXb7fHnp7=O>ZCM4@9xoVpa=ag_EneYRw3&lfi1rlqNhKxr`rk{zqT>uolXe^Nm>EXO&U%zFd{x~==vF!0jFsEG-Py_A7JcWGU_qsy zylO#kWpTJWpo_1o8zLkohlJ7y9?-~0bU^muu#DY+Hai(>8=dyZDcQ*~GJo%gQ=(;- zJ4qeiyG@nRVnue^n&1ghLjszk=2hnb=X`nE1yS87*Y?IyHvk}*@i-z7HAT;xnu=T> z9mrr>2x+R0hEO--k~VA0eY^R~bJw(f-(Fx1*oiPt096~BW_isI8B3@WD2i5^q2YLf z&3Y{8n?vUgw65da`T@QK&q*lGC#vhIvx!Dhe=~5p3p}sQNZTDEc? zJ;9lT$!PMoCT#}|?J65cE=x<(f+3tk{n1J}V^cXR-fqHgy=n$W;itTY&kH~%QVTOUN z9Nn7DayM&$$WSiGK9Ul&eL`hYw&Iaay_lK`z3IkcjVTMZ@m#TX{}1lFq%|74_@umV zXzluEGvkgw)Ox2tD<&Bcw(9Bg2?g%lbIo^)wI}c0Z|iuj5}kSL$vl_UfP%Nwv_ zyWPLr`o%eTk)2d)h^7-ZlBTA9f;~jWX?B_F5*CXmTrTjZ>BVila;)uqz#gZ^bCvky z7N@WVQ*g)uQuiEIlKmAzt92V}B$jC2?ut{=@x=pPZ2jG?_^=y51l6+4b#WY`v`_ob93Y<2 z$$^v*t%K7HR`I!V1Gc;NgXgxcEzUkQQ4q!oQ6MJ)MyX-FZ4&%$caZ00RB)*&sY#)2^gDlv}R~`qG7G#lx(@dzB>k? zFHgy@PUDpUTk62r5K1b-AHfL_$W^DV5Q>$X4nQAMOKEdTvbIexes06o%X?dKMgDg8oRxRSE0=!qm#mS~SNZahGQP#X zz~yO#7$kQ<8-rw=1eHij)oYqFdG8Od{7k%Z=_jvQ%ya2~#z4vtFH%w*heW_Qc{&xS zyxOav$^y>e=6$R1lk2}QXIZL!<=T!|;*>a&5?!}Wftv)Sv|e%3BV=-bHgh%hA!BNL zn)zGB?LPaWTkp@>O0WDXYoiE2JeMAP|0tTG8wyQO26T06APzN1VWO@ckTW@c{8!%D znq&CQGsKfXW1y$P4KBUj6_FRtx8~=RPqU>GkS>Gh{_ivS2CLa6AP5J7KQ&=lwuAZ~p0OOu9 zOk^7PRi=0=cIf3LTtynjtH6%2$+Cl*wdG76^YzhHiSWu(GVyQ2Xw=rBLX=mU%0{Qk zhXyJGvEb#PJpfA78^<(0+MJT?%vsD@=_kL&n#zg@&SnOTLE%LTir~06N9C4N zPAOIBTwM?Nhs$TK4LVbg45u0qAbD~Dmn zO>vLtYK;Nc_`C$;(g|UsYi>Yxa-ZLxvLJ7Fxszv~gQt+RLb1=Ra4mP}gt(KIscS`d zq>>Bll3+@I(^{MFmYux(fPE&1@lo>d2F|sUI$8DP;0JhZoOmIKZxC z^PAXfo7L_&=x^8$2*vmk_!YKiu^%*IZ(c>@~v z?Zm(TYTmcot51E<76flr}Wz&TbCtB6a!asEpa(`!`r z2`@Z9z9edR8G1-=fJORJLqc*ubAyykpTd1KP^RXTWNj0__3SHQ{gr-l@&$R{#QVZ4 z^Pn5eo;v5#m~Uc2JTr|JG7_2?t9Y-mHhGuVZ;{TX@{~Nq8XQXr-Jl;G2wv~xr+9{e zK}XCrHR;QL=*JkXUE5Jx-1NTFSSw$gOD_xugG-FOnA}t;$~!G6r`{uI1~$XL$Vx-L zs;zDI&_-9Lwpij^$6v&nKmZxqv8Q%n2()==lsy1lu6$=-)Pem)Y-eL_ZB9udyq^z0 zyC%20#3#4C*zHzR(J_mV(~~i9{(#7?*d4twl|?tvOF(A1VXY#Btuk7)Ypm(<^DzT9v$tRUXX=N@UW!0TpNR%+>op)f%07ku`#J zq5&hC^kb$I0Br^}M*|Yo5-e4~Oa}3GR^ePZC5u0@$$7!>^gaq#i^{6YuoDz)@0Tshe?GhEIOKCYi-wbNtMI2-Emye0H0p< z24rnlj$404qM*{3yv$m9N(GPHhtw%NV%^ZveIT!vPznIi(@_p-o{|b*^33aY{!#GB za>n(oANSp&8K+Is=h62TO@BO{;S|={Bxp#@hl=6Y#LlXIxWRyDyGo2clyEq>aPO*n%LSNR7%UDpC}cA`lT#fzupi2Fv;F)t*8H=vi^3kvsPNa zeZ7K$g3`$of1OoOSY@N2urht^YUrB=qTw3o&x)Y4)<+eJJ2fVt4?kZ!VtYhEp^UIW z>bVN~yza&cmmmcN6%_RAD+&r@Crqp)Md6iH-ExXf z-0Pijr)!G_b!;ZHo_s9(EAJ0?CH=wXw2|4PD_7nzR#N?SdPRfI+E3Fz<+v*}hNt2R zTs}?0M+R?FRuu9p=O&N*_9bzxkKjd|5}K~|Wb64eXP)3EStjQ>QR|{EIUT=x<;s-{ z>7TT93S?{keD?8*LGtPUPyXak%mCO5NFui$USfLXhkQ=}H$k5iZV-JjBMCdrdQElm zLIOGvE9GCNWxHlLIa1d=vo`AuJ@`7r!GZhbJ3i_KxK947zKt$&@R%;k#<%v819j8g zha_LK^V3m9S-zU;J<84#B)Q-frjO~8_V(UvdO_Sk9PrddHoVCjx_xse)ozzr{!|z9 z_6b?8nV2L$kwQh!eAWIc>Au~DWP{Cc!&U=FxFMy2)V?~&EMdlPWD{m*V!AVTfqC0T zW+H$7i$~9V?JFWTaR8aIVGQG$p+i*jNzJ&`4|+%%T(mA zyoFaq`JdJ$?=@^P2dP2L=6Y%CZK?42!kh+AOcp==q}lT|*(yD$aBtPjHT#>pm%*Cm1`?uZ|^j`h+HHO)T|Fh^81&LE^kJ=poO?Bjr&>F+Uj*;^y<;WaTtj!|XX#sMi2-7-bc6i$ zw`UU7+%jnFT6eWq(5_l?j_h_UT$Qui2wVC#IO&CvktOVu7ON|N{P6DYu~dz~fJ-R`?UCzFhpjth<#qkY#0MYxn{JSD zQU1uSL~m!;c!MH2G3n~hwY*OyCVHZDciDPQ_&6{{4$gA7sgOYQM1>pS?VyD|x?XaP z$!>0Tls|*=Ic$<|1Up5Y*=ftN6(9Zg(@U1!3+_3XOWWr^xL!(Wp>KJfqgbJM8kX`w zeoEz4+3frD^Uwx)rCa11?9y$eFX%W_y$$xchw=}eIJ2_b)j7h)VLSe-$G;a9v!z}? z=U6M*@Lw23XM5iDc7|B)d1%VPL97=nJLb7tzLW!WJn)-=wZ{6>ROCm!R{7Sa4PmDj zGeR}bo9^5NU^rg?eo|X6=$*;!iQ+7q#gvu@yWzI${L~Uwi$)hSZ+oix`P`89N;*H> zr`z>^ChvqV`-D@}(uEn_pm)r*-3xm~J7N_vS7e89?Qs5EBk$DR@Zr7swntFwZ5$n3 z)z7DBk?mQIDR<}u)2~$L)-c6;nvx__PiwH(#B%}^fHLsVi6T4sslP-)9KeSp>%^Gv z|NdYHQqjb#P2KU*_M2@|iOuya8~N(#YofDvV|1+(?JRJ}4W~dhbSk`mfU_7B?*wN~ zg1I0S^yiXWpa`d+(D`vFuX@@_tOuro#Xu?OO7mTYV30$Jc9=%{p>(k`r0v;hU)@v8IhwmetH z;^nLkQ?_YcUsW3Hdk)2mJk_dFmh)mkCEeas5886LJW@@`hAiI6!w;v2gX1&kPRXBm zY~Y6$xkeZ_-sn`a%&7hsiZDvk zbca+g9kQ>4ct~GbtIlMzM;GVTq?>wDWQ=ssmct5vQ(CEgrfyS$<$8V#Jr=e%I$KUl zx6#hE=@p->KDK^#T$SBy00)dscUUW8F1KyvYe(f<#FGg7lxo?|&XDmAbPt`$_8j%f zI%V9HTe&%gCPSN*geuu|CwOr9R7~?F=k3;svKk)#%w8L!j(vBf@`a=$EEX~;w)~K5 zkO{y5XX`D9jsD<6(AUK9G}t?QRTG>gyKnO=epbUL%VNPRzutqlew2oQGx!B$^g&(8 z_rD|~NztN#N~YY&-=gT9t`gOnP|aU$d780jmlDx)qQI_gQ}^hSXfY{1ZXaaKX`izz za!ou@midt7Kt~-NT}&rWN>l6aWzYTY67yn$#m3uYc}|RbjbmTbtY7C9{yg^Ka6%s_ z!QQW3ziyPf<=u3-Ux1p?*q}}3s1owQeB~_EkPaE%uFxns;Ks}M3CmOd;3fVnh3pewVO4% z_e1SspWdO*vZSmkZ&(?mazzjW_>?)wbg0&I{Lk4tA+G_6$!kY;k;NT^Nq!}NM&tSw zlxXIPK6Io`dhA*o<7zdgaaMeK3!N!FHSkerF~cucgtqvCy03P@8y5gklesNEV~@T& zWEpnXI>+g?h=s~9=k41*wbE~%o9NM5+RqF?5&J)Pt^aeimqz9MWGO6)Cl*M3iHrMuilx$0}5ucPTKq0XUH zf2-dwr*C>YaoX1iu5|fUlC5Z0M_hUB3Qti)lDFhZQlNN_><@lUdy@S%L^v*!YKN!n zGW*uFh|uV@$LMPwFZl2gW-hle`?i0(kpLq_C2!AU*8xjN!N`NVt&_&ckMQGJOJ>p8 zY@Mada-;mpsGku=zkyq&3u|R$`Z^R^^*43=3NoL}ZJ3ru!nBAtk0x&1CMWBvGsHxX zo!{^8us=Hho0@ zuY*8oH+gtn-fV7AE8VJR^1J0)8~IWDX^@!)FMCj+%dt(3uN|@85$>R4w}d+vwV6jmtOATEwUhf=J)+@@mHsXG5* z3o*xfE=)8+e|9f>M|wIRo4tdl#M-$rraeaQN*v)!7*6-!k%6)7S9drmiY~XQS&h7* zE)p}~aHXxWnFYJyO1u5n+r&1NKzIRIk5e^J$GzX9m3$}5)O3d4s4>2>awN_rOi|Yz;tH_&Ux@2p95b>fC z(*L{O@z23MIQbz|Z&Ds3Vl)iCKiQFV8Zn=MM^Bt-rI%h72j-f?(Dm{tO9cA|eGndj;?54I)2xdSGTJrvi|xUQBams~%RgEHCehTW3~J%!n}v|r&$n9Gnfpbh5R9^1r3%|lUj*5=$-jzms{%>_KRuyi3J zkTEjicAnbV+}q(F85YL4=;oAEdxbI%=G6M41L|e9ji{28oVriDU-9-8$JSt29H*eh z{>fM?F~^dL=xcJPflQh9w*(1-BgOb6;bdAiK_T5EIsDQf5*Cv0Y>&o%IKcIeKeUAy zBi;Y~vC3v*3~3HVb`YRL=z3pcNfH+1uUir<0Gs$KtqYhe6Dzi0QjM5i}ZGqtgL ze-<`~27U:=NVOf-5Fn^l9T^daS$&n6t2)gT58o4QLcqp@a35S3WqS_?)y*U|Jl zU`RO!1XUwmnakL9u^xz@y?ACz;wzYGrJ_h5AgGTu-l|EMIR`jOjJ@+^d7}tMm&m;u z3>d4j3dqMZIE=BXcDJCBR7n$_8bp@*SybZ3(zG2Jv5t1bprb&0Ubf!O9id?UYBS`0 zAXj<+U#@b_qlI4jHV=|c1qcotcaCW55X~Qb9jY^gJY1~z_=1Wp>_&6oIL`9bjk1Hm zE6n=9BY49~%x!FAKksFTkAyuJ$N%JGD<)dCKJT?PXUm2LR*!kFtME=-+tt)}adFL27F1gme%mb(O9`kj| zO}OVi$k%ulf8Sb;e||lyZ%o4N651DO-zBp5yJMSprHv*60*{s8E+mIaIjW}QZmD$X zgK%nA>-i+ha_yA(`=8Pa9Ohd7&Ve-5EZ(nOlAb6wpDXAdL4MA*=aMU`vEo?ocF^ibvZ;bY+< ze86?;bU7}-2jL_k_LbZ-e#n)Aoh3Dzi;;m9uK32GPeAHxGWl^wpX~!cbq4IHPB>V7 zrpK%bn4IhQi6oGDvt2GS*rNUY0W)7@{+jh8{TQ#?B-lo8Et@Xw?7}H`l%yjZDLV_UO-hry@l~TL-?oeiOZLjgvLnB3oNzO{Dxvh105k$q6832yuRzZ5MLdbWJ0R;Oj?uy>qdlOX1BJk6 z##Y4L#U(!%{D%X92w#b1CEn3jk^&YTs>GjSi_R3_RdT1n2{DD*-LNCKSX-g9`JA(u z1ad%32yQw9^4NI0_6=R%R9GS*pTRC~o@@zr;q;4ZnK-*% zGIM6?&dn@y4+WujV0{@(973ND5~BD1s>@XC%X5FV(+WTed!I8ypJnnGgqb>B6nJo- z&^TaqwWKEW3}hPFZvv`ecPU|C!hgm{=na=%<3EUX)uQlQ07HRk=U^H3ql2hlR>IV@ zj$WYTDYhOA*teQ_@C|4!j#4$nk1ZgJnwYg(l9F;*&?gf-XW^KG7DaLhf44Nf9N7nu zM`{|HnrPzD3KW0IkB7_#tUh!SE{#e*$t)_PMBiN3!%-wmXqyU0dXyUI*q*vb-e+e(>7adHWsus|y)vLC#`Y=+Qqw zx1Hz2&pPK?>Fia9%W2Vvc`xh9Z~7Y!x1%3R9@ccEX5CD8o|*s2s3?_bd=0pQlk|lU z2M71SR2-?*+2XJPvM=D0j`Glby{lJ%|nZnG@*Yl z*$PbfhTFo`rpqq*0ljmNIOle4;4o(+8?Pn_A?n)G#FTh2!Gsfr|HK{Cs;~ixoL;vw zJdtya$G_YuQ##4P`(78D>kihU!Gw0c7t8YGve%s{2T~jvFa^$~UGR>(^t`tVZBQUK zv?^Ac?|2*((-2frYV@kmll{0Zrv2!8^*#7L(F;B;%yLp%$%iTt*_|w|^m;nJk&h0R zb##)4Mdvvco%k*YCy@uduS{t4s{Xs`-cC_lkDb`66AXwT$DN&8JF^2T(GPH ztGvoSla5`CVQ!=P4sM@#*2qGbrQyGZG~9L*+BEShqXK#}ZeukZ2N~xFoXP1Qm&F!| zQ|3j644g{0x?GawJfi2^M`y?65s6kU{fY!BwSe%1^+3HZ`M~6MO&cYDB^2EG}#Z}hn*-Y zmImGEl-UkQrQ^cU2!6%vJL1oC%Vd`?t z;ql&>sQup`?LaHmddZQL+7DP`@I7HiiDIpHo1Rs?+We=-*JGj#zo+e(QLN>RD%;$Z z9yNG9{QDwb{E$#<9FRHE``)Inua>)}3Mj1BE2s$dOeonrSkZ9EPLLaNx!>?}(+`^( zD6yIZ$hAP`!MOA_R)eepupB5L5*7w7nLXgYOz7Jnc{7YieK221vT!eK#bqoN`#O4s zNH`DJ3X($NtIz@c8@U5(d>u2FJee}dI_nSm`tQo# zFf_;}C>4&WQ1h&5f^2b!$0h8~`zG~kf>1n*v2r`IPu)|DX?=5i@k0LYzG?=nH z0Tp;y64pQR0}UnttXwdNElM9Dh$IL+IS1o4CY&i2toDu^ZD3yuEFxd0&b;&+-7n5X z;+CZMf%6G7lIu$a4C_hoQogKqQ2VBw*O^LClGIQpYN7v)kQF@qKJ_y5Pu-+|<4#}y z`jdR7gYhwG_n=`lP$nqwcEONO*KI0O3WRaI2xQ8=+98(LbOZxWGh9@l_@sNR!C}Oy@qhATH@=@M!UNWjNfYd=j!OPSB(# zkq&!6K4#MLl`y(GxTJ=e)S-S6RIQ#YnPT}4sBv6T`Eo7H7uc#jXN(}&23{YaFeve= z?kq|aV1j)lxy7Vvp(iEidZEk&g5(XdRx#N~I`A0nb*R4}d6G5BVSJLU;}RvQ)lS@4 z>uH^;8&qch<1p5z6A5Kwp*!GPi5ZVd7s`vY^-{rp6?+@e+Hb{#+Zj*!P&?=rcCF37 z@@i}6JwFN%rY&cG*gA7;a-1#O<&B1Fl;k4=QAxt4io^xNW1Gef>XChsu*CC|;efFFyofS$koqzV>DM!%_kARF%iV!5 zsLjOnHj4+1%8g)p66;x3jkd8Z_$F#@7cSxxZqICCOt#CgNQzyzTn5TG=sB^%6V>fj z^KhZnrj||6w@qXypXfM-y@q0Mk{Xq0ud5TaMWvDO9G^1WStXm%2$%{{D?*yM*Qwa8 z_9nX>`i~{KA=Fk`f$}H(KzT6wF5#=5HKDIPwkgu+1fiFKTRW-Ix?E+~Qt`}tk{y{E zH6^d;70hoH?LcXImB?vuzGKGz=T`;=m(yf-e zBD0n2ASHnRC*gUe34bhWz}xOWUscBV z{?_mHB*u(~ar3baI}k3;u2cNuF4Z$48Et}fXyz|~(ICyo0z4S+S}mk@aQ-)5SSmZ6 zfkvdeYZX@W1x~z&g-D5LW{|+gbg1wO(B$g~%mD5BNCV3iUFBBkd&C?k2YX?nV80{Rc$mu>ma4Ffd24h+ zVrlcSQa`8_`bMvX9;9qz)pj#-aKefx8?$JbZhdZf&xIV%?P;Okei2YE+p_Hnmm;Rm z8&;DPhkY0=*#)WZ`^1avBQ5l@QA5sB#%r*>v;bx4j}VDt<8JJYK^;>_O5Fo%F(_f- zKKC}N-O=1$&9=nVXwGZ;P6E$}8z|$#F;gO&-z~Ww*qFfpY0;xU=ftz#e5BQ=Q8)=R zWWsDQP5oNJ4L>aK6uw0|sDLk42_~xWyR)kxwTh#5diwT0eV_o7Cc*v|75~ zOc@yc$N7JQH@e1n1NXD1u3C<~iA@D=bdRtWl04aIrNOUdnIYY_{4`z?_dCCj3uC=l zBZ*OJF2Rcih4y6UlFfH%@To^7c)`u{9`PFKdq|^SN`qhE?T7J#(gGOe?2V8c{Y3vP z#m-JkztnKBka&`^?_SWr{^#pQFYqCmxJeFf>0(Ry47C zu6CzOf4dRPj1+A>-r8Vi*&aMCF7RHC5>HAOhM<(OBZ{}$64rfr9$8GUhZ!+2taM8QJ zR=khC@zEI8A_%A~l)Ls9P$+s_YNQh2N-Yhxz>`ajYVr{YDp^C~&w>0JQcpl7ziwVc zp&KF4;1Xo>Wa&JIi`ney6Yhr(z@!+nRiVDLyKv^Cq-0y@dknXf`=V60ugb)CziZ4j zj#hO?Bz~Lc#mC40ywK9)byNDm7T08}L3&08i8@D(?|f!AY{9J#yfOhr6D(B3Htujk zbS`_z!nHQEL-2GB(Ybr5Il<+!_1!HE*gJLS0jmD5AkEV`f>?Wzjt2 zm6J}xgG*kgKviJI3G&+>B`saQosK&)smw;1ImT}#LLT82;B?O&+a+i{9vtw zyuO~l9_-^~?0_j{?I0b~#NE~WanWA)(L+il!Xv2lEM>-sf`%CRVa|jt(QCtZ-~^_y zzbYOZ0xul3;_Zq^%Wk~yUN!+L#~ZT;IwA{oRSSe7t6OB=vx|GDLX zKhYnKZiB5;zp&!k!k~~qe&Y*1jZO!~KYL@IBh9ZO&RbF(5GC#9SlS}q4(yvebO97J zI~}}S`V4VX^WAKL^VPi?>T3smS2&BFFYWna(|%*$J%0?wJNc6DmCL#dDFy=BN0#+T z(`}wO@gk~~-q92&Js5{;>M*z52}mc2FhWNxWnxrEaLmC~=Im&K_5*&smz(ET_35yW ztC@U+MoY(YLM=AiTp6mYb24EKq3X$Pq8m~>dwF0o-ztYTJO6}RAc65={ofqALjTqv zOLXM8Cu6-Q6!$g{hMx{2SO>1qYMI>oGm(Up!;~+(H~!ZV4vKjSFLWS)wcJe5^qkOv z*`#vcj}zAWOP3txbhHYPDV?~Fji}+E84o)Y zDoHhfP5a^|;=v!@TRAqn<&6BbpCDp_e}lVMGTb!_KEHH%p4`%7(mb|9j%c7b9+o9J z^Xzy+%q^qnoFDc67?_CzV_OB@VghNE?cD?dTa%%C5?=E#42zxek^)k7|B!2FXU zHM%rt7o5k*HLbQzg?3FH)N%zKygX4dY_^_ksFJo?EC&L&D7Fy3OW$7}tQPYj;)6A@ z?|95=m>@m-ql2@n_)BVl$!+`~f+p5vdPG&Q4$7&1nO3djhUu!6NYgD6lE5}>wH@Fg^m%}=_otzY`mXdSBNRRKeJmX}aRJ!macDaS| z*8Cq3_`k$9^4)#Z|K6GS5*kRDOv~GKPL}a%IPxT6J z*49z;WJ+XTBIWTy*gtT$MVsIyJ{Y%aWBML@vGu$PFXWHcL&k6=o#O~;6N-ed#r+H( z3kM?Ht+!*gj~)2&=1#dpEu4cIRe`3@AED@C8us&~+io~^&URaT%;Cz^#b$$z9o88? z*apGqywU|9y4RwW&f(a0ujh3X9iig|9UK0WR|5?O8b3_O++VKbX9R?97Y{%x|{khl5JyeS%(1K-#Z*QY@tnz|7+V8!k9y zP8rg_xx9II=r zZS+SM_Z{(Ce~Nk|vFk4t7N^r#HAv&E#s%` zEEPaN_0jK82$))valFOhANv0<4DruMBA4U;QE&bu;a1s5Jji$`oSqI~3&(sbq?0*~ zO5Qcbyz||DG}cWhdIj zSNE(xC!qGGrTpBvf50vHrIj#4#@DL|^qGbxe>A#yFm`)9U~b$> zk5Y#!O2t{wFK+<9pM7O@)yvx~T02K{LTG8PackSzrqhagYkqos&z`QEy2e~(h<$}SQmR2_{XJNA!_V;lgXhz09cz4{D4rmh9S4dqLTpQB4&gOauN6dpW zkJb1UMIm<=4lQ+dwZEocGKaepwnLMkhYXA?E+AJ!!jP4SgQ1%3B1n$>)T5;4a=Glk1cKtiQW zsEKlDd&OFKcga_$*7j3x)uuKRR|7&u)He{?y@mG3Izuh5@`NPJEjBZq`5#Mh|-o4c6p0St=H-E_8vW z%57qgC;f0KS{bDaKmCXTUl#t~oe2qA#=nmWA#)vgelZRjGT;l{=4es zBQaOA{Gdq*C*vA*Z;Z&d{-S&sWth4D`)HWF1bZ=j@qK;+s>uiGpMYoJ=5GcK{;1D# zy*v^XzqSe{@%+ zqKV_$6dHa`STC$7fvUQ2tI;vG6OW6=`yd-l?82AzN%RZRaVn^MF@IHo7Y`9rw&`U@YKUsx{&piQ2_@6a4IB`( zEf4i;!8|86ueEu$&>yuuGZ}G*MBL3CkZsDrZSmbhOBBRnD5@?IidLSe=cE>zfrdK- zNsd458~cGp*V>RAoVPE0y@rSgo@I=~!iOwM5Dk``(n=6V|4p%DEPFOMvhs&V|FR!q zQCX=`OcLq}ifsnXe+M~XfC9#vnCx8H?c6Aw=s8vclLDCHMAt=fu9#~IZUpJCWDe zca{N-wav1emt#xprvF(M`(H$$h_9X#f^Sepvlm|M#I_CU9T^HBvPRtedp^sPo6IR; zPNQ#1T={OfQigB@i{3T7j^4V?v52yi8s;>yBShG1M5-o50alWMnq;{eZISfLYqS>U zF65002JM~LP~E@g%!TCy=!OYYjkt0Jwbr)gXqUHxYo}hc10RAg7ef~x8?1ima_Hg% z&uN2u{>zCGV_$Ji&6(?9=GiXMq%FDe{H$pDVI2GD7m=8!;yw_@+o{L!x1kcENl->O zDaS@%4A$9bLo+@ac7N`6P@*nmP6XU$pL0%OZk&v3o_JgC1?g+>RJ;z7T57bbwId2r zWcM{$w)|s~$-xeR&5y)^V&yEp-wM@~%$b&3o(l;r5aQ9FH#Gl^?Deb3R>(_bEshcx zENf@i4fa2}4Y2^8kK>+^5?BI4A8gf+#QTqkNt9yN67;W`{Z8MZ+L`T zLnuCz5g`@MjamhWRZlQj>{6|= z5ntrB!@DSIYw*=U0`H_`b1NMx86AXKGdxkQpz~LsJeZjrMWx4PaZ7`?CS3LOQAChs z`PfZNM48N27Hq!)Xl*6Z_U5A^Sa$LV+&-(^Il z0@Zc%0kxIWSDj58@y&Y@++#|synV%`e5_WVnY6fKvcPyZT+;*5 zu9|$E-9R@W}I^%VFq8S2Bha?VA zIXd=Er`&Sr&mSh=7}&lS@z`$=X@`))S?@OSl8NQr0Q5qd}K;`o$k1bmWKL|W<^jhgl5oM}SUsC3`s+5Xj2EIe7g?{*fioEr= zAAgb)@-0iGPL4q|;GX}uloSqGF;q*8v8EdCcAL7})j^qZBD}n|!pFs0%Pzhb|ERPQ z?X~0jV1DDtZ9W0eEusatm~1SjI-pDzp>Dn2CW#yjx@-&0c^fQ9&l)(b5`dchh??e<^SnjlT@wBoBqA=pblh_iD8s93K)?e;yYZl-OG{9Md4(*g-8}GFTAW zAMpYIqY0SY@sJ91;e_%Qq2B;bWIt%%G~IqwM2Czr0B-mS8bqC!x2Su|Mr5G?S6IwU zjD!GJvFqSG_IU-cA2y6{?h$K~2jLHiSfgHqqn1pX9Dv808z-HF;^MK3tOiz!aW?W= zz06lq-N~Ahsb9ytS^7nOdmbmi!?k@tx7a?!1_*HfmS}22HL}u!E8qm?vtj;*ZQM$eMjH<0AG=6i`(98+T?ury8sh z#`+U@_6^BMO|VNCg8#IM%VM$?=RyX^N3^vTum^L&93~>9V*5Q)Ux3u!F2qX%Dr_A? zix2|Z)ckFLWQtd|AU};AA!qV;B15MDY@3Xbj)X>y7B5yy`(;TIr(!cF=b1b$(woM= zX(d=mZfF!ANR^04eW}oZl<x96?+hdr*sE5PTn^rnhk~9R+0P2>Kx7^S*joSu4B>%yypLrG4Or| zC9HE!dl2;ML9jg+(NgKhq#`nzPzpkTria770$!nB7}*eHE*h;U)ah}TNKIek^C@AC zooTd^D^oM}mI&dZGKuAwrj6CioSv5+Iu6xw6SeISRA*>@ zI|H#`z4mp%r*$?p9;8EXrIv`VpCx5)7hZXys!#J;4td;~!5q=%DhomcF%Q4v-hCK* zAH+L)XxO=DkleIl7kc%)dhAlfWl3J=4!O|`2^>jmetT-|ydWWV1k4*%S4_96wcN6n z*WdKFrsE(OHxFG(h31=~NoPkMsm?`{3py{h)dfB3MGPP|vyb?Vw#n?%5wT5Vt(#y@ zCn;)xDKYCn_<+`(C7IQ^)u)9tUoccM^wB~vy7?WTwInrth5y#%6p!@_V(hFEP-!Jm z={G@wKx8rY7$EI|ePD)7b13`8HbOBM?v z!@wx05K-7r{V6{~Q__T9Z0iVRyFK76%*T}CWC6m@=OhfyjYcIeK%08@;$;`+2jTwh z1{c69;OT@lWime&6@Wpk$(!E~tHnEV>{F7)l4fSUKL!X~>n8JV*P*7|G=~wHnPBZ5^8+)Rn1XofEOA zho=D}`Z+-amK6!HnPPlj;%E|kGcdVyxHD}uW5GDE)wnwkD~cQXATrkRd+rPN zcTAoGDRmD+s5}BRgk6sRv;A%!K(kFpNHUPHDmhaErm%@qbzpP9=s=IKhxk$EB0#f> z-A5vCk9I%wcMCwwJhYPR?7N7fPA+vWN%t^5a7iGk zmv&s`H9JsIlLQSI<}%kT+fV|8Y1ET+{tQagm-`W>2Xs|=sMH8{V#W-vB=+yKW=;DV zOg&%&$AmFY9**MDlRa(TbQQae$7~q8vBJH6qrJ+fvW7mHpM>3Um`Mr_w5$Sd;_~W% z$SHD4CZsMqs!|h~mP(j$$SXEA_jH_thTGRit&xOfMZE-DxF3atp+Y+WzNkdb zh(d@FAE*!`^m>J;r1>GM8CH+znfeB`oApz8{Ro^b*3w=`ivY!oBht`S@w7TvANGyR z+~f`Zf%sbkbnik;L6D!8krA;`ID$#|vTEFum0(wYKQ6iUZAr1D0Sd$sh)lJs1JM3HiT=|_ID_` zkLRez23I^~{dKRrx5MtUtTHOUqCssJgT%y{kQcfDC&NmdKgriPsNN6Egf4q5#W2d6 zGE=MAVhpBMmhdL348blr2^)qpI%jTz6sGp0;lfVnQW(IF^jTW^KE^=KkWAQ)666Ca zL4%z4AB@;An9NVEqRQ4}ah%xFI7zB5q8en&-dArW?exkJ&n1hcrj>a5oMs{Z17sy0 zwO}6L#j!6$$1dVKMf(GB8kr!)Qu|JsfTKY=3w`}BR(Lv_8h=rYY58y^z@0r#FCFP? z>+^ z_ulO_HL^8UPG#aAIMH=(OUW0?|kr+98G*X?R8tsph8!H>g3e398}ux3rQMlY+Q zL``U4-pts{jg=Pybb3il!DR0#5{76li zgA^F(ANdhnJk!7OM^yoYK%`$S>zPZg03CTN73^%BBU+%G@D_ioRi377%`XZH1k&<6 z+3fGxoA3pjqRbxM_*vmg;4e@WW1zKf6!S;cx#JcBS&+;e4uEe=nm8SEo{#t|q519q zarf3TVi^K{wO+9r_q7_s$Bj}}%8O*7qK7ps{{%MsBDqw(5smPu_UtXzWmS;$^s7Myg;+W7v>R_60ie>z@G*(d))imYXac?;Tr6Nzv_Dk8 z_xtd!SNeO$(aHzW;dJTzZ-^rD%zH2mB38Rc2#$tfC8Hgu8M!4%#x8O&Bbd(uHlt$> zCY1~quC9_L(-{b?p$600457>eFTo3K1n6O@Hs$IeXrH;HG6?4Cb5 z7P@TEEZc5^zZRXX!(9_Q1*VB(%@^iOKFHqBzihNbjA14L?MKyMm(1eXXzC(*h!r=w z9|u4qL=S|$)hde9tao#|67+feXPF6L$dRg=9`xcM6yENTxBaYj$zR9O>-$u`1Me5d zI!*-Sn?Db#cv?aVI6S{W_9C=G9~$UY4ge2dG;Xg~&$1sWLT7kvHFob7gc)B%kCX@- zL#?)??U_3CUHaV12ugc%+J!}fhE+hE_g;x98!o=)V*T29^@@Sor`73b!wh@q>Jvl9 zm>L_C9Xk!(D)Z73FKN`_v631VRh?~#SUmy$E!1X`^8i>#)J_D*06h{_um%xPL@via zo_dWGnW7An%T65s_U<%_n)65yt1W9=R9NY6nin z1Z=x}EBLL_K#$mqNAT7;;y9G#(A1DTX>A@b&G!Kd#l}PDbO~nyD^jNL6^$4vG&fS= z?c2=E1Q6T$lmxa+hN~oq%fBu$PaV||?;N+f>p&X|)I$rqJHl{UkJ6FN&fuD7T}XJ%?0xx@CW1eV?Ouw_HhF35se0o{+l)l zWP?LvL$YL3gzw<`5C0_PGRsp$MQV?&~t-Xt82WdQxhvQOkn-`L1~f<(i+V(nvkuK-jnRDcj6!P9tf^@vaen8aOsJ@?@RMG^ube5 zfW`)Fd)lky6XxX+6kHUYldT=uc)wnH5+_ zcGzKF`rDw5f-wa{)Jku1%DccR!cMlCUEx4nnXs&`h+aaB(XIS_xOk?`$!cLuLAtT(v`lTIbF0^;^+5u_j2T>D1nZ zd=7O&KhRaEJ5(4c*tAy4Fjgz(4RcGwx%P8dZNkXa-K33-poOPYgijvwthg}Ae#c_( zjv&7B(66Y7_Ok`ZAyI1u&lC)vn*pV&NYj&$O+!(ASTxD4QIJ(7B13 zHT^)_)gYq0M390k=6T13to7(Zl6>bu=p?%F$7&-@>dQN_Fnl!BQH25X z<fe?9Y6oC?!G6hM0Wh!7>I1}2e*yXSIOU4tf)uW1urQ>{2Aptwi-A=KYWjv0XBlL;{g7+L^?Vu*9k@mXoJ~K2A zx?RjlDu!HHRz`8m%JT(qRMIR8D{^OCBfxpsb*^+x{H9is0<*KFlG;B%NlB%}y{=0i z(_P>ifvs#yXl_&$(sk0+$3GJr+n!V;7zqEFrZ}kbeTvKtS>;@F^N!rG=lP@8m^v4n zapU8Gej$H*T^wtB?>-Xf|L&F%EvX#&r-7X!Y02RDwGkr&iXzQjSQ=c~$FcQ|{@U5r z`xp$MW{twrgW^el=jgq}-s0-Fc@KYegBS1$4T=52%Bl`Cm1-=H`Km(bhY58ar#L*) ztgKSl;z42fAdp>_TLF6^8Jo8cdmBdAEuk!lsJQug4VgOd0!V z*}j&snOt64-@=EXWSo`n=HPY;@$=Y43RIgP$n)S2gy1Hx1PiaCF$v#?@jswuJlt5u zT6WG^4Ewbu18SKjFejEx^0G&vBs5e<1Q6)T#slC}5+b`8sQMpKJHEH*{{gZ7VGRBU zy_Wwj9cg-PbS7xO&__m`7?O6(%=Os<&w`;8iW@b=&%fXmNz$}hUT>lKE5gaqmXxK} zCdQv30CxE<)(gWFD*W)ixOD*BvV9130tv?SJP(EKtKZu&ENS?i9P|>^X!bLcHHU1e z7|>ZPvByuAxbep;Dffmdb7?Uvh`t(VA$%zc+P>R;m8%RApYFB~%W_w~gb`@0Nu<5e z(?G3xc)|g@-$We;3$7LGJo@9Fd1BzPA#Q^LdQsU=bFy@*fs*<^YJ_Rm%@zPNlQtcz zMeJ;Y>h__2e5_VG4D21gEDlPqH0Yf}w#SCh9oH2!x=cr;xrIB1lnUdveCL97n=1jY zs5FmyU&{2S82QSI~s z?%b-5jrM$18}hpsdy|Fhz1OaGJIEh?Xp_fj5I5?bAZ4?>-A<@fOdP%%l@^okQdMtR z6O(z(S?O?%Pvh@J#w`Ud)9Ed!Z;}v+HiSv?CV!O*@M$=w3hW2kuXEE6-kRCl;WL=7 zrLRuZp3#ebq5Wdy5W)!`6I`Qz#f719SHe*fGmVnMfZfbMWNM|%HnSV{8+9#!_YV5? zlLQl|`cY}u+ioeXT6$}83P(>xXI>kP2=elL6?ON1rdW;gO_oCN52q(9NhMl>{*^f{ z>yjQk<_XdrI|~5vmqgiqcNcfS)dUk5EH*Rue#UD0`pc2=zU^*TBt%Uh2tmJd@hsXP zAAdFtJ@`?K@0RX3;jrFA56`rwrv4qC{Z~Vw@i|z}22yhR^KcU<07bTmZLF(4hn}Ea1Zz{?#er zBkV*r$8$XJ(kwF_<ESKEEH`vtMu>9Y9-w2TsMC7G`6^G5YDX) z%6J?{S~#L!^X4x(Yx7#8kE~rM>6iVC=L_bjCBi_Bx#oT=%E`hwjZ5B?C)H0ZWBaXM z(NhdD+>$uymSxa(<&A#uFCa5zFOulx*hiv7%0;%v5SfzaG~Oi2RE)&74MG4@F2t73 z>#3uR2rca$PL$BPfv66`$ss~9Q|HM+?Cqf{gAl>y12tIl3gmttMPsPimzu@=l|AVm zxtVp3P8}CWpI#UY)M)W15Ro~M3eY5K3=Y$%^C~;4O%?f3Q`FpY9+?$}{b9Z{I&)og zrm*Rc*UO`_8nfB0-s`>=@2DP3k~32@u%L~585oam>Q>Xt@{)@!-&p%BLf6(FdmN~N zgzzD1x+rbs7THFamV2DT12)bapc~F*gGmZ(FZ!xF)$#r6nrzLH0lv2vl%3cyD{3Rf zbFk+QVXWzjFKP8kOu?pBj(KuuNk_|{qD_U_72qVR7cL5>jUxJ60<{Br>I>t1AdN}$ zEfoiX6K7`}6RD|)2?Wl_TunoRvE$o^Rx99 zFeUpT6e3TPT?s8G;gQ?T42-#J?G>J;HnyF<8tM$N@mRKI0dg$1vI0{Dm5Yx5$PfME zuCL&LRLH}AT~;;|Jyqkl;W<5~e1qUTG6jY%@^QUZjGb;CMOpKa!BG<&Muc!lWpC02 z`m$xYrXRLBa_r%e8jdjP{U#P`V8OWeJQVAe_3f^}1a$BSbx9Q$hg9V(bkYft7#U^A zERD3Fco1q4iBcO`s~t<0xew}qu+c(PWz9#(^P^s(-RV3IIMiF(MF5)7$lk1YC?6?m z9Jgv3Xv5U*tad7kUu@30Ui!1-y4$E==72c{V*W< z)r_yu+YhfbOsm3Z1?#4qD#sGWLSLq*jPxc7j+j1zfxC-s&oA@An7%W;!-w;}U>Yl| zcl^u!*&p1~>UzN#)MaiRo)^e}a#kR}jMyLQY5+@5Y+_A_rw`-FY&O8@W`~HyChaL)(GxFJX2GI6 zy`ElzeS1FAipw?ZBf5X&3n<=2-6}t!ftB5TUoVV;oEw z_F?`poa0>QX=MCg-laSFCZHJiLYQ~qO_NVJd!%5X9s!lkNhTUO>w427Uy$?qYf4&} zOwGpEl>4A*f%=JZu_`RJ2CB(}gQLs@+sL%4icgGpppc4o`f!4Xv2cxHgUJ@UI_13c zYzsNQ=|p2ZU!N^XE`?lMJSIg>8Ypio)^eL4swyGQ7*kVEY+Nkoeh|M^siL$YQSW5W z0ME?L3|*cS2-<#oD9&N%JaoPh9w4<@<=0)*lr-vFYC4t{d7QjL}9`=_YP_I*5?ROaDHYUqoUz?-$KOe zBKiQBC;~ay+2vClf17?aM+}vTnvtlF}IO$FPiyLJNt*^(RKXCJw$5?ffu#o zA`(YmurH4X^Iq>i>z9{vfz8wQmbiM%4GaAsp)vcZ1vA?e-YgQW6W@)V%k)i2GaHcl z|NHIW|Cc*y6?vRKAkxuCoFXer0L#q1@2&NC+`%AzQk~$;WIcA$8S^rb3V>g;G`{E% zd(paPNfuXaY{AuM&kTtT^_eDbJjygcee zwF%PMm1ZDTa^u~)CQO}P6*Dy-#?^n|@B6c*{JOJq@@*=yoT*B~=ZMlk=R3Oqa?~3U znJ`2JFNoT3bkzuZg_a(87K@!Y$%md(h%lAG`n6WV<-{i}j^~)}p4v$~7G)*icPoGz!Wb zhm)utQW_~mOJH{@eX?iM$C<2x6x)mJ;dd#277}SotIXi0(d4G4_TRPi%0>G=zVAoT=Ri#)_lz^Q=$KeehOa&tWkv-HjSSj&n z`MAc}9(t(s2?BNy;uObZf+x^^fzN+Xuy&CXsDhgyJ>@ZMrGF=FDTP^^1yuW4m=@Z{ zX2#Qk!)4BuzR`=#eDr3!%1|n?Q1e*9Bb7$+trCisqFp>+|H;)FejjXLk{eD+Aw-Q< z&1l-xdm+QgsMKh3;V5RSrriW;R;G}ebQN*zq{ixmEnBj%lLp$?B1!StV&-$4en0ZC z2;0%P>0-Uls9bJ%x>adPof)7qrz-0P>xR#yw8d!!i#91!v>@#z@!f_M$c_(kjr+i> zZ$*~fJlZhe(E00dc4QK4srd|9M-bq8TC zaNnaeU|{#INH_5pdi!TL!(?1;Os3nLeTZ?#HZFe$q{0Y?&Rkq4KA%Li7L~oeX>r&y z?4h5}i}zK><@Rgh3>1ZT8r!7&+nd@ud1kaMMZC`J``b-rJ}S$74JqQ=IYFI+R~!qQ zc-!OUJkbsqR5U>ZwU6{ZxOnGJku+enMCzl}`2GoR4dg`jJk8gV?<>tBd_LN12kp)kB6z>Fb>NfGvi!2yu?1nl=&9J? zn9SRt1cRxeq`Hep4O!lo;r2$fl0f7Xv)!JcP9`u#PlqrLe(!T=*sE%%BJZQ~EfjW4 zsQw(2iEmm+D`a!_K!Wftq4FFuu$seDh{-&RtPbkZXuT9Pr7ajg-rHB*6bi}`{>$1b zHzAkp@*dRQXY>;Y-3}c?@j(5ltP`_&y07aU2h`WgfQ&6)vf+0xIb$=(BkZy;J(%Ry zV|nT^>Y{0aJWVsNJr~u&+w&)Bo7`WA)o0ac4yZGUj8M9}R>6LRvR<$#pJzJ!FqDaO zHr0^DMasxA!MJ$DW@ZSDON3>^E2E+c!(%VDhP#EaA2*ii{1GLiMCEq#4G4Iw=$&`; zw%SyCyXp{KR_lctQzH)9}om!?-H?KHke33g8fs$Da!S`>%7 zRhmH5B!z!wSjY!IR-tM*H9&ckCV*=wQ$5Q;Lw(W;sy79)<(H4h$8fmQ3c%T+b=QOd zedwzwJryREy%TZB#coHmVsccOdDMs+-q_qsPKTS&G|<%E%Tu%a;D7Fj{f0}eMHvVy zX1Bn4RC3|nqVe%^A-qN_Z>`M%GvUvbw!ZbCG-!I+bEtOVS+GVl88Uxz<_K~2x zJyhaRyZbn+;L|KdFPp^8v?gOWw-PmT;e7l0b_M&0a3yNE7h^ELgD}q z#o-k8*SsKhNI9BHYC`L$-6kP~V^NML&+PbEKd^q)arc=cdr{c!&vx6-+io=GDL$i1 zEjVgEYv%1K3+I#Hk#Ba-7L~n3G8!?8F<%}(^!>=c*3R>+3Y>+^PNiXUT^}{P9ba@? zj>`EGe(gO!bkLSt^?*RK78-*N&S@veXn@Dp`3ZNZSu0<^dQm$j3rw%475MyKBAE%< z>k7D0GaSJQK$reHIS}%x9xNI=@M^%4#Z6AcQMf?@WWQ@GwiS*)0=1&VNn9f2l#+9! zEkNhS7sM>}$7cU2_VBO97r>_dr384ZVbA%|ff(lk1`y8xx4GqDfn3HoV5-JS8k=wK zzjzje7{2Q={iWJLcFAQ1NQC?HCY&^7>A|I#O;T?>SN26pCnRF6nviRUlze~%bz7fh z49R(CN2RC=8c*fh)E>xL_n@vPN?EH&iLh?Ongf)8U|#3HQ8rs}Go}W}N4{ z&3TkfPw4CZ;F!2GCWCvtOGhc85X%hbubWhqg8dm%HP2N=d2!h!7B-KI2qLiVkywS{-irS~O_LGWO z#0VbK86$@vV0+7Bm^eYay8D?XvX;yeVNYVx0DrT!)STG+WrNh4`%9{3E#_{3!ztFe zd1X9ZQa$TUo8P7}*sRKKn(7|X{0wCO7x>VLD*g-juz2*u zl54Q%oDk!(`q(#F;@wVM>%QROQOEq&LO(x)*4FD%QtUmFFAvzQHs$EZSv9q9+0oG- zA@@Uv*uZjDj9&p-EVp=GH#YMqpz12ceY=0aCpi4q9$O(nMsbRKUAdTG$NRNCA27xBF;uAh(RQA?cY#U*kPXx9*F94 zJiFR+2r&3rdqtp-$}oGiwu8^K*)=_BOD}9RQd!*zK3rgrHH}+D3NNGmTC{?ye8SQ+ zQ3V^NIEPn;`uI7+>V>rDkId(LYB9T~Co-0=VWiKt^mou0cN6{?Il5!ep&!NfyYTW) z7f%(8z9t2ku;wZ7jiK6^PSKWYg*}s$jB~3#^{yyt60gi_3)}|m_QO<9#MNg6ZFhEe z0i^QOQu!d!j9WQk$~->Hd>;Q-QJE)ZRJ6dPbEN{{-~V)Rg}8qIev0rQtt&fQ2JGF( z#gg?6hnZc^Z>w6=9Q>lnQ+>N%D)rX42YV_JksoF5sSt}>WZ4#iUq6))m-+d=fLd5z zs#iA}=7WsRCc%UD;n&^Z@BB7)ePCI+)jp)k@l4Yq9$YMwwsp00K zP+L34mJ%@(+UDF6-WFW*x<*Wy4Gwo3`8qQZQd%1bNU@Jt!I@&3d%sDTH0V@l++2AI z>!UmMVjiD>$BtH1R?_CL8;e~9Ecev_i(ZC=g6n0Z`Q!7WHn+>$3_hNaj0S8MEN)(ChiY8GIE?^`Px#(@q zaV5caLr|qA0vht_YB zGW>O=@PC#E<_+=@v5R%!j2-&uw{cf?ZVM+==|b|cOdM+xwOY#cvRyUE_@IfsS8}8+ zm@V_n#kPasUFua&Nzz&SPYwKF4G3Ppxk`r%0Ehh94F6=6mG+dNkK{EtToiQRhXWg( zR(+~pnWM!Ghh&_+qm>w~=UwCF6qTXsVJG-43kEbr*DGpq2ank$&)lKf9y}u_mHOAW z5doCTFLcaO=qzsf&s`dVx`%_y}fid(+OxgB_vZ_}5nNpt~uDm+`0|BQu zh201|XQYOa-)1$>?^+?+=l1jA_kJK3oq{LZ9LwBb5&rHex=Q8*7BnS3iB=XK$;!D@ zCwqsTLni%t&@80>(hi5=|$R5lQyRbPJ^tFUigtl+R-pTyX1nKXz`8eTWu zCD0>cA0l&+?<>ysD?bcw_!V@|=C}NB6~KM5dQl9z;4gv|EwFBHYrI?Xij0O>SGD7t zmZsDJ`Uw~l^oW-Dgg+!MA|U`z;b{@Wz~0%k$}Jic$Z7RV(3>f9ThrMAYhdvRP)5_PSvAQy(x+@rPW@Wl-SHt7xq zg%v(+k`FgoleP;evfUsmu#ux-2h@MYqesf%F>WSk$FE_JC!yO)9HI1Jq~jQ?o?rU zxOCvoKheE79hS|re!M{n_I;UrQ|!{@6tcAcjV9Fz+1TB#26>vxOvt`^AA7`yYM2-E$p%a2+FocqTr3W%`a zX**V&l)6bnolMh_$FjiKsagw0`I0f<;;cUt&@O(oCd%1;#WSrfw>kv(Me`Bu|N6n8 zi0xzWq#~WZ@~u~7kvoIikI2g&+m&@sy`9F+m7#RknjB9ltzV2&hZR03^0D*VyPStM znC=Ci@qO8Su>-f+uc*kI~?*mKJ*;DNN^joFI3oZ;U(V75zo)I|Vs4M3iie?Jo_9~oxcDVEL7PtaKZ~9{99=ln7iTLx(gD!Epcl|Rm`-6$#YeS&X~$2{3WwzE6`gB^exsLc`sZjXO>LPkLzC(nii1H{EJImiRVm3)ba%R%lv~ zD25$JCTXRYAQz%ekXnj%8O!x7DzY|lI(peX`f;cF;P2RpN=bI6V@$eZ=Dpd*ImW4c zljAOwII2m#7JU~~KN^>fiJE*R6iy=v`beuq(B5XNiG)8$T}qX}ZPkCSHwc){n%mXb zy)$;T{cC;M-(I977`;8pa?g~8nq@}v?pF9W1Do$+_B!rVb>}*6i6^uu+Mo1c7r^cl zt#mGko(twaU!%c7Lc9sPcc;~EVT;*W-hU{15d7k$udVhJ0C zj_#-oWC0vF_=U@yz4T9JcVtCB9(t}tPnTTr3ciLjB~*75pZ^UJ!)MY^q6#5N6RQI8 z$NVwy7;;YS%7z$&SgSoSu@P1r)CO+uv`>NA3vuI3TI8D?<7C2}?(nQ~49yS9KhA@vMGg@@e_E@5AwB z0XEsLb85MW`wl@4;@(;bQ1tkU7!=((@N<`gE#@IfyJM!{Z#<@D-kMG^OgLyLIr{C{# z$z$hhc?WDBI*`ps2Yp3*x_Os@C#F7XD%<3f(OyJC%Tc@PLJLEvIjkC-_h9jqwDwHoUTB;|EEnw&9#*TSDt+sFkx!wOTU2 zV>dua@H)dj$yz7Nq%Fkf<+xUl{)j8n)p?F^@od72K8EXWNRpSI)mognmy&Q{=h^j~ z*nYS-HB}gS)s=4bMd#?fpL-jgm1ww3H&#V6{ZE;QNbIaJJXt-sSbx#k5;1#WvO>$>>z%9b#ej#Bw{{6uB7AowSZZwQ#D7w#|_S-gmu# zox&##dXT^&7m%mB_iV$l4PYsU-`PFx)Fg(xUYmM<*CFj~CohAZQjCT9<_QmvPUzI8 z{;Z_D4X4paGXm&p6yZzTg!o-tEYgun9G{8Gi~WjUN^twbu)#$NrAI48<$7Lom%D_YW!pwmjw}N4Q@-yzY+?F{!$rcD1<+149 z`^3kxrS$-*e699=^}QS|O%3AKPs$;sTPtlP&uf#h`z+NgrAJh2;*Z@2-C`%%Y745))MXoz(I$mlK9m*xiRa7 zo8BF~5$|$D+E8cQ(hR=$tG>Cn4=(teUCD6&vBBT(=>?VQtju!FK;1S{t$Eud;3VHb z0Vm6vM4N;}{aum}js+Hx>bAz1q(Sim{c??9h|6Vae`wDKdL}9(NAv_VTR02ckhzBA zjq~yIxkPnUmqAyV9+gD~4IMVq652XI%@&pJgy6e`lT8KGs?D<=;NX?8+cN3XIz_6# zgPPpK9|Agn*i)|rpj|gy%7J%H0Ci=dys=Ka5mu5MPdvWiUudaMi{L!>Um@1t*d(!j z6ijgFNfr|5L4bl5D|5qP#U5kd9E@s-n*05e#Y#&JjQqHG z?Q=@$)&Y&JO8e1pU?AKUF#GG+b{nCx4b=D1M}&A9$j0 zDkha~1vMJbM1cM31x>WLKR1!5LuI1og;5`>t1PcRs&EYmt-xFf4Qwx@cidp{-P(D9 zrck@nvLaIekP_FGB`$PIvc&PDqGtJ_FME-i)k5ggpLBj65xbfJ%}|L`o&w=5qvQ!U zem3qF+K~-ERWvlsPPptFm~M=2ONmRO z`u-Rutfk*e9~M1E-^!L;e@fLtkzNiPTP%8o#ob&yAO6^22)ZU@43SZV6eh?uO0QR- z=}x2^BziG8102Ok&N4TAx@Dix@&pKgIQN+C!l|69PZe`@8`7QY0$+t1Bk zih(PnVNZoxHd>IGJXUsVBW;?QaS;N&!-}{ejyxcfKSmkj2itnNeMw=O zRJhRN$nr8W39O9miBll#FyxWrJWcPS^fWz1_9r4SW7iz$;wP2FI$T?xx zYQ619`}}dV$PgXz&eTW`A#5z{PhvoJy*(0eBiwn^BE!ym+*Q?a)u#bazDhu=yx4N= zgOatvZ)}4Nj{>gkMBH)Hz1{N9vh{c~AdpLH!^R*|Q4Y`aXV1_I`97~qYE|e^A1~b! zeaMU+dH1qizLay7uiB0vZeXjQIFO zO-}!=rCkQ7#uKyDUuphqeNLf4As`*c)7&^4EaK^fJR}gD%h8lxE1>Uw30J1Vod|Us zlOoxSM*#?xp77-}S?z_L9Uz+UGgJ2?{2;NzX~WN`Agrwo^RG?>{7HC@%e3nV(e)=> zA|zCdfPfhCb8)=O68br9?Y5)@rCxM@9H;d>n#{+ z!0>BBh=DGLh0Z*z5Y^WZBQGnn=5cWzuugg3c8uspj%~f#mkvZE1|Fb@4t-3eLM#>s zG#$j(U9n$<9Klz~xL~(~mrlz78h^fWVocFefb}G~v+4;DthRTgAJlm3_0`R^TL-LW zad=>i-7hr$&1HHSwCagg;;T*h`8x1sW78%w&V?%4?^wDyeSJjXCPGT-LD3Sh35b(E zd0S_B#$QGMc4~3aGXVTHU&a>|WZ8IVm5HwM!OHO~$)9b*44Hyvc=nLhqd0QUWJ`pw zGuGCB2GoZQADTd$Odbj2iIp=(Ts=0_3!W+K{b(=>coBm+Owb)#1dxy003=Z zuM67O)qhqoo&n>LcRPo-eO=Xf-fj!N!_ROtkn*$tx}o}gV+wy7n@#VS;+b?I52;6v`b)8f_1vfTR{Y$YLh{r-vwd39mR~oHqPx zVy(E05e?l6SZE&ux&kH$mC~MAfN_chEy+AGt!2KEHlk8Y=y8@Z1kZatFg)3irNp|9 zGB{AKRZP4&W$qk9)<#ILvd^mZytC?Evkp!19=)Xfn7r-7O>3T*8SHnZr<7vxd9{P_ zz=I)(Eb8F9y%NvJ&(YIiz4g{CZHE|=T59BFKGq9N$bH(!OFHm?b1s=R64n#%)bl7h zKgl{@mP{FE%Dc*~K*TI~lnh2sCu^OFJJ8?e-haw{-?=kaGjX@mBVmPbOtZSWG*2Kjx1OFaC+zGE2x*8gT)e!2i2?7$xvwuMX0-}|--MivX@ z>z{4A!Te>VAs{8CEJ2dMxo@R61b+CBIU6f}Q2&P)I{58>MN zvq*_~l|Oc1Ud)(T1ca9rE33O}Y9;zVmyw&}mzB*}24ah%I*t9L&}((y*yC;hWSKsE z*^W0C?`1F6`b#+LAnicB@fdd0=!fVNz|jY21m|Wf4o}yAzIsB^OI-1)Tn830%bSzA z25mZeZO0Otw`NmT&Ah7RK1Z{BiGKM}wh~3aitXf~_hPS;Kk%wY;ibI@Ub$E6(r zoe+^UCRy&-Um&OwBuLk_yFW|5xc1f08E50J1iZz?cK#i zdN`}7j%j&Si+|&o??+M>hYlD?DW!nI?7pqE4QJEZT2u<1?iLwax^n-p+d%=~wzyy; z#n3KH2hafIjgpbqi4GXl78NI61aaMR-kw*tQ1$C-dhXyrEEHEzu3!gpST(mN=gK~ z4v3QnydsGpdLUe&*d3rTi!ODXhE}LsZS}%g3Se&y8s$Oc#1ZHOb1|14JVlXsXNko> z^r=bg45zzB(}pw!m0PDmnKd{2t)63=~_I-?Mn&1h{RNeH-bw%z13z-dJ>8#{H3DKr&5G6z5wk( zFQ3E6PD5YM6OgW-QzZX3DOBV~Rv~lAJmk>#3v2*xLx#Xg&dUl}*$ zouh>xc)v@ok)%LjwK59)V<#X-_L;q4tN9Q%> z1FR24^hecggz8gM#({rPWBh9?p^4l zL4$s!EA=y7ED+d%;&$agXQ&f|!#u1nRkTj(67a{g*lgh{U!`>a$;H?NwJ4M6P@L>r z_xiR)Z>b~7z<>}~n2{AUs4W3@y;P;7kpainHV2L2*I;NCQxz@1eJ_cUk}z^E!2vg2 z&d#0VAzvm;v`vH8XbGExwHjuSZ_LuZAhAdI@z9AgBFp}Nsf+8t(QSWxk+$O{!W?;? ze@Tx3uf#VD{enm+l#2(=$Wc4rwMBe%ww+E$sgj?M3XeR`86l=u#Gp^A1}1t^Q_A0_ zjO(tqAoxJ!hQHQH$3OLg*15o&hhBk~s0+$`ZN(8FH$I)4#KP}R_-^tgL&5*lWPqJR zP1tEU5myja`uDLk+0X7eLAz8YCTYh86FO$PxVvjU4{WgLvHSpdPNdS{covy5z;OTV zNws~V!J)zT)q-O!Z9_u~{y30}V;BOFhn^&!NCqc~M2rZQFuUExcEkdbgP5Q+m205e zeYWr^=)}K#d8>)5f%nJIzf#;LdLWnugapF-q9v&D`jSL!Eyi0yuo)@M)=<{i2kz;l~{}<$$W*|3nIBtdp6vc{{rmt8K96rka$`!Hya%acZIum;dCS z5BOEQM>uX50disIhMHJGVIg-x4u$_AodfL@-9I*crpAFp7$(`?X@rP$Xt#hwQzSs_ zgw=$@5si&qEO>Z$ve+tY{=67;$w;b?V>OH|Sl^uPYUpmg+F#e$P0hdEu^geWCbp#w zIorAzu5E(2)sVx2M}|L^{NY3KAEr=2PwyD$-&aTNTprFARk=*pUzV3w(MHAI*d;G> z_-a_M32Ze1J*dfX*#mbwST1tav=WNf;BQ|H+*rU1HzeI*oroB*m0sPr_rtayn!`sb zTD7#=;@`TA;{FtWW!NV1pGdy4w6XgcJMH;faG^JOock*KJ8l#8G-GZbRvuRmRTb6R^T z;r=6W?}l*X`=6nISz(xKonE2+{5P65;xq|Mapdoum~`A%yJ8Ip$T(g&l7!bYQhTM# z*??36!iz!e-e}J z$#n~N*dv|pp>hi}ycAYVn9>;C_2`&q+H3FTb`}8wbcMT@FiyiCL#`9mr$FK!r%c*D zVEW|@mpoY@UEvokW!2du8oTCLUnUOzn6WPF&!^Cyfep8xeoB6#yMT zx{aHB^@iU|iqwxc1|Z6rEy`89t7D!cHIIu_B5TMQ6(W zgqt{`rO?pLdfyW~@Cb7li6b|>H)NF5mjrLg z@475su7EkC2HTU}kDXflLvrQ_Fm#z-3s5_1?hWk^KQx)%{n&bNoRiQTP;U1dbplwk zdkddO^|2M`@g(IfxU81`#C@9sC_KG6zo<-c?G75f!RSpI z9gorkk#XbtSwnKpNqxv{Vaxo#6GD)9kwDS%eS+8}DdUQ|I;XfKia2pW%q^(%X7~Zi z%<)=zo5VHutjAACTQavCccP)T@dJOr=X;Q z+gzzxI|{_p9TyAXlXQjWvGa^ZMhcrt%L7tMxcX!!7SIx^O=9ClYGKvEd&te-_{+Y;jhRxDA{9+RzPBl2YUk#!6i)1b&syolUF=ZqDKr6GVQcCPLQ+0_-A` zwv0^DV@X~>wjl0=VKa1xVJxJ0?6E9fV7;&kG?UR&jGxyq+aTS;84gknXe;rig`KUai!a3@kKaG)=F>@8`oQy*-Inj$ROS!)j%^( z1_Tpjxh=9|!i@oGfe-tyECZ%j>~`GlYTKd{8&6_PAR6C^y((oatkL0y;RF}Y!Fnx! zd{J4y2qVH!?RR`7vg;$#);%ZEoUv4_zlZz<15)|qSwO!Jd4OPG4WG@ z8+F`zvn0=Je&2d|bbx1-F80X&q_!1j8X$SGq*B-YZ-PJn-=Qgzd066YTM#Oi)mR1_ zg^=}Z>2359e`8=X-Y0pSVS?yP{7*QIf?T(x!{TEnt5R$%E)D|Nc*~Yq870>KKS6X< zYPYbCte_o|*b&%V69u#?{E1hQ+z4QsvpfPD(IME7ZsjZjLubiAi7C6hXUP*i><5Kd z;2-V@7%_+Dw@H-x5<<)L?HPC`mWmnH^JPv5`!kmRln}CSSpSSu0Rabqx_BH}`|zSj zy61d2{YJ0J1c+1kO*lIuw?GveG<$vGAM4OY99mlbNAC`P0Ajaql6S8w)3-kWZ)9fd z5i3B50@ozwz247+xzCel_a}W(w14$Iys^NM+oMtF^kDUyVlnK2)+%T0rLXR#n=h!bJ&bO`noZ zvgrG8AkLx53CpbU;^0_q3(ZNk>P}yh5KWy6KQwlKJx?coEm{&g(gVz6D6Quo)8n4{ zF#gEC#|J|vyG5{i&y^sYCcxJlyj$OKU}UkQhUFYZErV~P#g@QoxZuoLKU`459jT5A zc(Pm-4BWoSZj%@R%$JIe&1^#*@+LsHJ?L>*jt_0Qg{a*`-3qo&fW{3_LcKMART_{l zss^0veBw86`*!k6#2D+$vYiGTxcS4Kf`7M5){LxsS*hx$NfBlKgzG=_s%Xhl{sRY? zVKi4yeo`8O-vT_5Gkl+p?`H~S~Y z3vUli_Efo94VH=p?; zd{P~-87AHrJHK_ufDpinC~uE--(t7J3u3bkD02AqtG>R9sv-8!f}M!sut2V_5{*D# zJl(aD7oEN9g-lWf`G=nLXF4!_O(P%(cvA+OT*PKCUN~MY)7k2Fxf2(2 zXPkCrFL)xzJbWCX*kmKK`N+T}KYmtk#e;@66Tw}Q8=ZE$`}4eR*`7S&hLfQ_l=IL- z{zXZ;V{SOJo)^a47tIr=*V=l(wenYI+nLVW1*!azb#K20F)!Cqw8e~`^qG7e<7K6i z2uLFeG8XYSbYn6;pIsih+Bx*T^NOEca$H7EeR1$Dd&1#$N|4E$yTUYOY83bSh|_FO z{Sa4S`r+#>Zl@DLxk_<>)@{ONnti-0cuUm=H5`?taKVqq-}-_w zu6;Zofn~UOj*8klj}M?(tEiK7!e5{Kop3SOHWJ%P&9P0ChGR7L(z_B^Mb|{U+{Ir$ z#cf}d_odQNRGo;bXJZ~g~euaBL{^F>w|Y#eDGLjL+=>gTNjx2sQ7;$Rs_X4lh&vs^7r#qAEsKjS8n z1aV~M5B(zDAjAvfugmz$@=w&^OTo4NsO^VYj{FM$Id152{!<}c{1PB44{gOY6W2xx zVA|jf1@W~Y0QR8XxuES=Y+76V4EZ~meiuyjp3jT|i($n?&jYWDfBL)cNW%-*#u`?I z&yN9b0|pH1F~Lusr=c%ZBS;m+7W}O96x4cIYgBC4Q!bIox_<4-Q{SCt= zh_t;R7Bjl*#;)Bn<|Dp|@8S=4zk5%5{qcHT)F6L@MavNKK#88b7xZw8P3+khYP%Dd z)fnKLt>-`6Ldd$+F%4s=9?uw=7DEOJNSVCadhxGaq3WJkF_f8r^YUr{Jy4w&r4 z!~^0nJh74pqiSI8bd03fI+TD>fAf(wj(%)kV`O>L>lITwI#W#=0sqiWS`0tod*#bL zuK~ki3|*U3tW_BG5RGSB=2Q@6_1!6X<-~`_o;C}Iiu0|7*50V$q$eOd^D*oA8=pT$ zy_|LTBP?ywt+$@`i@u=kNb%q8(RQBiYL~n&-1RN0OQbffy_|3<$Vd}*z_pWW*^?wg zf5ELP{!}Xa@W()K905zgD@FxhhwOnTge8ZjS$2hK~?s*1gkb83) zyoz*M5=*dHmbNP;3Bgb~*7ub}Zg}Oe^Ukg<8z<;9iYVxHGY9 z%I>w%He43h?M(6u_}zVtg928kM`wBq5#@o7>YT{sPqm`uqaU_jn77HAZq+mkOJ6+i zA#KiFT#P&$cWewEA-HYob4p0g=S+a@TM5kCUd6P3Vr}^t_HU-{MRq6q5lB%JG2Z)4 z8i1z(#0(&)bgfF^(EIvbLg@T}@0IC?Lxm}@1eK`SSdmA2m0{BYGRur&pjQn-!^Jan zOy--_kAKD$n8(49duitDWhI&88@i>r#qfv->1-2GOTb+=%StoVe~SzN*$#=x%JWho zKt#BYW?uOqTkhd++RK!MTvNkS(DuzLL;z&{Uu9JfR||M}qOVxX6iJM*cbZ5|s}=$x z7DE#0+E-$I6|)e|9~0}7*42kze`P|32D%n&OsMFt4&&Plg)~|>1xsyZAP#Xv#%1Wq zBF*|zK!7qdmqZQm6+g^dG(P#V?l=hZGa!lg!?c49nwzWyS3k_iCB%>S6N4NbsKd^Z zoQL4SMQT-)=saKZsEo3v7Q*s$p9p}`NDN1!%OBy-gADS;xTG(zU(|2s1cqwRArP4+ z$$fMdRCyBGrudFM>QL=Ph6Mg8_S?%ZN+HZZQzUwI3N@d!4xb~~AzIl?fFlvpwqs}# z`ee`lOg%(7D8g(4_>Cb5K>{J%)?u$VSd~iY#3nrYT?g>yVh@4?w7L0m^o>BoySzta zzgwg;mtP6-N9-IpFB`fITy|6W?6HmOgMrn_uDzD4ruQw)iUG~_hdovl>XkAUW75(OfNt(GI7iG83|_Ch?kqa^5{*gYFCfd%ob9;SG0|J9c>m>l2(d|pLYP-P;2?TA#>KI$A}DZ+{DPeF=&Fp4cakD6NRrMKs~_XOIL;8gPRM+=wTDCxW}ck25} z2n95|AJ63=jtA#8zS0M5i)LnU{26dOd*5|5V$N zJ`r<9FD7?^N&=}!z`B}y9yNs7U>*06a3Ys$ZYVk|eZYFq17xkvbl@5IG`TR9p?Ve< z45p>8VOi4U`FmR;bVLud?bn&w|oKkk%UG*9(paGbq@27~< z$);BKn5L4Tv{u_)(>lNJ$NzcwqUtO>2@7iAZ>Zbh-vVJo_Ap$JGXy4ivn zii$$05h5Z|Lhnhepwesv=^_S11dKE(Au0k&fJkUkLIi{W0V0GXq~8^M-}ig(dCvKs zd%kz_S6KMG5^A2{u)*f>p-bqY7xJ+|MyF% z-&BKzEEzpc6u{D-Bt=Bw9RyeC@Rz=aK2wRPnMHw|_=Ov04`gGJxE0)yBk~|XCB;jR znJU!35nY&{oNQ6Z}xisF$7*C|FP{bWoc7fjS0OO6a0rbR4rN|apA5Q_`*55<-FOQf)I@MY#%oj}h z#0Xf*m6ta!R^QW^X?`C>(9HhHT}Qod;2fptKp)5XdP{GHSCy}r z8BcIm8LacozK$2qknZXj%0c(F_cR{x(!a3o4*yJ4w#K6OJ^jN=x>}X)+Hg)2uuwP- zDUgi`z?{38?zP=-{mF^OavJbrI+X>B#U)=WIn-wWMGhgkF?DZ(me%Ud@i==ES3)E4 z!sdsY>gcql`9sa!pabtLW)2AX>M4R;{(+fV>q`sDSS`jOo5+4F%@AVe1JbE$Mr~kO z*WWJPpKFBVXY^YCxv3-}WgBBaElhm_tKDWW%8&Nwioo9sQPb%vfcky&8>vtoHtDmh z=Cp_&yW~x!xTO8sVg0Ra>PRI(-q>NXW9*wXY)5mo$U3y&7O*BR=APkB;g0$I2WmHH z>#Q?aOQ-dI%cbdyK7O{(%2(bXtsT*!n?j4Nv1*}0N6h3{SW{3|#_Y!%jJnkBCa?_} z=hhjVdIJ1yMYMQexb2&Tcqd@a4iKYz@=E{qJH*aQYSM%SzD$JRj1X8iZ*t4KhTGSb z8ykKsQBU9?Y}G03YcA@`fvGoDHb8H|;!da5d7t?t z#*S+jwQhl+tmrlCm!1;wf#Csl1`jm!wlYw688uIS@d;!TpRYc8Fr~{L?t4EY<-fty z@r1!#Q?*hI`HR*Ofe4<$xgc!u>B7h`6Mf2+X={TH+6&@3wbr1b;vw}pWo%I}L=J@Y zt#6mcnQNX{S-daYy}uJPS7M-jGuMy$Ox8KE-7$BUN+*fL zJYI$}KM_2=D93+wm<_KT&8`?4AX(V@#H_%w<$F^lC%XWiqSdgo(gvu2xTPVN29CIR zH^hA6)%NJdD;k1?Wr?F#?R}i%6=INue(ZO=GC%(qeSCYHa-vm7R&mK?zH;3{(3X6>h8y=-n z+0wXrQHfUD!fFwp2PcrunR-z#jhe~;(DvoC?!wNPQV@h zW1|FsQc4$@qv^w-DH}MUHZVL6P=Ubtxwk6is$L&x0s8o7=1Z_`uJ-3 z^F+me1O@Asc$3xsp)y9Gv-N$P&EXx`)_eL1Sw9+22j|_y0kzX2E$WS7Pb~uQ7qKP% z-@rEy!7~QRKdojjOFsuHZky2D(I2^cT@OHTH1^)+P%Q00*89$~S5>QBSYLH`(Oj~$ z<(nx_<7wZ2;7t6;E`$6FBNcS6-}~dO1^{#t9=+<#$j<+J6?TB3ohJVS2i0TMSOof8 z=4#JB5+7y$hb+ZS-&ZS#77d9^(X3BIW?1AbM>6J2L`s%O`OYN!0$vM!K22JFqqgEn zD_IH~aMzAUhK!vh_SE@V1X}X=(sc3WVP*b>5Ycki?=)lZRxB;s0MCEY;`6d!f0|73 z)`UFQd`LST^dp>jKe!0#3>tuf7glK>%S+S+O;ijFtuYO&|DZgoVB&cJmX-5D^qw+d za$MRQbMD>&bOHo~rs;E_cZN~qu00#+$5)WkNkjMm@vMtLsBY$ODQxhauT&-H{(FEi zcK}&GnIFX#hw5P+h|ENesHEePnw7?@-1~T-#m zN%!`jKgo#~z;cjLpoin>te+|8rw2PrHQlyd@7nypLh>4PHs@Q;VegQdf`-!Gzoudw zd6ko~la0cN-O>!VRIpjVP$6|5P^68V{NSBlD zv$?WAC;mUNpdXnf-^J3$KG$XEGfKmvs>M@+y@X<#VN{Lk zi+VKQlfy|ldF`t&E$GxwUS*B4asXNxANWiDE-6+S02cNWB41cGc4hEZJepP!$^!MJ zC}Z*@E~z}@WP$~)wT8F}%CcAim5q}@!}%r#|B4a1`eT&XnQI@$JjoR2rY$FrT`|_#j zxCrrFd*E`(nj))RR_LCXPoQ7<+9H%uhQu_z;xCHNRVS@&H)&7Xic( zCtV&J?tK4S*svk4CU<+#)R?ckmOotm(Wb=w0&_3X`P21?;Ua$V2rcy6^f}(674fGo zvQVV6Ji3l?lj~-JWU(yrn1d#zPY(4d(i|CF@)u4|jDD18clf3&RxUFZU{fc&{Ht7={&$npCKIX(yR~GNlQQq2rR+&3WiX}^_`v~! zn9nuqzl=6AJu|M&f9Lc>Hpgs94Vg}ARQ;zdKJcn)ospxFlG?3`l;6ryWbLMaL1mOR ztL(PVFj9@_KetlWzP5`tw3tHjr2}7Is?mG_LfNsSihoaeeLS^S|MpK%oY{zbKbDL% zX?vep2<&%(Y4ru}X4G45jG%b;id%-y7#!fVIIefD#1u~obRy!y5#|9opwnREI+i!# z7ZTG^a_@@ZP(=E$t=Hv)+U!Yf?)p>yOX89R$tDo#x;IppLsTE<5rt9fODJ)=2{^q` z^+h3h6duC^MUjoWV%+*!H4K#vnXN<4T5hgsFWt1=5}=C_KF_AKmdGE^D%u~hQJ&`Lq z@ouu_;cid_wi!ZCM1Urwd3)HrFC2P;pVe^w*@Qy3ihV=s@7s0m>fd@6k{d+T1?`$z z(L%q2s}bE^GSlkmC_BH5+``|u@cb6I;ie=R1jSIeN6t(z2)((0>r>8eHywcpmT(r z_z=9NY&PEMUUWKmch13->JWQa-JNm>)<~@hVA(VgDLg?+@Dnt+uE-^{LnM) zR?KANR1NY}nW*}eZjiP=+`VGmp0ERujgp0oT=mEHY=^-nF^sJ3Fs%5Xt08=}+o{0*F_*7W@>0o-Y?7XyLS4=uI_RCN96D1-(11nR7~j zcTjF?ZvWgA@i^TRX%?A_O1xYbA2iJhj28@hxhmf7qKZ`-EE3corL|^UyR3FS^;Wi( zmtPkAH{417yXU$&Wtx^%ax=_xyooDeb6Y{O)>2ril=Y=*0kD3McuB@*$LMCYmYSNvHH=T^{hW2pr>Nf{A?PCF^Zg2%;t;){KJnRqhi7p>nOP7l-XUTAkuz}M zrVBy-_1BaK zv`hACm~>+aM6Tfq>v{pX7C-OIwRDTjm?z^wL`DrSmp0L6vy}8iUxF_lYTO)I6!B2k zT@?TWBmiIlb-rhB0qTTLRQf)(qPckC(i7D93c%^1gPumMUI&6bTdiI5v$yL`X+W8d z^B{XzRn;Zz@)Od8&Q2^x;uyrek4t>M`l_sTLki;20jh;6)YrJ&#HGuyLHC#IuCRKw zOce2$pA-oFDrv8@CIzIBMr~6^bg5fegq~JfF8nP6zAJcFTf)SC;$PmEFV0v=D;VBR z{sX$|e>C-^R`6<1gV3we`pkJL@D9^iyOfku=~yd~BLZl`47j+_HF7;D`a)uapt6nq zmg{7np5FlFcl8QFO8|OT2eV2R_5B{rPH?)5X9}LvrAq@IR#oGcm$!aWKKAY`y4h%- zyNk#>7(c?#xCsT|p67|~D{IEfmL|0w+g`UF8@-exWZo8=z^7?VxeI z^9SvdLfN{v@McSEm{O|8x|8546D#wdMnbZQu^`a0mOLaU0R~n;TNwQYGK*78lkACI zq+g=5vx9haYOHn>a!BrOgws%(R2=->hBAFtd+%5Tp{XRZ0g z@z}eZU>xyX)55H0;uBnna<^;D2#5NV&{ad#mx6qVHc&H^!T};q1h7Q6VuRw^K?6vD zw=B85{@S;-8174yxV9k?_dkiJx&Zs{e-TaHBDKuhcK;*paC9eDMG0FJn4EHIJqMKa zUC{4JDm*{%(`?QY#Ez{@g{?;{8?H!}vO8aC-HfsnPq8?1q}absD6}JBZ{k%5vRr-y z_P6UbcxiAjW$9($u^wTgXo4QYV-5p+u8Sh`8*d9ZNF=5b6_UC6XnA|Bz?9%Qz?LGQ zWdryKfD+5xj?y`Au~)9}>12#i_`($PR$pC%D~5$pd&YHt>0f8dvrrmBH`#Xb2~?t- zfIT3w+C!U42*{tRLfWqX)lv}YxPG1gq))UFTP$r0C>tX!yaC<4Coqnpv52OQHs;bi z5wz0^DvSYuZ1u1vcqGAAcbNySNASXeLz{z}r`?9lt>2=0P>x0V?lTwB+4SFF_$>)LX&P3{j92#Y`t{M0 z-xlM^{Vr=fO1f6ikftf`3j$#0^a+YeF^D};c=6{r!^c->j}#UNg56@%TQ)IYwp%^- z;oY-prYM|U&Ah3y{Oum&?ZHR%v48+(=pcY{YjQU<>`g=rlW)|Vf6JLdaqDFR5^M8o zl)I9KB;QY^(J-NS-r9fT9*~QIr8lDOty)r*4Cf?g)3um<4i@?M@Vqb~4Jv+BUk!Ig(*ACR@1 z#5D;gJ&*a>jav4JXa&;yKF;zRvsghzOOpH73!#d(&6$DOWIBc;?jRM{XjRkbV){DHZf&_;hb?`XmD*2>2-i|LlyE= zwJ80Gv&^bKJvtoxsGN^bWq~b0;&pDm2~{E zM1o|Z(R)qFH&bmwf8CXNC15V^?Nu+GFWUls`OQ!d;qV}H(N^Wcx(n;7Hioaec~e2> zr>9k~t4#hn_2|U565Rfzk4unCI}V(Mj{3?QU|)9}#Qd#a`f?N9_`CzPc2tn39)Ud1 zCDdBl@NbWp5FO5^eKcem?-Sbvdize$JVnT$S*~TRBy|s7Y2RMiiX-p(v`B5u#t#(ecId$3MMHGXA#6}h z)GQHVh_&>GbjE}vmm$oN$u7ICE})>1#uY+Hwe_E=eyy#UY`5Avhn7aZ69<)wv}dij z;qhO587uzAOW{Tp=4lZN{Hj!>QQ9pQtMYJR2r(5W3XKxb#GMUWcIiFgu-x#Kchen- zk~&casYV~+hsd@`!};9KS)ZY}#&`T&;H*N%hxT0G)2S(t`PwrHw4pCY++RzMYe0QD zw5^4w)YA;V8k%utKXI%WD=dSRT%CH}%j7JpY2m^ZbKRS#~9WXgsAT|8A`qeEpZoFDrW za_4Z2D%Scb#e`CJW6)%IKJ{kKU0lHqm|JTNc)3QI@wn$YO1YKGD^pde#2tqcMLXII zUplY(bheeULT316tnH~|II7e54W1U3T)nAY3GBYcq5-j)EsUd58yId+5Mn|DA(!VX z;hNS;VtKCRaB;RW2R@H9O1K}W#p4=ZQWbMHSd|&2(?hU`oYeG?_!TAc z6XN~mBw{4he zq(1DIeb|Ih-d>v2$~=4rmjS_+Bc@KuDE{^CJN#FNIY|CBT-BXTWq=2Vd=&)RPZxP5 z^Uh=5v&5HOs+h+~dl9-|Aywi4NNAC4kkv(K_GC8eE-#EB$I|<{QT$v$bf8X);X4G8 z{bhdvVEbZ-so3s`ZOZ32sZaKidPAy(rWu;VhX))7d>>mTt5G}B$OzC7nEVNYY)0y# zF^kNS71eT#gh69-qCACS2ehEY;4X^X^07|jFeq*~z@>c|D4D$L)3puSyg6<6QS6Jy zReBX6rMwZMq_UOrD)oMyL_NxZxD?49pHc|*RBUj~zlE0wjH)G5JbBVWrDSi{Rw!$y z;EgKg&0gYq+$1T_HUIcrM}(uQbK4Z%KqD2)YRgM9iQHtYEneHOmpr67FA}8}pr!;M zaHOS$U;er6>{o9^aa-ao{L(SfM_Afa6WkSvv}8_y#Ik<#C{HMX)r-|9IqEL4Y5+(J z1idEzz~05Z{mXkMlyTL%-Wnt25FL;Km3r{v-lrCx_5BitA(DQw?U=S46M$5U>NCtjygbg ztfpXI&4V3WjZw;&esm7tJMi12R^$7VCwwJZnYLGcK0eqzdF zm0(}J{=|BY!LoLR98}wMxbk*-wFx?5A1$^vF0}eiW)ylPuAxBq%S|#f#I&bm*ES5- zI>gWP6-Q24vS%|Qr)sg8dJ*y3@zZX@WH%Q5!-hve_A0|MX_!xosHqz*LYtrn?YYJ4 zFY6|VzA^9%5`?knDsck98L#B<%Q^UP_I)?1oW*zhD0=g}pXq*-_!glYh9jjZw)(b7Apitn5k$$VOkD zdEhV8g%J>sw1cAeg)MAF>nCWOVC7QgfzrOR1>U*>^+WxVFT>QNY;yl%xax_4?r;gL zeq%vJc};hf=bskpyJt${S}F3*)NPhCwQvZLKX+0#1=aSP(k37m^}8HIz*AK^&lD>< za;rTthE>>OkpyDIA09S6BJUX?rZ#8e-s# z`$>ik%E!MOIRvYA$2=UXT`H+yr4cZw%Z^c;wg@kpew=U2$Y*Kx_dsh}AiBQbjLc7d^_bxzHc zgW~(ks?bseljJ?~l2kXQULID%j*Cyluut?I&+E)I5$l_sx}b-o1&bE<*^m1I zGux78R#~OuW8%B+NyrAV!GqS@6n5E4;$2+x^X`hW0mYys+Rg5HVMT7T0o4@CA*E~B zB+g4-Z8k7k+m_@)STXHec1ub*iwW_U<>7T32kH~l874Y*;WxicW_zzIr&)(N=_cC;W?$b!W%rN zLN&xDsGO`v#q{__*=~7ZV}?PHpX7^OfW%>8S;#jPf!8nJ>~Ulnw7;!S z8|xR^$#&jzZ4x!H2XmbEZ)6AZ1nt8V5_=&32qyvyGpYQ)uZVsd7xEM1KGsTjP@I=d zOpCvET9MhMtjslTs%*4F-)`8pYw+m>vE3|opld*v5_;Hwmtx&QewDu?eH`F-84$VwUA7z^)x{p@Or5Ot(BHyIR zkrgX2)6;`TpHrvJkMBKCHy77^iJn#A$fh{r!#}MuBFj_a$}kYJPf$X8XI`Jd9Y8j~ zX{i{KN1GP)>4BO_MU$Fbzc_#NMA-^ZPa)YTi!^=Ob^asgOA+)uiL8b zf0a7KHwgx{#Z>~I8Jql3mno9viz#Q)ODA#^O*FG0%tr}$-7!RA%Rqy6h0`z_O#b!7 z7I2M!-Rjy#c^F-nl5Hu9=YBeP*;>DIT~;WM&x#et!OaHyO`6sh0a??d^T?huFNPx6o7fP>0mua%zX02jG(yN8U%iA6o)9L$lEYsq03Sg+Eyc#Pv={} zG!JdLgX<|j2T@hj9J-6+#f*5;))%c>7;+l;Wf}bTuV~Z1Asb7z(V}me&r;}_dG#A5 zZ@aAwaXo6wdeB-8lhW_ThQLuDo>VHd%xI+m$14q_wXM1k(T}A^=bQsG znGbEFtO);BHAwVLb|PK04J?DJ6-sTUx6LOY=0|^c7h0D8sWJ4QIxN>TT*{oN2ut?} zBL5+LFm}AObY5sfY%tY!XId(|abqRiYB38ydx9$lBAq7n4}`CxP21o4Wf>&4x@0cM ztn;yS_bPd?*sHL5SMvb^@1rR-E^TDiQ)f15!=>ujnmEus@rR)_wT?*co5d~6m|8MD zn^=)iqW#10h%_|al^e}eC_GrZW$A690iq#I@@-F~y$g`YYP902$(L#aXj3=-f#TP8 z7q<&pnZKb(kPPwI3I~jLwQ>to4w&k#FD>GhM!NB53LNqJ1G%oNtCp3ndf~?H{17*^ z|E~!r-ls|T(7XjU2S zYW)enC3|>FfyVvNAhch=#pkOAcktnVofHhOZ*y(IEUaqC=5I=<_*KVL-Ln{XQ`SwX z2V-<_m9xPAWZnq>>ptMEM9P)wSvA2!e<~v1Ezq)oQ|C{e5c#HA)QTb4m}OH2nNlsT z^coEl)wj@ZROAMfRxeD5Xv1vzIVmyT5T$dgowAw}cDerAk(|94^`Sj*4)XK#X1y?; z9Yk}2{wltUCd@rtH99&X4$BAMc`MSus{Mg2cOpk1Etc%LqZ+mK@=m+g%9F0J1GqzM zW)!VaY|ZW1g3d4PgHn5<(4&NS`uqa_Obt(bxt$puzl zAlB(c{%|*KS~4yhp*kfmF{Y>2Qpxj{wZDV!jaW)G%7I{>tcHz-ll6z>qr7T1X0#Pl z23UQdEM?+Apk^4OB|UubQQ(ow;dVI%c~2W$-HBiNtN~@LnAA$#H-SID!Tg|;&r8V0 zv8BGgu8-s#`NLsv(k-THy=SH>`}Lqw+_CK zZ5YefCN-#^^d*zEWHbw_r;;ya$BZBtUytwFq3z;LCHIz6P6i_O?MF=VfDEK zhiq=vc>5XGuSO28CfWQSk@B(ku4SIHc}*aZ|>FXs$BQTDyI?1EvkB`3nNZ{XvF{K zwguvFoo;eT{3ec%*hg~5h^S-C!Ff4+)fQhvRxQc-ryWv~g1F}|A1HmZbqk#~qcfv% z-<-Jb|9txPIR2kLgJA`++dS+h&G*o5wfC`qPcML;Jojq6XH0_2C#J7Nl*WnU8d%WE z;R^2=9pV?XP*WOYdE2)e#9!P)GLB$VZ+%oSSE{Wiw^FR&_^Q5;YIwb)sVPe;+4=eO z{avrZvPHI#jm=Ai$maY(^bTlko6CnYt7@%$Cs0q5cN<>f!=py6@o9VU`m)C=zgR2U z?5nl>K=Jmh711?Ouqb6Av+qhnhh7>65rt-Q zCdfNkP2GgZ`HQ^1Lbx$o3f}QnB&BljpNddDbkM{Mut+l$uU}q_nxAmU`L%!5^;H+4 zxwmX?NtNB#cblc^*twKmZ>Szq9LEGc=Z2Q&CU4f&Y^hXY$9Mv1w^GsM=*dI%?zI{u z1e@R?(n;{r;F|M@=q}D@rNd{++Yd&IrK#r+Go>nit*ulNZY6dbyx&w1R@QV2Epn&K z_|yy^ej%lP^joRKc0E&b8LCe~e*)2x=dqqrJLvl#(ou6hl?;Ec04{s^b^4qhG%2FL zb^-&CwrpI$M`Yw~OYg4POq~10;o%XRJeMr8lIn(Z1d9PvYOft`qdDTMA_ORc)L(fk z+Ox`VTs>@mA=Hfwq1FXTdJPN(S#=T8L;9-lf8dZP8&v*{e81o-BJ*9!TIrU+MDo(J zZ2Vq;obO_azFLtr^CX#a3th_b-yK`(SH09vVkdR+Y?p7?Ff!N5Sh^ya1$q4P)(;d@ zb&EUq8POm>V{ADwZeSMVeM!OFXE7=;2z^&nvwJGoEcl$?;cL)Drl+7m9(xi2F2oUO@t@3p;GVamu`rSycxJzZMF0c+~KIJA-e^L{ zh)`b<$}&Tc(zKW`t!$qnPJUax9(?~AF#Ok_ewZcFnMnUXiVpu5+BzRc6)=g!NbaSuOw!!u0Zes$H??U1o*!4+pj>)BEEDljG)gdTA`3(U zS88M2tVs@?Kaw^9JSP-JQpU1OL*z*wfR@alo-Uv~6e7By?IdOqzI;iH!!Mp^YID>W zz{VdHkO;&f0fSH+>%bM;GnpLEX;I-Ql;E)JIfF7m%-Guwe%TlFGH7IBA>~85muL0- z+8vNYR^u~#_(3B(4~hP-uf|QE*B+7orHw-rqnVM0NfAz^*;Fc*8BvSuSo?A>-v1L% zl~RD1`9@3|30kD)_yM?eXCnl>Ydg$^mhPO|rcWV~Ht=p3G6g~9#m%_WIbGyyS+o6T8 zTdkkgw^|pzSF^z8Y3#ONlN2Fqe8&&^vk#$tZic>%LD*q$_xsLHo^_)zYyH!|_gP_7<5i@u#LlR#RMD zgZNYE1~T%JfbrSoW%di!<0f%K+u7kkn`&yE$dE|ejji!^ig~$@MPhzkUQErSl`w+> zmDR~hg5O)3ipm`>t6Hftr&5XTO~TwR590jNwziD+`Tn9V%c+!GeEk5^ennF$bG7rE zH%yr)ibM2v5S(Cm2 zW>#3+hB9q>$mX7Fo6`+SRUMw@0SGyZWDy$cPVDEn64_(?BVAIRqm>2TboCzDw^AOb zszNbD?yNn8nsAT${Z*P%a%R%5vfF1X^a7%kk&zQ^57<3R6Q+Zg^lBcllDGTc}P#d}2m(AJ>qa7{z!|1=)vN>llPt5KfgN(L0M$wOn3)cg!!FG*H99=LLdT^HJzJ!qW{T~y2XQfVhB-|jASe@P3#i5@6RiE; zSX|Z^LMx%;Lk)Xri={!xv!T%kY)8F*{c(H6)0YsocytgZpXDD!46%iJ`!QVQ+QMgr z_G_Qdzt$k$n1Q)si1eiMh_-mDH)5|@zAS60LDi)QRc4=$ z;pJ+IPyqwVgHe||^GzlFQTQu#gJASwSYlG=6>%FdrnOftg3W4V3z;PEFU+3j}cEY{l~x&sKWihOIQUlX_2|Fiyr>b{m{V4;w~av zplCs&kynsju*fNHxN#j@X%Z}NpMmwQWZPIuTzg$RwGt3A5 zTPX5z#6Cgp=qL#DUQ@bXbT09>Ny5eW16;!ock4t*?=PJV#fX*%Y%9H;fnBAtM$McW z{B(H00j_f%GKe@j)w`&9$GAWi#&d!CQ@td`O*eW5LRNQnY3@Z0F^rHfnE|J{GK8*e zr%5tVOi$Fy23p@M(fCSeolXSmlq0FHjb;J_%E5!^?%Oc>VX=Bj+gRcyX`!(f(_Lxg zULn6>m@Bb>@IXJAEZk`z6A`PZgcjw)4e&+B`AUgW(f}m{~wRfg6ZNbKqeT z4f@Vm*05kjd3e;g$*6psPYxs+6Zs3Ll2VD{1ug;YHM??`2QpD}F=5I8wtZ!Op`(I~ zp^x;>(t=nj04SZGT3inAP#06NjKn3rZB9?VXfWUIMTYcQK>!}QEG0a0K0jcV1-P$S zdP#t|r3qrWl{Q`N?f2tqVERJ{{Zg(R6}S$r&|;sjOICs#7@=>hH3p?g?Y2B7a-d`b(&B)P@{nhoQx z%}!M?KV0v<+@g!M#w2et2D}6x&4BR_NeO+3KVb+)s?AAuHKC0TY{u!>{Wc6ABA(e^CqNu=aQ21c@hxl#i<(BE>ZskJL zOOO%AKPJd`t_e%u;0T})CZepE2YF#ccK_6PH{bsD$8R|8~MOMM{N zguMm&0p5O1zgxz7hqp{8DMEj&JQH6PU*`yTl5Tbak}~VsN{RpEs0f{43qyhz>&4M; zuBe1JW**GbxQG0ZM&Iy3`6b%fu;#F!+D0(>g6#%cYGno#6vX zX^JU_@lR+wy+rsmeJe@EExL-0o<~2vqH@tp`w!Y}b@G;v8D=f4H3=DJcUIqVgR47Q zD0=|~z~;@R6v#asiwJLu>-J}4Wh{1JlVSyj=;76I^m`#2MJsq$_7Wh2OmH4eBUIWd0P^_So zP1a1=Rk@gRjkaa=>HF&y;|q`!x9^1-)(+q+*1iFRkrMWw!enp&tVw&DBpe%>H)}Ya z0lrs&2TwN&y2@n5XqSJGX!0svKj>YWlpph*m2&Z5&7wbrjcY973*nDoCLC*F;||Mw zx1rcij%JpBTtS*S{DEvqqsun#S5}*n%0qF zs(J+5`new*7o!e$CT=3;=fmd=Xm=%UAr!!{GBVZEiT@IW>0|`?P>O|%MaA+H@PvTZ z2eahPu|_D*35#ae6b`yI?XaBv-WCV$h#RBDagr)-<|uJaR60tWA&d&52$IhN0A1WG zAQL1M!C5AWU>GMMa4lnzY%#snIaX52C2o*NT?!f4v$-qXgHLOH;*vJWn`_m(FV{_n zcQc+2A15ZI%A0G~doB~EMtz6o4(n-A?%!A(;7>u)J`W0%qsLv zE-iO7t|2Dl29Np{yX)9wfV{FRb0c9;lG`GqcD(HumkCX$=A^vX{5cVt=}5qg2ns!a z>%mZyHbhr)t+lo0=&_1+#LuM5e0bdAEn#g+aM zENO=dXXN92jKI4lZ_?*)si!0}mF}TwlZL&fAM37ovT(p>Ps%@O75cXySjq-#^&F-1 zN~ps&>EQLNdlze`umo`90K_I;3s9}t31UtvTbWGC8xK6sds_Vb{bI+pvCb9XBrHV= zWs72%_yT#+H?Q~h~<=8UKiOV1Vlt*cqc%<&>JdyQp8{)$g zDAU)w*RnW*rHw1>%2T8>xH7lzVdrMfc+Z^E>4as0<~eSQZPpp7)YSZU`ZkYS_12FU zl!uHx)g9>8x5;Y#PL(Y-9@n4nYxFquO&=f#?P;iCNi9d?0Gp4c^F$8B?s^w1G39s@+ zPAPbCEhQuu#l)c#dQ?JOrH7?>#xeembe^}3QsyOboLal5!xT@jA_ahd+3kRuqNkFS zTNFM=Fnt$jx{WJ{!c&EgTB_&kodK)vfV#b_I#M4#7b!HtH>wgh6&?Oykng30B(x7N zkuGPE^-?ydkPSWtE8VJ>ii+M-?Dz)YjsWiL3)IYZGk62GMh9D~O+sgo_iAeRjYg`A zwDZp>dA!;Ls>VT{c8KC89@U9f+-~*xhhR=MNUn!$!VBhKI9p5a6>^xKCqu+U7 zx-V7x!qbVmPcHr4c~AO&B9r4$Qxkwxw65&zyQYt6gL{HGlc>awzy= zCRg!%>^)dLbD9F!+DRvczM&Tkd~CB^U`nlfdZ8`pvQl#>skG97RHK%Wmc&#FRa_Q3XQ<~!CipHptMQLKLLS;9HQ zxS>;ZJ1=Kx*iDR2UhdJ&>6hvn>)x~I)tKhn!QM_lh?+Xx)c$Mwd{1kN%1I?v9h-+! zfn1hG{c&>i3DCp34h=~=1~CKrJ>G?}{;F{vt@X$nnX?|J2u<613emo?@16dJKt*UqvQB61 zw>E$A#0OT5@QuQmG{)tuLOZv`s!dX9Mjyld$FVtaY6C)j6arhiH|JKQKI3gImhwlT zytQF6`Z1D_uY3lWW&zl;(@L9ktG#DnIw?2Yx7rr2Z@WX6>f5P#UWAcqQt^SNo4U`i zOB+@d5~pW2aB#fcV&HCJ*-=-i8dS>FiS-I^2DTu=@6aRgxbUuM zqHWlt8JNCiv!9{^I-*+148Qr6^T_$DCCM*(P7#S_K5rQ%Q3(eM-X3-)T9 zax2hR2|s8!vc4$fwBWa%RX%bXt4b}7II5{}rCocSl!Qjf_3wPL4>ey_wQ;*vwL^LX zK&|{*DT1A+!d@U|T&~YNxIDDJ*vBkzO|R}#>=JZUop%-Y(b_GX6S{R%Ykr=2a3Z$< zv{I@PptCAKqEWQddt76k+236yTReHY$H}boYSt3;1W)R9$;c$0F?{oyoK7uIE>t{G z$@BT6Oaok};C?I6&z_)wVNB9Z56V4}1;a2dxTfmn-YtqSDx2_Y-{6tZdkzgMi-5Wv z>(wlu3-=)crJ*X_cLF8gZp8l1-*`u@{Ol(;k$&-8(}Q~Ir)m!lcE@SxWJdQ{bja#A z-#Eb!RrB3dt*sPo7)R?J_7H*#^ov8=CV$fW9ZWg#fpOVnhdn9Ub#3oG_=iXR@~c$J z>7VrnvBY#y`CKeGHyes9Zg8{q@%^18W>=Tqa(*v@J_VTJjA*5H?I-6jXI5w8RhhUy z&-NH(wRairIH?^d{qVgd8P*f>Ry(&b{dD=7#;?_U(yCV4RMr&G*(Tgt^K~^CD!Tzq^_v zQ)gry8Go&^tbE$1i@KS%e?I)*{HKUyg!=l6M19tqGW${Or#b1^Cy(3zUH;dF>;D(( C>-Y)) literal 0 HcmV?d00001 diff --git a/externals/dynarmic/externals/zydis/assets/version-bump-checklist.txt b/externals/dynarmic/externals/zydis/assets/version-bump-checklist.txt new file mode 100755 index 000000000..129b72c33 --- /dev/null +++ b/externals/dynarmic/externals/zydis/assets/version-bump-checklist.txt @@ -0,0 +1,4 @@ +- CMakeLists (VERSION) +- Doxyfile +- resources/VersionInfo.rc (4 locations) +- include/Zydis/Zydis.h (ZYDIS_VERSION macro) diff --git a/externals/dynarmic/externals/zydis/cmake/zydis-config.cmake.in b/externals/dynarmic/externals/zydis/cmake/zydis-config.cmake.in new file mode 100755 index 000000000..9fe08b1bc --- /dev/null +++ b/externals/dynarmic/externals/zydis/cmake/zydis-config.cmake.in @@ -0,0 +1,8 @@ +set(zydis_VERSION @PROJECT_VERSION@) + +@PACKAGE_INIT@ + +set_and_check(zydis_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@") +set_and_check(zydis_LIB_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_LIBDIR@") + +check_required_components(zydis) diff --git a/externals/dynarmic/externals/zydis/examples/Formatter01.c b/externals/dynarmic/externals/zydis/examples/Formatter01.c new file mode 100755 index 000000000..99f14c318 --- /dev/null +++ b/externals/dynarmic/externals/zydis/examples/Formatter01.c @@ -0,0 +1,163 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Demonstrates basic hooking functionality of the `ZydisFormatter` class by implementing + * a custom symbol-resolver. + */ + +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Enums and Types */ +/* ============================================================================================== */ + +/** + * Defines the `ZydisSymbol` struct. + */ +typedef struct ZydisSymbol_ +{ + /** + * The symbol address. + */ + ZyanU64 address; + /** + * The symbol name. + */ + const char* name; +} ZydisSymbol; + +/* ============================================================================================== */ +/* Static data */ +/* ============================================================================================== */ + +/** + * A static symbol table with some dummy symbols. + */ +static const ZydisSymbol SYMBOL_TABLE[3] = +{ + { 0x007FFFFFFF401000, "SomeModule.EntryPoint" }, + { 0x007FFFFFFF530040, "SomeModule.SomeData" }, + { 0x007FFFFFFF401100, "SomeModule.SomeFunction" } +}; + +/* ============================================================================================== */ +/* Hook callbacks */ +/* ============================================================================================== */ + +ZydisFormatterFunc default_print_address_absolute; + +static ZyanStatus ZydisFormatterPrintAddressAbsolute(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZyanU64 address; + ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, + context->runtime_address, &address)); + + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(SYMBOL_TABLE); ++i) + { + if (SYMBOL_TABLE[i].address == address) + { + ZYAN_CHECK(ZydisFormatterBufferAppend(buffer, ZYDIS_TOKEN_SYMBOL)); + ZyanString* string; + ZYAN_CHECK(ZydisFormatterBufferGetString(buffer, &string)); + return ZyanStringAppendFormat(string, "<%s>", SYMBOL_TABLE[i].name); + } + } + + return default_print_address_absolute(formatter, buffer, context); +} + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +static void DisassembleBuffer(ZydisDecoder* decoder, ZyanU8* data, ZyanUSize length) +{ + ZydisFormatter formatter; + ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL); + ZydisFormatterSetProperty(&formatter, ZYDIS_FORMATTER_PROP_FORCE_SEGMENT, ZYAN_TRUE); + ZydisFormatterSetProperty(&formatter, ZYDIS_FORMATTER_PROP_FORCE_SIZE, ZYAN_TRUE); + + // Replace the `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` function that formats the absolute + // addresses + default_print_address_absolute = (ZydisFormatterFunc)&ZydisFormatterPrintAddressAbsolute; + ZydisFormatterSetHook(&formatter, ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS, + (const void**)&default_print_address_absolute); + + ZyanU64 runtime_address = 0x007FFFFFFF400000; + + ZydisDecodedInstruction instruction; + char buffer[256]; + while (ZYAN_SUCCESS(ZydisDecoderDecodeBuffer(decoder, data, length, &instruction))) + { + ZYAN_PRINTF("%016" PRIX64 " ", runtime_address); + // We have to pass a `runtime_address` different to `ZYDIS_RUNTIME_ADDRESS_NONE` to + // enable printing of absolute addresses + ZydisFormatterFormatInstruction(&formatter, &instruction, &buffer[0], sizeof(buffer), + runtime_address); + ZYAN_PRINTF(" %s\n", &buffer[0]); + data += instruction.length; + length -= instruction.length; + runtime_address += instruction.length; + } +} + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(void) +{ + if (ZydisGetVersion() != ZYDIS_VERSION) + { + fputs("Invalid zydis version\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + + ZyanU8 data[] = + { + 0x48, 0x8B, 0x05, 0x39, 0x00, 0x13, 0x00, // mov rax, qword ptr ds:[] + 0x50, // push rax + 0xFF, 0x15, 0xF2, 0x10, 0x00, 0x00, // call qword ptr ds:[] + 0x85, 0xC0, // test eax, eax + 0x0F, 0x84, 0x00, 0x00, 0x00, 0x00, // jz 0x007FFFFFFF400016 + 0xE9, 0xE5, 0x0F, 0x00, 0x00 // jmp + }; + + ZydisDecoder decoder; + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64); + + DisassembleBuffer(&decoder, &data[0], sizeof(data)); + + return 0; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/examples/Formatter02.c b/externals/dynarmic/externals/zydis/examples/Formatter02.c new file mode 100755 index 000000000..481492cc0 --- /dev/null +++ b/externals/dynarmic/externals/zydis/examples/Formatter02.c @@ -0,0 +1,265 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Demonstrates basic hooking functionality of the `ZydisFormatter` class and the ability + * to completely omit specific operands. + * + * This example demonstrates the hooking functionality of the `ZydisFormatter` class by + * rewriting the mnemonics of `(V)CMPPS` and `(V)CMPPD` to their corresponding alias-forms (based + * on the condition encoded in the immediate operand). + */ + +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Static data */ +/* ============================================================================================== */ + +/** + * Static array with the condition-code strings. + */ +static const char* const CONDITION_CODE_STRINGS[0x20] = +{ + /*00*/ "eq", + /*01*/ "lt", + /*02*/ "le", + /*03*/ "unord", + /*04*/ "neq", + /*05*/ "nlt", + /*06*/ "nle", + /*07*/ "ord", + /*08*/ "eq_uq", + /*09*/ "nge", + /*0A*/ "ngt", + /*0B*/ "false", + /*0C*/ "oq", + /*0D*/ "ge", + /*0E*/ "gt", + /*0F*/ "true", + /*10*/ "eq_os", + /*11*/ "lt_oq", + /*12*/ "le_oq", + /*13*/ "unord_s", + /*14*/ "neq_us", + /*15*/ "nlt_uq", + /*16*/ "nle_uq", + /*17*/ "ord_s", + /*18*/ "eq_us", + /*19*/ "nge_uq", + /*1A*/ "ngt_uq", + /*1B*/ "false_os", + /*1C*/ "neq_os", + /*1D*/ "ge_oq", + /*1E*/ "gt_oq", + /*1F*/ "true_us" +}; + +/* ============================================================================================== */ +/* Enums and Types */ +/* ============================================================================================== */ + +/** + * Custom user data struct for the formatter. + */ +typedef struct ZydisCustomUserData_ +{ + ZyanBool omit_immediate; +} ZydisCustomUserData; + +/* ============================================================================================== */ +/* Hook callbacks */ +/* ============================================================================================== */ + +ZydisFormatterFunc default_print_mnemonic; + +static ZyanStatus ZydisFormatterPrintMnemonic(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + // We use the user-data to pass data to the `ZydisFormatterFormatOperandImm` function + ZydisCustomUserData* user_data = (ZydisCustomUserData*)context->user_data; + user_data->omit_immediate = ZYAN_TRUE; + + // Rewrite the instruction-mnemonic for the given instructions + if (context->instruction->operand_count && + context->instruction->operands[context->instruction->operand_count - 1].type == + ZYDIS_OPERAND_TYPE_IMMEDIATE) + { + // Retrieve the `ZyanString` instance of the formatter-buffer + ZyanString* string; + ZYAN_CHECK(ZydisFormatterBufferGetString(buffer, &string)); + + const ZyanU8 condition_code = (ZyanU8)context->instruction->operands[ + context->instruction->operand_count - 1].imm.value.u; + switch (context->instruction->mnemonic) + { + case ZYDIS_MNEMONIC_CMPPS: + if (condition_code < 0x08) + { + ZYAN_CHECK(ZydisFormatterBufferAppend(buffer, ZYDIS_TOKEN_MNEMONIC)); + return ZyanStringAppendFormat(string, "cmp%sps", + CONDITION_CODE_STRINGS[condition_code]); + } + break; + case ZYDIS_MNEMONIC_CMPPD: + if (condition_code < 0x08) + { + ZYAN_CHECK(ZydisFormatterBufferAppend(buffer, ZYDIS_TOKEN_MNEMONIC)); + return ZyanStringAppendFormat(string, "cmp%spd", + CONDITION_CODE_STRINGS[condition_code]); + } + break; + case ZYDIS_MNEMONIC_VCMPPS: + if (condition_code < 0x20) + { + ZYAN_CHECK(ZydisFormatterBufferAppend(buffer, ZYDIS_TOKEN_MNEMONIC)); + return ZyanStringAppendFormat(string, "vcmp%sps", + CONDITION_CODE_STRINGS[condition_code]); + } + break; + case ZYDIS_MNEMONIC_VCMPPD: + if (condition_code < 0x20) + { + ZYAN_CHECK(ZydisFormatterBufferAppend(buffer, ZYDIS_TOKEN_MNEMONIC)); + return ZyanStringAppendFormat(string, "vcmp%spd", + CONDITION_CODE_STRINGS[condition_code]); + } + break; + default: + break; + } + } + + // We did not rewrite the instruction-mnemonic. Signal the `ZydisFormatterFormatOperandImm` + // function not to omit the operand + user_data->omit_immediate = ZYAN_FALSE; + + // Default mnemonic printing + return default_print_mnemonic(formatter, buffer, context); +} + +/* ---------------------------------------------------------------------------------------------- */ + +ZydisFormatterFunc default_format_operand_imm; + +static ZyanStatus ZydisFormatterFormatOperandIMM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + // The `ZydisFormatterFormatMnemonic` sinals us to omit the immediate (condition-code) + // operand, because it got replaced by the alias-mnemonic + const ZydisCustomUserData* user_data = (ZydisCustomUserData*)context->user_data; + if (user_data->omit_immediate) + { + return ZYDIS_STATUS_SKIP_TOKEN; + } + + // Default immediate formatting + return default_format_operand_imm(formatter, buffer, context); +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +static void DisassembleBuffer(ZydisDecoder* decoder, ZyanU8* data, ZyanUSize length, + ZyanBool install_hooks) +{ + ZydisFormatter formatter; + ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL); + ZydisFormatterSetProperty(&formatter, ZYDIS_FORMATTER_PROP_FORCE_SEGMENT, ZYAN_TRUE); + ZydisFormatterSetProperty(&formatter, ZYDIS_FORMATTER_PROP_FORCE_SIZE, ZYAN_TRUE); + + if (install_hooks) + { + default_print_mnemonic = (ZydisFormatterFunc)&ZydisFormatterPrintMnemonic; + ZydisFormatterSetHook(&formatter, ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC, + (const void**)&default_print_mnemonic); + default_format_operand_imm = (ZydisFormatterFunc)&ZydisFormatterFormatOperandIMM; + ZydisFormatterSetHook(&formatter, ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM, + (const void**)&default_format_operand_imm); + } + + ZyanU64 runtime_address = 0x007FFFFFFF400000; + + ZydisDecodedInstruction instruction; + ZydisCustomUserData user_data; + char buffer[256]; + while (ZYAN_SUCCESS(ZydisDecoderDecodeBuffer(decoder, data, length, &instruction))) + { + ZYAN_PRINTF("%016" PRIX64 " ", runtime_address); + ZydisFormatterFormatInstructionEx(&formatter, &instruction, &buffer[0], sizeof(buffer), + runtime_address, &user_data); + ZYAN_PRINTF(" %s\n", &buffer[0]); + data += instruction.length; + length -= instruction.length; + runtime_address += instruction.length; + } +} + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(void) +{ + if (ZydisGetVersion() != ZYDIS_VERSION) + { + fputs("Invalid zydis version\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + + ZyanU8 data[] = + { + // nop + 0x90, + + // cmpps xmm1, xmm4, 0x03 + 0x0F, 0xC2, 0xCC, 0x03, + + // vcmppd xmm1, xmm2, xmm3, 0x17 + 0xC5, 0xE9, 0xC2, 0xCB, 0x17, + + // vcmpps k2 {k7}, zmm2, dword ptr ds:[rax + rbx*4 + 0x100] {1to16}, 0x0F + 0x62, 0xF1, 0x6C, 0x5F, 0xC2, 0x54, 0x98, 0x40, 0x0F + }; + + ZydisDecoder decoder; + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64); + + DisassembleBuffer(&decoder, &data[0], sizeof(data), ZYAN_FALSE); + ZYAN_PUTS(""); + DisassembleBuffer(&decoder, &data[0], sizeof(data), ZYAN_TRUE); + + return 0; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/examples/Formatter03.c b/externals/dynarmic/externals/zydis/examples/Formatter03.c new file mode 100755 index 000000000..b0a762713 --- /dev/null +++ b/externals/dynarmic/externals/zydis/examples/Formatter03.c @@ -0,0 +1,126 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Demonstrates the tokenizing feature of the `ZydisFormatter` class. + */ + +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Static data */ +/* ============================================================================================== */ + +static const char* const TOKEN_TYPES[] = +{ + "INVALID ", + "WHITESPACE ", + "DELIMITER ", + "PARENTHESIS_OPEN ", + "PARENTHESIS_CLOSE", + "PREFIX ", + "MNEMONIC ", + "REGISTER ", + "ADDRESS_ABS ", + "ADDRESS_REL ", + "DISPLACEMENT ", + "IMMEDIATE ", + "TYPECAST ", + "DECORATOR ", + "SYMBOL " +}; + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +static void DisassembleBuffer(ZydisDecoder* decoder, ZyanU8* data, ZyanUSize length) +{ + ZydisFormatter formatter; + ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL); + ZydisFormatterSetProperty(&formatter, ZYDIS_FORMATTER_PROP_FORCE_SEGMENT, ZYAN_TRUE); + ZydisFormatterSetProperty(&formatter, ZYDIS_FORMATTER_PROP_FORCE_SIZE, ZYAN_TRUE); + + ZyanU64 runtime_address = 0x007FFFFFFF400000; + + ZydisDecodedInstruction instruction; + char buffer[256]; + while (ZYAN_SUCCESS(ZydisDecoderDecodeBuffer(decoder, data, length, &instruction))) + { + const ZydisFormatterToken* token; + if (ZYAN_SUCCESS(ZydisFormatterTokenizeInstruction(&formatter, &instruction, &buffer[0], + sizeof(buffer), runtime_address, &token))) + { + ZydisTokenType token_type; + ZyanConstCharPointer token_value = ZYAN_NULL; + while (token) + { + ZydisFormatterTokenGetValue(token, &token_type, &token_value); + printf("ZYDIS_TOKEN_%17s (%02X): \"%s\"\n", TOKEN_TYPES[token_type], token_type, + token_value); + if (!ZYAN_SUCCESS(ZydisFormatterTokenNext(&token))) + { + token = ZYAN_NULL; + } + } + } + data += instruction.length; + length -= instruction.length; + runtime_address += instruction.length; + } +} + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(void) +{ + if (ZydisGetVersion() != ZYDIS_VERSION) + { + fputs("Invalid zydis version\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + + ZyanU8 data[] = + { + // vcmpps k2 {k7}, zmm2, dword ptr ds:[rax + rbx*4 + 0x100] {1to16}, 0x0F + 0x62, 0xF1, 0x6C, 0x5F, 0xC2, 0x54, 0x98, 0x40, 0x0F + }; + + ZydisDecoder decoder; + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64); + + DisassembleBuffer(&decoder, &data[0], sizeof(data)); + + return 0; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/examples/README.md b/externals/dynarmic/externals/zydis/examples/README.md new file mode 100755 index 000000000..434bea050 --- /dev/null +++ b/externals/dynarmic/externals/zydis/examples/README.md @@ -0,0 +1,23 @@ +# Zydis Examples + +## Decoder + +Comming soon™ ... + +## Formatter + +### [Formatter01](./Formatter01.c) +Demonstrates basic hooking functionality of the `ZydisFormatter` class by implementing a custom symbol-resolver. + +### [Formatter02](./Formatter02.c) +Demonstrates basic hooking functionality of the `ZydisFormatter` class and the ability to completely omit specific operands. + +The example demonstrates the hooking functionality of the `ZydisFormatter` class by rewriting the mnemonics of `(V)CMPPS` and `(V)CMPPD` to their corresponding alias-forms (based on the condition encoded in the immediate operand). + +### [Formatter03](./Formatter03.c) +Demonstrates the tokenizing feature of the `ZydisFormatter` class. + +## Misc + +### [ZydisWinKernel](./ZydisWinKernel.c) +Implements an example Windows kernel-mode driver. \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/examples/ZydisPerfTest.c b/externals/dynarmic/externals/zydis/examples/ZydisPerfTest.c new file mode 100755 index 000000000..6cec5cfdd --- /dev/null +++ b/externals/dynarmic/externals/zydis/examples/ZydisPerfTest.c @@ -0,0 +1,578 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(ZYAN_WINDOWS) +# include +#elif defined(ZYAN_APPLE) +# include +#elif defined(ZYAN_LINUX) || defined(ZYAN_SOLARIS) +# include +# include +#elif defined(ZYAN_FREEBSD) +# include +# include +# include +#else +# error "Unsupported platform detected" +#endif + +/* ============================================================================================== */ +/* Colors */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Configuration */ +/* ---------------------------------------------------------------------------------------------- */ + +#define COLOR_DEFAULT ZYAN_VT100SGR_FG_DEFAULT +#define COLOR_ERROR ZYAN_VT100SGR_FG_BRIGHT_RED +#define COLOR_VALUE_R ZYAN_VT100SGR_FG_BRIGHT_RED +#define COLOR_VALUE_G ZYAN_VT100SGR_FG_BRIGHT_GREEN +#define COLOR_VALUE_B ZYAN_VT100SGR_FG_CYAN + +/* ---------------------------------------------------------------------------------------------- */ +/* Global variables */ +/* ---------------------------------------------------------------------------------------------- */ + +static ZyanBool g_vt100_stdout; +static ZyanBool g_vt100_stderr; + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper macros */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Conditionally expands to the passed VT100 sequence, if `g_colors_stdout` is + * `ZYAN_TRUE`, or an empty string, if not. + * + * @param The VT100 SGT sequence. + */ +#define CVT100_OUT(sequence) (g_vt100_stdout ? (sequence) : "") + +/** + * Conditionally expands to the passed VT100 sequence, if `g_colors_stderr` is + * `ZYAN_TRUE`, or an empty string, if not. + * + * @param The VT100 SGT sequence. + */ +#define CVT100_ERR(sequence) (g_vt100_stderr ? (sequence) : "") + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Time measurement */ +/* ---------------------------------------------------------------------------------------------- */ + +#if defined(ZYAN_WINDOWS) + +double counter_freq = 0.0; +ZyanU64 counter_start = 0; + +static void StartCounter(void) +{ + LARGE_INTEGER li; + if (!QueryPerformanceFrequency(&li)) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sError: QueryPerformanceFrequency failed!%s\n", + CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + exit(EXIT_FAILURE); + } + counter_freq = (double)li.QuadPart / 1000.0; + QueryPerformanceCounter(&li); + counter_start = li.QuadPart; +} + +static double GetCounter(void) +{ + LARGE_INTEGER li; + QueryPerformanceCounter(&li); + return (double)(li.QuadPart - counter_start) / counter_freq; +} + +#elif defined(ZYAN_APPLE) + +ZyanU64 counter_start = 0; +mach_timebase_info_data_t timebase_info; + +static void StartCounter(void) +{ + counter_start = mach_absolute_time(); +} + +static double GetCounter(void) +{ + ZyanU64 elapsed = mach_absolute_time() - counter_start; + + if (timebase_info.denom == 0) + { + mach_timebase_info(&timebase_info); + } + + return (double)elapsed * timebase_info.numer / timebase_info.denom / 1000000; +} + +#elif defined(ZYAN_LINUX) || defined(ZYAN_FREEBSD) || defined(ZYAN_SOLARIS) + +struct timeval t1; + +static void StartCounter(void) +{ + gettimeofday(&t1, NULL); +} + +static double GetCounter(void) +{ + struct timeval t2; + gettimeofday(&t2, NULL); + + double t = (t2.tv_sec - t1.tv_sec) * 1000.0; + return t + (t2.tv_usec - t1.tv_usec) / 1000.0; +} + +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Process & Thread Priority */ +/* ---------------------------------------------------------------------------------------------- */ + +static void AdjustProcessAndThreadPriority(void) +{ +#if defined(ZYAN_WINDOWS) + + SYSTEM_INFO info; + GetSystemInfo(&info); + if (info.dwNumberOfProcessors > 1) + { + if (!SetThreadAffinityMask(GetCurrentThread(), (DWORD_PTR)1)) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sWarning: Could not set thread affinity mask%s\n", + CVT100_ERR(ZYAN_VT100SGR_FG_YELLOW), CVT100_ERR(ZYAN_VT100SGR_RESET)); + } + if (!SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS)) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sWarning: Could not set process priority class%s\n", + CVT100_ERR(ZYAN_VT100SGR_FG_YELLOW), CVT100_ERR(ZYAN_VT100SGR_RESET)); + } + if (!SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL)) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sWarning: Could not set thread priority class%s\n", + CVT100_ERR(ZYAN_VT100SGR_FG_YELLOW), CVT100_ERR(ZYAN_VT100SGR_RESET)); + } + } + +#elif defined(ZYAN_LINUX) || defined(ZYAN_FREEBSD) + + pthread_t thread = pthread_self(); + +#if defined(ZYAN_LINUX) + cpu_set_t cpus; +#else // FreeBSD + cpuset_t cpus; +#endif + + CPU_ZERO(&cpus); + CPU_SET(0, &cpus); + if (pthread_setaffinity_np(thread, sizeof(cpus), &cpus)) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sWarning: Could not set thread affinity mask%s\n", + CVT100_ERR(ZYAN_VT100SGR_FG_YELLOW), CVT100_ERR(ZYAN_VT100SGR_RESET)); + } + +#endif +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +static ZyanU64 ProcessBuffer(const ZydisDecoder* decoder, const ZydisFormatter* formatter, + /* const ZydisCacheTable* cache, */ + const ZyanU8* buffer, ZyanUSize length, ZyanBool format, ZyanBool tokenize, ZyanBool use_cache) +{ + ZyanU64 count = 0; + ZyanUSize offset = 0; + ZyanStatus status; + ZydisDecodedInstruction instruction_data; + ZydisDecodedInstruction* instruction; + char format_buffer[256]; + + while (length > offset) + { + if (use_cache) + { + ZYAN_UNREACHABLE; + // status = ZydisDecoderDecodeBufferCached(decoder, cache, buffer + offset, + // length - offset, &instruction); + } else + { + status = ZydisDecoderDecodeBuffer(decoder, buffer + offset, length - offset, + &instruction_data); + instruction = &instruction_data; + } + + if (status == ZYDIS_STATUS_NO_MORE_DATA) + { + break; + } + if (!ZYAN_SUCCESS(status)) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sUnexpected decoding error. Data: ", + CVT100_ERR(COLOR_ERROR)); + for (ZyanUSize i = 0; i < ZYAN_MIN(ZYDIS_MAX_INSTRUCTION_LENGTH, + length - offset); ++i) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%02X ", (ZyanU8)buffer[offset + i]); + } + ZYAN_FPRINTF(ZYAN_STDERR, "%s\n", CVT100_ERR(ZYAN_VT100SGR_RESET)); + ZYAN_ASSERT(ZYAN_FALSE); + exit(EXIT_FAILURE); + } + + if (format) + { + if (tokenize) + { + const ZydisFormatterToken* token; + ZydisFormatterTokenizeInstruction(formatter, instruction, format_buffer, + sizeof(format_buffer), offset, &token); + } else + { + ZydisFormatterFormatInstruction(formatter, instruction, format_buffer, + sizeof(format_buffer), offset); + } + } + + offset += instruction->length; + ++count; + } + + return count; +} + +static void TestPerformance(const ZyanU8* buffer, ZyanUSize length, ZyanBool minimal_mode, + ZyanBool format, ZyanBool tokenize, ZyanBool use_cache) +{ + ZydisDecoder decoder; + if (!ZYAN_SUCCESS(ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, + ZYDIS_ADDRESS_WIDTH_64))) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sFailed to initialize decoder%s\n", + CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + exit(EXIT_FAILURE); + } + if (!ZYAN_SUCCESS(ZydisDecoderEnableMode(&decoder, ZYDIS_DECODER_MODE_MINIMAL, minimal_mode))) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sFailed to adjust decoder-mode%s\n", + CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + exit(EXIT_FAILURE); + } + + // ZydisCacheTable cache; + // if (use_cache && !ZYAN_SUCCESS(ZydisDecoderInitCache(&decoder, &cache))) + // { + // ZYAN_FPRINTF(ZYAN_STDERR, "%sFailed to initialize decoder-cache%s\n", + // CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + // exit(EXIT_FAILURE); + // } + + ZydisFormatter formatter; + if (format) + { + if (!ZYAN_SUCCESS(ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL)) || + !ZYAN_SUCCESS(ZydisFormatterSetProperty(&formatter, + ZYDIS_FORMATTER_PROP_FORCE_SEGMENT, ZYAN_TRUE)) || + !ZYAN_SUCCESS(ZydisFormatterSetProperty(&formatter, + ZYDIS_FORMATTER_PROP_FORCE_SIZE, ZYAN_TRUE))) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sFailed to initialize instruction-formatter%s\n", + CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + exit(EXIT_FAILURE); + } + } + + // Cache warmup + ProcessBuffer(&decoder, &formatter, /* cache, */ buffer, length, format, tokenize, use_cache); + + // Testing + ZyanU64 count = 0; + StartCounter(); + for (ZyanU8 j = 0; j < 100; ++j) + { + count += ProcessBuffer(&decoder, &formatter, /* cache, */ buffer, length, format, + tokenize, use_cache); + } + const char* color[4]; + color[0] = minimal_mode ? CVT100_OUT(COLOR_VALUE_G) : CVT100_OUT(COLOR_VALUE_B); + color[1] = format ? CVT100_OUT(COLOR_VALUE_G) : CVT100_OUT(COLOR_VALUE_B); + color[2] = tokenize ? CVT100_OUT(COLOR_VALUE_G) : CVT100_OUT(COLOR_VALUE_B); + color[3] = use_cache ? CVT100_OUT(COLOR_VALUE_G) : CVT100_OUT(COLOR_VALUE_B); + ZYAN_PRINTF("Minimal-Mode %s%d%s, Format %s%d%s, Tokenize %s%d%s, Caching %s%d%s, " \ + "Instructions: %s%6.2fM%s, Time: %s%8.2f%s msec\n", + color[0], minimal_mode, CVT100_OUT(COLOR_DEFAULT), + color[1], format, CVT100_OUT(COLOR_DEFAULT), + color[2], tokenize, CVT100_OUT(COLOR_DEFAULT), + color[3], use_cache, CVT100_OUT(COLOR_DEFAULT), + CVT100_OUT(COLOR_VALUE_B), (double)count / 1000000, CVT100_OUT(COLOR_DEFAULT), + CVT100_OUT(COLOR_VALUE_G), GetCounter(), CVT100_OUT(COLOR_DEFAULT)); +} + +static void GenerateTestData(FILE* file, ZyanU8 encoding) +{ + ZydisDecoder decoder; + if (!ZYAN_SUCCESS( + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64))) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sFailed to initialize decoder%s\n", CVT100_ERR(COLOR_ERROR), + CVT100_ERR(ZYAN_VT100SGR_RESET)); + exit(EXIT_FAILURE); + } + + ZyanU8 last = 0; + ZyanU32 count = 0; + ZydisDecodedInstruction instruction; + while (count < 100000) + { + ZyanU8 data[ZYDIS_MAX_INSTRUCTION_LENGTH]; + for (int i = 0; i < ZYDIS_MAX_INSTRUCTION_LENGTH; ++i) + { + data[i] = rand() % 256; + } + const ZyanU8 offset = rand() % (ZYDIS_MAX_INSTRUCTION_LENGTH - 2); + switch (encoding) + { + case 0: + break; + case 1: + data[offset ] = 0x0F; + data[offset + 1] = 0x0F; + break; + case 2: + data[offset ] = 0x8F; + break; + case 3: + data[offset ] = 0xC4; + break; + case 4: + data[offset ] = 0xC5; + break; + case 5: + case 6: + data[offset ] = 0x62; + break; + default: + ZYAN_UNREACHABLE; + } + if (ZYAN_SUCCESS(ZydisDecoderDecodeBuffer(&decoder, data, sizeof(data), &instruction))) + { + ZyanBool b = ZYAN_FALSE; + switch (encoding) + { + case 0: + b = (instruction.encoding == ZYDIS_INSTRUCTION_ENCODING_LEGACY); + break; + case 1: + b = (instruction.encoding == ZYDIS_INSTRUCTION_ENCODING_3DNOW); + break; + case 2: + b = (instruction.encoding == ZYDIS_INSTRUCTION_ENCODING_XOP); + break; + case 3: + case 4: + b = (instruction.encoding == ZYDIS_INSTRUCTION_ENCODING_VEX); + break; + case 5: + b = (instruction.encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX); + break; + case 6: + b = (instruction.encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX); + break; + default: + ZYAN_UNREACHABLE; + } + if (b) + { + fwrite(&data[0], sizeof(ZyanU8), instruction.length, file); + ++count; + + const ZyanU8 p = (ZyanU8)((double)count / 100000 * 100); + if (last < p) + { + last = p; + ZYAN_PRINTF("%3.0d%%\n", p); + } + + } + } + } +} + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(int argc, char** argv) +{ + // Enable VT100 escape sequences on Windows, if the output is not redirected + g_vt100_stdout = (ZyanTerminalIsTTY(ZYAN_STDSTREAM_OUT) == ZYAN_STATUS_TRUE) && + ZYAN_SUCCESS(ZyanTerminalEnableVT100(ZYAN_STDSTREAM_OUT)); + g_vt100_stderr = (ZyanTerminalIsTTY(ZYAN_STDSTREAM_ERR) == ZYAN_STATUS_TRUE) && + ZYAN_SUCCESS(ZyanTerminalEnableVT100(ZYAN_STDSTREAM_ERR)); + + if (ZydisGetVersion() != ZYDIS_VERSION) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sInvalid zydis version%s\n", + CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + return EXIT_FAILURE; + } + + if (argc < 3 || (ZYAN_STRCMP(argv[1], "-test") && ZYAN_STRCMP(argv[1], "-generate"))) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sUsage: %s -[test|generate] [directory]%s\n", + CVT100_ERR(COLOR_ERROR), (argc > 0 ? argv[0] : "PerfTest"), + CVT100_ERR(ZYAN_VT100SGR_RESET)); + return EXIT_FAILURE; + } + + ZyanBool generate = ZYAN_FALSE; + if (!ZYAN_STRCMP(argv[1], "-generate")) + { + generate = ZYAN_TRUE; + } + const char* directory = argv[2]; + + static const struct + { + const char* encoding; + const char* filename; + } tests[7] = + { + { "DEFAULT", "enc_default.dat" }, + { "3DNOW" , "enc_3dnow.dat" }, + { "XOP" , "enc_xop.dat" }, + { "VEX_C4" , "enc_vex_c4.dat" }, + { "VEX_C5" , "enc_vex_c5.dat" }, + { "EVEX" , "enc_evex.dat" }, + { "MVEX" , "enc_mvex.dat" } + }; + + if (generate) + { + time_t t; + srand((unsigned)time(&t)); + } else + { + AdjustProcessAndThreadPriority(); + } + + for (ZyanU8 i = 0; i < ZYAN_ARRAY_LENGTH(tests); ++i) + { + FILE* file; + + const ZyanUSize len = strlen(directory); + char buf[1024]; + strncpy(&buf[0], directory, sizeof(buf) - 1); + if (generate) + { + file = fopen(strncat(buf, tests[i].filename, sizeof(buf) - len - 1), "wb"); + } else + { + file = fopen(strncat(buf, tests[i].filename, sizeof(buf) - len - 1), "rb"); + } + if (!file) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sCould not open file \"%s\": %s%s\n", + CVT100_ERR(COLOR_ERROR), &buf[0], strerror(ZYAN_ERRNO), + CVT100_ERR(ZYAN_VT100SGR_RESET)); + continue; + } + + if (generate) + { + ZYAN_PRINTF("Generating %s%s%s ...\n", CVT100_OUT(COLOR_VALUE_B), tests[i].encoding, + CVT100_OUT(ZYAN_VT100SGR_RESET)); + GenerateTestData(file, i); + } else + { + fseek(file, 0L, SEEK_END); + const long length = ftell(file); + void* buffer = malloc(length); + if (!buffer) + { + ZYAN_FPRINTF(ZYAN_STDERR, + "%sFailed to allocate %" PRIu64 " bytes on the heap%s\n", + CVT100_ERR(COLOR_ERROR), (ZyanU64)length, CVT100_ERR(ZYAN_VT100SGR_RESET)); + goto NextFile2; + } + + rewind(file); + if (fread(buffer, 1, length, file) != (ZyanUSize)length) + { + ZYAN_FPRINTF(ZYAN_STDERR, + "%sCould not read %" PRIu64 " bytes from file \"%s\"%s\n", + CVT100_ERR(COLOR_ERROR), (ZyanU64)length, &buf[0], + CVT100_ERR(ZYAN_VT100SGR_RESET)); + goto NextFile1; + } + + ZYAN_PRINTF("%sTesting %s%s%s ...\n", CVT100_OUT(ZYAN_VT100SGR_FG_MAGENTA), + CVT100_OUT(ZYAN_VT100SGR_FG_BRIGHT_MAGENTA), tests[i].encoding, + CVT100_OUT(COLOR_DEFAULT)); + TestPerformance(buffer, length, ZYAN_TRUE , ZYAN_FALSE, ZYAN_FALSE, ZYAN_FALSE); + TestPerformance(buffer, length, ZYAN_FALSE, ZYAN_FALSE, ZYAN_FALSE, ZYAN_FALSE); + // TestPerformance(buffer, length, ZYAN_FALSE, ZYAN_FALSE, ZYAN_FALSE, ZYAN_TRUE); + TestPerformance(buffer, length, ZYAN_FALSE, ZYAN_TRUE , ZYAN_FALSE, ZYAN_FALSE); + // TestPerformance(buffer, length, ZYAN_FALSE, ZYAN_TRUE , ZYAN_FALSE, ZYAN_TRUE); + TestPerformance(buffer, length, ZYAN_FALSE, ZYAN_TRUE , ZYAN_TRUE , ZYAN_FALSE); + // TestPerformance(buffer, length, ZYAN_FALSE, ZYAN_TRUE , ZYAN_TRUE , ZYAN_TRUE); + ZYAN_PUTS(""); + + NextFile1: + free(buffer); + } + + NextFile2: + fclose(file); + } + + return 0; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/examples/ZydisWinKernel.c b/externals/dynarmic/externals/zydis/examples/ZydisWinKernel.c new file mode 100755 index 000000000..0cc91a349 --- /dev/null +++ b/externals/dynarmic/externals/zydis/examples/ZydisWinKernel.c @@ -0,0 +1,189 @@ +/*************************************************************************************************** + + Zyan Disassembler Engine (Zydis) + + Original Author : Matthijs Lavrijsen + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Windows kernel mode driver sample. + * + * This is a Windows kernel mode driver. It links against the kernel mode-compatible version of Zydis. + * The driver finds its own entry point and decodes and prints the disassembly of this function. + * To view the log, either attach a kernel debugger or use a tool like Sysinternals DebugView. + */ + +#include +#include +#include +#include +#include "Zydis/Zydis.h" + +/* ============================================================================================== */ +/* Forward declarations */ +/* ============================================================================================== */ + +NTKERNELAPI +PVOID +NTAPI +RtlPcToFileHeader( + _In_ PVOID PcValue, + _Out_ PVOID *BaseOfImage + ); + +NTKERNELAPI +PIMAGE_NT_HEADERS +NTAPI +RtlImageNtHeader( + _In_ PVOID ImageBase + ); + +#if defined(ZYAN_CLANG) || defined(ZYAN_GNUC) +__attribute__((section("INIT"))) +#endif +DRIVER_INITIALIZE +DriverEntry; + +#if defined(ALLOC_PRAGMA) && !(defined(ZYAN_CLANG) || defined(ZYAN_GNUC)) +#pragma alloc_text(INIT, DriverEntry) +#endif + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +VOID +Print( + _In_ PCCH Format, + _In_ ... + ) +{ + CHAR message[512]; + va_list argList; + va_start(argList, Format); + const int n = _vsnprintf_s(message, sizeof(message), sizeof(message) - 1, Format, argList); + message[n] = '\0'; + vDbgPrintExWithPrefix("[ZYDIS] ", DPFLTR_IHVDRIVER_ID, DPFLTR_ERROR_LEVEL, message, argList); + va_end(argList); +} + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +_Use_decl_annotations_ +NTSTATUS +DriverEntry( + _In_ PDRIVER_OBJECT DriverObject, + _In_ PUNICODE_STRING RegistryPath + ) +{ + PAGED_CODE(); + + UNREFERENCED_PARAMETER(RegistryPath); + + if (ZydisGetVersion() != ZYDIS_VERSION) + { + Print("Invalid zydis version\n"); + return STATUS_UNKNOWN_REVISION; + } + + // Get the driver's image base and PE headers + ULONG_PTR imageBase; + RtlPcToFileHeader((PVOID)DriverObject->DriverInit, (PVOID*)&imageBase); + if (imageBase == 0) + return STATUS_DRIVER_ENTRYPOINT_NOT_FOUND; + const PIMAGE_NT_HEADERS ntHeaders = RtlImageNtHeader((PVOID)imageBase); + if (ntHeaders == NULL) + return STATUS_INVALID_IMAGE_FORMAT; + + // Get the section headers of the INIT section + PIMAGE_SECTION_HEADER section = IMAGE_FIRST_SECTION(ntHeaders); + PIMAGE_SECTION_HEADER initSection = NULL; + for (USHORT i = 0; i < ntHeaders->FileHeader.NumberOfSections; ++i) + { + if (memcmp(section->Name, "INIT", sizeof("INIT") - 1) == 0) + { + initSection = section; + break; + } + section++; + } + if (initSection == NULL) + return STATUS_NOT_FOUND; + + // Get the RVAs of the entry point and import directory. If the import directory lies within the INIT section, + // stop disassembling when its address is reached. Otherwise, disassemble until the end of the INIT section. + const ULONG entryPointRva = (ULONG)((ULONG_PTR)DriverObject->DriverInit - imageBase); + const ULONG importDirRva = ntHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress; + SIZE_T length = initSection->VirtualAddress + initSection->SizeOfRawData - entryPointRva; + if (importDirRva > entryPointRva && importDirRva > initSection->VirtualAddress && + importDirRva < initSection->VirtualAddress + initSection->SizeOfRawData) + length = importDirRva - entryPointRva; + + Print("Driver image base: 0x%p, size: 0x%X\n", (PVOID)imageBase, ntHeaders->OptionalHeader.SizeOfImage); + Print("Entry point RVA: 0x%X (0x%p)\n", entryPointRva, DriverObject->DriverInit); + + // Initialize Zydis decoder and formatter + ZydisDecoder decoder; +#ifdef _M_AMD64 + if (!ZYAN_SUCCESS(ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64))) +#else + if (!ZYAN_SUCCESS(ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_COMPAT_32, ZYDIS_ADDRESS_WIDTH_32))) +#endif + return STATUS_DRIVER_INTERNAL_ERROR; + + ZydisFormatter formatter; + if (!ZYAN_SUCCESS(ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL))) + return STATUS_DRIVER_INTERNAL_ERROR; + + SIZE_T readOffset = 0; + ZydisDecodedInstruction instruction; + ZyanStatus status; + CHAR printBuffer[128]; + + // Start the decode loop + while ((status = ZydisDecoderDecodeBuffer(&decoder, (PVOID)(imageBase + entryPointRva + readOffset), + length - readOffset, &instruction)) != ZYDIS_STATUS_NO_MORE_DATA) + { + NT_ASSERT(ZYAN_SUCCESS(status)); + if (!ZYAN_SUCCESS(status)) + { + readOffset++; + continue; + } + + // Format and print the instruction + const ZyanU64 instrAddress = (ZyanU64)(imageBase + entryPointRva + readOffset); + ZydisFormatterFormatInstruction( + &formatter, &instruction, printBuffer, sizeof(printBuffer), instrAddress); + Print("+%-4X 0x%-16llX\t\t%hs\n", (ULONG)readOffset, instrAddress, printBuffer); + + readOffset += instruction.length; + } + + // Return an error status so that the driver does not have to be unloaded after running. + return STATUS_UNSUCCESSFUL; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/files.dox b/externals/dynarmic/externals/zydis/files.dox new file mode 100755 index 000000000..3dcadcfa0 --- /dev/null +++ b/externals/dynarmic/externals/zydis/files.dox @@ -0,0 +1,12 @@ +/** @dir include + * @brief Top-level include dir + */ +/** @dir include/Zydis + * @brief Zydis include dir + */ +/** @dir include/Zydis/Generated + * @brief Generated files + */ +/** @dir include/Zydis/Internal + * @brief Internal APIs + */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Decoder.h b/externals/dynarmic/externals/zydis/include/Zydis/Decoder.h new file mode 100755 index 000000000..8cfbb0cc0 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Decoder.h @@ -0,0 +1,237 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Functions for decoding instructions. + */ + +#ifndef ZYDIS_DECODER_H +#define ZYDIS_DECODER_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoder mode */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisDecoderMode` enum. + */ +typedef enum ZydisDecoderMode_ +{ + /** + * Enables minimal instruction decoding without semantic analysis. + * + * This mode provides access to the mnemonic, the instruction-length, the effective + * operand-size, the effective address-width, some attributes (e.g. `ZYDIS_ATTRIB_IS_RELATIVE`) + * and all of the information in the `raw` field of the `ZydisDecodedInstruction` struct. + * + * Operands, most attributes and other specific information (like `AVX` info) are not + * accessible in this mode. + * + * This mode is NOT enabled by default. + */ + ZYDIS_DECODER_MODE_MINIMAL, + /** + * Enables the `AMD`-branch mode. + * + * Intel ignores the operand-size override-prefix (`0x66`) for all branches with 32-bit + * immediates and forces the operand-size of the instruction to 64-bit in 64-bit mode. + * In `AMD`-branch mode `0x66` is not ignored and changes the operand-size and the size of the + * immediate to 16-bit. + * + * This mode is NOT enabled by default. + */ + ZYDIS_DECODER_MODE_AMD_BRANCHES, + /** + * Enables `KNC` compatibility-mode. + * + * `KNC` and `KNL+` chips are sharing opcodes and encodings for some mask-related instructions. + * Enable this mode to use the old `KNC` specifications (different mnemonics, operands, ..). + * + * This mode is NOT enabled by default. + */ + ZYDIS_DECODER_MODE_KNC, + /** + * Enables the `MPX` mode. + * + * The `MPX` isa-extension reuses (overrides) some of the widenop instruction opcodes. + * + * This mode is enabled by default. + */ + ZYDIS_DECODER_MODE_MPX, + /** + * Enables the `CET` mode. + * + * The `CET` isa-extension reuses (overrides) some of the widenop instruction opcodes. + * + * This mode is enabled by default. + */ + ZYDIS_DECODER_MODE_CET, + /** + * Enables the `LZCNT` mode. + * + * The `LZCNT` isa-extension reuses (overrides) some of the widenop instruction opcodes. + * + * This mode is enabled by default. + */ + ZYDIS_DECODER_MODE_LZCNT, + /** + * Enables the `TZCNT` mode. + * + * The `TZCNT` isa-extension reuses (overrides) some of the widenop instruction opcodes. + * + * This mode is enabled by default. + */ + ZYDIS_DECODER_MODE_TZCNT, + /** + * Enables the `WBNOINVD` mode. + * + * The `WBINVD` instruction is interpreted as `WBNOINVD` on ICL chips, if a `F3` prefix is + * used. + * + * This mode is disabled by default. + */ + ZYDIS_DECODER_MODE_WBNOINVD, + /** + * Enables the `CLDEMOTE` mode. + * + * The `CLDEMOTE` isa-extension reuses (overrides) some of the widenop instruction opcodes. + * + * This mode is enabled by default. + */ + ZYDIS_DECODER_MODE_CLDEMOTE, + + /** + * Maximum value of this enum. + */ + ZYDIS_DECODER_MODE_MAX_VALUE = ZYDIS_DECODER_MODE_CLDEMOTE, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_DECODER_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_DECODER_MODE_MAX_VALUE) +} ZydisDecoderMode; + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoder struct */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisDecoder` struct. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZydisDecoder_ +{ + /** + * The machine mode. + */ + ZydisMachineMode machine_mode; + /** + * The address width. + */ + ZydisAddressWidth address_width; + /** + * The decoder mode array. + */ + ZyanBool decoder_mode[ZYDIS_DECODER_MODE_MAX_VALUE + 1]; +} ZydisDecoder; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * @addtogroup decoder Decoder + * Functions allowing decoding of instruction bytes to a machine interpretable struct. + * @{ + */ + +/** + * Initializes the given `ZydisDecoder` instance. + * + * @param decoder A pointer to the `ZydisDecoder` instance. + * @param machine_mode The machine mode. + * @param address_width The address width. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisDecoderInit(ZydisDecoder* decoder, ZydisMachineMode machine_mode, + ZydisAddressWidth address_width); + +/** + * Enables or disables the specified decoder-mode. + * + * @param decoder A pointer to the `ZydisDecoder` instance. + * @param mode The decoder mode. + * @param enabled `ZYAN_TRUE` to enable, or `ZYAN_FALSE` to disable the specified decoder-mode. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisDecoderEnableMode(ZydisDecoder* decoder, ZydisDecoderMode mode, + ZyanBool enabled); + +/** + * Decodes the instruction in the given input `buffer`. + * + * @param decoder A pointer to the `ZydisDecoder` instance. + * @param buffer A pointer to the input buffer. + * @param length The length of the input buffer. Note that this can be bigger than the + * actual size of the instruction -- you don't have to know the size up + * front. This length is merely used to prevent Zydis from doing + * out-of-bounds reads on your buffer. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct, that receives the + * details about the decoded instruction. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisDecoderDecodeBuffer(const ZydisDecoder* decoder, + const void* buffer, ZyanUSize length, ZydisDecodedInstruction* instruction); + +/** @} */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_DECODER_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/DecoderTypes.h b/externals/dynarmic/externals/zydis/include/Zydis/DecoderTypes.h new file mode 100755 index 000000000..00b5f345d --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/DecoderTypes.h @@ -0,0 +1,1551 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Defines the basic `ZydisDecodedInstruction` and `ZydisDecodedOperand` structs. + */ + +#ifndef ZYDIS_INSTRUCTIONINFO_H +#define ZYDIS_INSTRUCTIONINFO_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Decoded operand */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand attributes */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisOperandAttributes` data-type. + */ +typedef ZyanU8 ZydisOperandAttributes; + +/** + * The operand is a `MULTISOURCE4` register operand. + * + * This is a special register operand-type used by `4FMAPS` instructions where the given register + * points to the first register of a register range (4 registers in total). + * + * Example: ZMM3 -> [ZMM3..ZMM6] + */ +#define ZYDIS_OATTRIB_IS_MULTISOURCE4 0x01 // (1 << 0) + +/* ---------------------------------------------------------------------------------------------- */ +/* Memory type */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisMemoryOperandType` enum. + */ +typedef enum ZydisMemoryOperandType_ +{ + ZYDIS_MEMOP_TYPE_INVALID, + /** + * Normal memory operand. + */ + ZYDIS_MEMOP_TYPE_MEM, + /** + * The memory operand is only used for address-generation. No real memory-access is + * caused. + */ + ZYDIS_MEMOP_TYPE_AGEN, + /** + * A memory operand using `SIB` addressing form, where the index register is not used + * in address calculation and scale is ignored. No real memory-access is caused. + */ + ZYDIS_MEMOP_TYPE_MIB, + + /** + * Maximum value of this enum. + */ + ZYDIS_MEMOP_TYPE_MAX_VALUE = ZYDIS_MEMOP_TYPE_MIB, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_MEMOP_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MEMOP_TYPE_MAX_VALUE) +} ZydisMemoryOperandType; + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoded operand */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisDecodedOperand` struct. + */ +typedef struct ZydisDecodedOperand_ +{ + /** + * The operand-id. + */ + ZyanU8 id; + /** + * The type of the operand. + */ + ZydisOperandType type; + /** + * The visibility of the operand. + */ + ZydisOperandVisibility visibility; + /** + * The operand-actions. + */ + ZydisOperandActions actions; + /** + * The operand-encoding. + */ + ZydisOperandEncoding encoding; + /** + * The logical size of the operand (in bits). + */ + ZyanU16 size; + /** + * The element-type. + */ + ZydisElementType element_type; + /** + * The size of a single element. + */ + ZydisElementSize element_size; + /** + * The number of elements. + */ + ZyanU16 element_count; + /* + * Additional operand attributes. + */ + ZydisOperandAttributes attributes; + /** + * Extended info for register-operands. + */ + struct ZydisDecodedOperandReg_ + { + /** + * The register value. + */ + ZydisRegister value; + // TODO: AVX512_4VNNIW MULTISOURCE registers + } reg; + /** + * Extended info for memory-operands. + */ + struct ZydisDecodedOperandMem_ + { + /** + * The type of the memory operand. + */ + ZydisMemoryOperandType type; + /** + * The segment register. + */ + ZydisRegister segment; + /** + * The base register. + */ + ZydisRegister base; + /** + * The index register. + */ + ZydisRegister index; + /** + * The scale factor. + */ + ZyanU8 scale; + /** + * Extended info for memory-operands with displacement. + */ + struct ZydisDecodedOperandMemDisp_ + { + /** + * Signals, if the displacement value is used. + */ + ZyanBool has_displacement; + /** + * The displacement value + */ + ZyanI64 value; + } disp; + } mem; + /** + * Extended info for pointer-operands. + */ + struct ZydisDecodedOperandPtr_ + { + ZyanU16 segment; + ZyanU32 offset; + } ptr; + /** + * Extended info for immediate-operands. + */ + struct ZydisDecodedOperandImm_ + { + /** + * Signals, if the immediate value is signed. + */ + ZyanBool is_signed; + /** + * Signals, if the immediate value contains a relative offset. You can use + * `ZydisCalcAbsoluteAddress` to determine the absolute address value. + */ + ZyanBool is_relative; + /** + * The immediate value. + */ + union ZydisDecodedOperandImmValue_ + { + ZyanU64 u; + ZyanI64 s; + } value; + } imm; +} ZydisDecodedOperand; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Decoded instruction */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction attributes */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisInstructionAttributes` data-type. + */ +typedef ZyanU64 ZydisInstructionAttributes; + +/** + * The instruction has the `ModRM` byte. + */ +#define ZYDIS_ATTRIB_HAS_MODRM 0x0000000000000001 // (1 << 0) +/** + * The instruction has the `SIB` byte. + */ +#define ZYDIS_ATTRIB_HAS_SIB 0x0000000000000002 // (1 << 1) +/** + * The instruction has the `REX` prefix. + */ +#define ZYDIS_ATTRIB_HAS_REX 0x0000000000000004 // (1 << 2) +/** + * The instruction has the `XOP` prefix. + */ +#define ZYDIS_ATTRIB_HAS_XOP 0x0000000000000008 // (1 << 3) +/** + * The instruction has the `VEX` prefix. + */ +#define ZYDIS_ATTRIB_HAS_VEX 0x0000000000000010 // (1 << 4) +/** + * The instruction has the `EVEX` prefix. + */ +#define ZYDIS_ATTRIB_HAS_EVEX 0x0000000000000020 // (1 << 5) +/** + * The instruction has the `MVEX` prefix. + */ +#define ZYDIS_ATTRIB_HAS_MVEX 0x0000000000000040 // (1 << 6) +/** + * The instruction has one or more operands with position-relative offsets. + */ +#define ZYDIS_ATTRIB_IS_RELATIVE 0x0000000000000080 // (1 << 7) +/** + * The instruction is privileged. + * + * Privileged instructions are any instructions that require a current ring level below 3. + */ +#define ZYDIS_ATTRIB_IS_PRIVILEGED 0x0000000000000100 // (1 << 8) + +/** + * The instruction accesses one or more CPU-flags. + */ +#define ZYDIS_ATTRIB_CPUFLAG_ACCESS 0x0000001000000000 // (1 << 36) // TODO: rebase + +/** + * The instruction may conditionally read the general CPU state. + */ +#define ZYDIS_ATTRIB_CPU_STATE_CR 0x0000002000000000 // (1 << 37) // TODO: rebase +/** + * The instruction may conditionally write the general CPU state. + */ +#define ZYDIS_ATTRIB_CPU_STATE_CW 0x0000004000000000 // (1 << 38) // TODO: rebase +/** + * The instruction may conditionally read the FPU state (X87, MMX). + */ +#define ZYDIS_ATTRIB_FPU_STATE_CR 0x0000008000000000 // (1 << 39) // TODO: rebase +/** + * The instruction may conditionally write the FPU state (X87, MMX). + */ +#define ZYDIS_ATTRIB_FPU_STATE_CW 0x0000010000000000 // (1 << 40) // TODO: rebase +/** + * The instruction may conditionally read the XMM state (AVX, AVX2, AVX-512). + */ +#define ZYDIS_ATTRIB_XMM_STATE_CR 0x0000020000000000 // (1 << 41) // TODO: rebase +/** + * The instruction may conditionally write the XMM state (AVX, AVX2, AVX-512). + */ +#define ZYDIS_ATTRIB_XMM_STATE_CW 0x0000040000000000 // (1 << 42) // TODO: rebase + +/** + * The instruction accepts the `LOCK` prefix (`0xF0`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_LOCK 0x0000000000000200 // (1 << 9) +/** + * The instruction accepts the `REP` prefix (`0xF3`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_REP 0x0000000000000400 // (1 << 10) +/** + * The instruction accepts the `REPE`/`REPZ` prefix (`0xF3`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_REPE 0x0000000000000800 // (1 << 11) +/** + * The instruction accepts the `REPE`/`REPZ` prefix (`0xF3`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_REPZ 0x0000000000000800 // (1 << 11) +/** + * The instruction accepts the `REPNE`/`REPNZ` prefix (`0xF2`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_REPNE 0x0000000000001000 // (1 << 12) +/** + * The instruction accepts the `REPNE`/`REPNZ` prefix (`0xF2`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_REPNZ 0x0000000000001000 // (1 << 12) +/** + * The instruction accepts the `BND` prefix (`0xF2`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_BND 0x0000000000002000 // (1 << 13) +/** + * The instruction accepts the `XACQUIRE` prefix (`0xF2`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_XACQUIRE 0x0000000000004000 // (1 << 14) +/** + * The instruction accepts the `XRELEASE` prefix (`0xF3`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_XRELEASE 0x0000000000008000 // (1 << 15) +/** + * The instruction accepts the `XACQUIRE`/`XRELEASE` prefixes (`0xF2`, `0xF3`) + * without the `LOCK` prefix (`0x0F`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_HLE_WITHOUT_LOCK 0x0000000000010000 // (1 << 16) +/** + * The instruction accepts branch hints (0x2E, 0x3E). + */ +#define ZYDIS_ATTRIB_ACCEPTS_BRANCH_HINTS 0x0000000000020000 // (1 << 17) +/** + * The instruction accepts segment prefixes (`0x2E`, `0x36`, `0x3E`, `0x26`, + * `0x64`, `0x65`). + */ +#define ZYDIS_ATTRIB_ACCEPTS_SEGMENT 0x0000000000040000 // (1 << 18) +/** + * The instruction has the `LOCK` prefix (`0xF0`). + */ +#define ZYDIS_ATTRIB_HAS_LOCK 0x0000000000080000 // (1 << 19) +/** + * The instruction has the `REP` prefix (`0xF3`). + */ +#define ZYDIS_ATTRIB_HAS_REP 0x0000000000100000 // (1 << 20) +/** + * The instruction has the `REPE`/`REPZ` prefix (`0xF3`). + */ +#define ZYDIS_ATTRIB_HAS_REPE 0x0000000000200000 // (1 << 21) +/** + * The instruction has the `REPE`/`REPZ` prefix (`0xF3`). + */ +#define ZYDIS_ATTRIB_HAS_REPZ 0x0000000000200000 // (1 << 21) +/** + * The instruction has the `REPNE`/`REPNZ` prefix (`0xF2`). + */ +#define ZYDIS_ATTRIB_HAS_REPNE 0x0000000000400000 // (1 << 22) +/** + * The instruction has the `REPNE`/`REPNZ` prefix (`0xF2`). + */ +#define ZYDIS_ATTRIB_HAS_REPNZ 0x0000000000400000 // (1 << 22) +/** + * The instruction has the `BND` prefix (`0xF2`). + */ +#define ZYDIS_ATTRIB_HAS_BND 0x0000000000800000 // (1 << 23) +/** + * The instruction has the `XACQUIRE` prefix (`0xF2`). + */ +#define ZYDIS_ATTRIB_HAS_XACQUIRE 0x0000000001000000 // (1 << 24) +/** + * The instruction has the `XRELEASE` prefix (`0xF3`). + */ +#define ZYDIS_ATTRIB_HAS_XRELEASE 0x0000000002000000 // (1 << 25) +/** + * The instruction has the branch-not-taken hint (`0x2E`). + */ +#define ZYDIS_ATTRIB_HAS_BRANCH_NOT_TAKEN 0x0000000004000000 // (1 << 26) +/** + * The instruction has the branch-taken hint (`0x3E`). + */ +#define ZYDIS_ATTRIB_HAS_BRANCH_TAKEN 0x0000000008000000 // (1 << 27) +/** + * The instruction has a segment modifier. + */ +#define ZYDIS_ATTRIB_HAS_SEGMENT 0x00000003F0000000 +/** + * The instruction has the `CS` segment modifier (`0x2E`). + */ +#define ZYDIS_ATTRIB_HAS_SEGMENT_CS 0x0000000010000000 // (1 << 28) +/** + * The instruction has the `SS` segment modifier (`0x36`). + */ +#define ZYDIS_ATTRIB_HAS_SEGMENT_SS 0x0000000020000000 // (1 << 29) +/** + * The instruction has the `DS` segment modifier (`0x3E`). + */ +#define ZYDIS_ATTRIB_HAS_SEGMENT_DS 0x0000000040000000 // (1 << 30) +/** + * The instruction has the `ES` segment modifier (`0x26`). + */ +#define ZYDIS_ATTRIB_HAS_SEGMENT_ES 0x0000000080000000 // (1 << 31) +/** + * The instruction has the `FS` segment modifier (`0x64`). + */ +#define ZYDIS_ATTRIB_HAS_SEGMENT_FS 0x0000000100000000 // (1 << 32) +/** + * The instruction has the `GS` segment modifier (`0x65`). + */ +#define ZYDIS_ATTRIB_HAS_SEGMENT_GS 0x0000000200000000 // (1 << 33) +/** + * The instruction has the operand-size override prefix (`0x66`). + */ +#define ZYDIS_ATTRIB_HAS_OPERANDSIZE 0x0000000400000000 // (1 << 34) // TODO: rename +/** + * The instruction has the address-size override prefix (`0x67`). + */ +#define ZYDIS_ATTRIB_HAS_ADDRESSSIZE 0x0000000800000000 // (1 << 35) // TODO: rename + +/* ---------------------------------------------------------------------------------------------- */ +/* R/E/FLAGS info */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisCPUFlags` data-type. + */ +typedef ZyanU32 ZydisCPUFlags; + +/** + * Defines the `ZydisCPUFlag` data-type. + */ +typedef ZyanU8 ZydisCPUFlag; + +/** + * Carry flag. + */ +#define ZYDIS_CPUFLAG_CF 0 +/** + * Parity flag. + */ +#define ZYDIS_CPUFLAG_PF 2 +/** + * Adjust flag. + */ +#define ZYDIS_CPUFLAG_AF 4 +/** + * Zero flag. + */ +#define ZYDIS_CPUFLAG_ZF 6 +/** + * Sign flag. + */ +#define ZYDIS_CPUFLAG_SF 7 +/** + * Trap flag. + */ +#define ZYDIS_CPUFLAG_TF 8 +/** + * Interrupt enable flag. + */ +#define ZYDIS_CPUFLAG_IF 9 +/** + * Direction flag. + */ +#define ZYDIS_CPUFLAG_DF 10 +/** + * Overflow flag. + */ +#define ZYDIS_CPUFLAG_OF 11 +/** + * I/O privilege level flag. + */ +#define ZYDIS_CPUFLAG_IOPL 12 +/** + * Nested task flag. + */ +#define ZYDIS_CPUFLAG_NT 14 +/** + * Resume flag. + */ +#define ZYDIS_CPUFLAG_RF 16 +/** + * Virtual 8086 mode flag. + */ +#define ZYDIS_CPUFLAG_VM 17 +/** + * Alignment check. + */ +#define ZYDIS_CPUFLAG_AC 18 +/** + * Virtual interrupt flag. + */ +#define ZYDIS_CPUFLAG_VIF 19 +/** + * Virtual interrupt pending. + */ +#define ZYDIS_CPUFLAG_VIP 20 +/** + * Able to use CPUID instruction. + */ +#define ZYDIS_CPUFLAG_ID 21 + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * FPU condition-code flag 0. + * + * DEPRECATED. This flag is not actually part of `FLAGS/EFLAGS/RFLAGS` and will be removed in the + * next major release. Please refer to the `fpu_flags_read`/`fpu_flags_written` field instead and + * use one of the `ZYDIS_FPUFLAG_XXX` masks to check for specific a flag. + */ +#define ZYDIS_CPUFLAG_C0 22 +/** + * FPU condition-code flag 1. + * + * DEPRECATED. This flag is not actually part of `FLAGS/EFLAGS/RFLAGS` and will be removed in the + * next major release. Please refer to the `fpu_flags_read`/`fpu_flags_written` field instead and + * use one of the `ZYDIS_FPUFLAG_XXX` masks to check for specific a flag. + */ +#define ZYDIS_CPUFLAG_C1 23 +/** + * FPU condition-code flag 2. + * + * DEPRECATED. This flag is not actually part of `FLAGS/EFLAGS/RFLAGS` and will be removed in the + * next major release. Please refer to the `fpu_flags_read`/`fpu_flags_written` field instead and + * use one of the `ZYDIS_FPUFLAG_XXX` masks to check for specific a flag. + */ +#define ZYDIS_CPUFLAG_C2 24 +/** + * FPU condition-code flag 3. + * + * DEPRECATED. This flag is not actually part of `FLAGS/EFLAGS/RFLAGS` and will be removed in the + * next major release. Please refer to the `fpu_flags_read`/`fpu_flags_written` field instead and + * use one of the `ZYDIS_FPUFLAG_XXX` masks to check for specific a flag. + */ +#define ZYDIS_CPUFLAG_C3 25 + +/** + * DEPRECATED. This define will be removed in the next major release. + */ +#define ZYDIS_CPUFLAG_MAX_VALUE ZYDIS_CPUFLAG_C3 + + /////////////////////////////////////////////////////////////////////////////////////////////////// + + /** + * Defines the `ZydisFPUFlags` data-type. + */ +typedef ZyanU8 ZydisFPUFlags; + +/** + * FPU condition-code flag 0. + */ +#define ZYDIS_FPUFLAG_C0 0x00 // (1 << 0) +/** + * FPU condition-code flag 1. + */ +#define ZYDIS_FPUFLAG_C1 0x01 // (1 << 1) + /** + * FPU condition-code flag 2. + */ +#define ZYDIS_FPUFLAG_C2 0x02 // (1 << 2) +/** + * FPU condition-code flag 3. + */ +#define ZYDIS_FPUFLAG_C3 0x04 // (1 << 3) + +/** + * Defines the `ZydisCPUFlagAction` enum. + * + * DEPRECATED. This enum will be removed in the next major release. + */ +typedef enum ZydisCPUFlagAction_ +{ + /** + * The CPU flag is not touched by the instruction. + */ + ZYDIS_CPUFLAG_ACTION_NONE, + /** + * The CPU flag is tested (read). + */ + ZYDIS_CPUFLAG_ACTION_TESTED, + /** + * The CPU flag is tested and modified afterwards (read-write). + */ + ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, + /** + * The CPU flag is modified (write). + */ + ZYDIS_CPUFLAG_ACTION_MODIFIED, + /** + * The CPU flag is set to 0 (write). + */ + ZYDIS_CPUFLAG_ACTION_SET_0, + /** + * The CPU flag is set to 1 (write). + */ + ZYDIS_CPUFLAG_ACTION_SET_1, + /** + * The CPU flag is undefined (write). + */ + ZYDIS_CPUFLAG_ACTION_UNDEFINED, + + /** + * Maximum value of this enum. + */ + ZYDIS_CPUFLAG_ACTION_MAX_VALUE = ZYDIS_CPUFLAG_ACTION_UNDEFINED, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_CPUFLAG_ACTION_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_CPUFLAG_ACTION_MAX_VALUE) +} ZydisCPUFlagAction; + +/* ---------------------------------------------------------------------------------------------- */ +/* Branch types */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisBranchType` enum. + */ +typedef enum ZydisBranchType_ +{ + /** + * The instruction is not a branch instruction. + */ + ZYDIS_BRANCH_TYPE_NONE, + /** + * The instruction is a short (8-bit) branch instruction. + */ + ZYDIS_BRANCH_TYPE_SHORT, + /** + * The instruction is a near (16-bit or 32-bit) branch instruction. + */ + ZYDIS_BRANCH_TYPE_NEAR, + /** + * The instruction is a far (inter-segment) branch instruction. + */ + ZYDIS_BRANCH_TYPE_FAR, + + /** + * Maximum value of this enum. + */ + ZYDIS_BRANCH_TYPE_MAX_VALUE = ZYDIS_BRANCH_TYPE_FAR, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_BRANCH_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_BRANCH_TYPE_MAX_VALUE) +} ZydisBranchType; + +/* ---------------------------------------------------------------------------------------------- */ +/* SSE/AVX exception-class */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisExceptionClass` enum. + */ +typedef enum ZydisExceptionClass_ +{ + ZYDIS_EXCEPTION_CLASS_NONE, + // TODO: FP Exceptions + ZYDIS_EXCEPTION_CLASS_SSE1, + ZYDIS_EXCEPTION_CLASS_SSE2, + ZYDIS_EXCEPTION_CLASS_SSE3, + ZYDIS_EXCEPTION_CLASS_SSE4, + ZYDIS_EXCEPTION_CLASS_SSE5, + ZYDIS_EXCEPTION_CLASS_SSE7, + ZYDIS_EXCEPTION_CLASS_AVX1, + ZYDIS_EXCEPTION_CLASS_AVX2, + ZYDIS_EXCEPTION_CLASS_AVX3, + ZYDIS_EXCEPTION_CLASS_AVX4, + ZYDIS_EXCEPTION_CLASS_AVX5, + ZYDIS_EXCEPTION_CLASS_AVX6, + ZYDIS_EXCEPTION_CLASS_AVX7, + ZYDIS_EXCEPTION_CLASS_AVX8, + ZYDIS_EXCEPTION_CLASS_AVX11, + ZYDIS_EXCEPTION_CLASS_AVX12, + ZYDIS_EXCEPTION_CLASS_E1, + ZYDIS_EXCEPTION_CLASS_E1NF, + ZYDIS_EXCEPTION_CLASS_E2, + ZYDIS_EXCEPTION_CLASS_E2NF, + ZYDIS_EXCEPTION_CLASS_E3, + ZYDIS_EXCEPTION_CLASS_E3NF, + ZYDIS_EXCEPTION_CLASS_E4, + ZYDIS_EXCEPTION_CLASS_E4NF, + ZYDIS_EXCEPTION_CLASS_E5, + ZYDIS_EXCEPTION_CLASS_E5NF, + ZYDIS_EXCEPTION_CLASS_E6, + ZYDIS_EXCEPTION_CLASS_E6NF, + ZYDIS_EXCEPTION_CLASS_E7NM, + ZYDIS_EXCEPTION_CLASS_E7NM128, + ZYDIS_EXCEPTION_CLASS_E9NF, + ZYDIS_EXCEPTION_CLASS_E10, + ZYDIS_EXCEPTION_CLASS_E10NF, + ZYDIS_EXCEPTION_CLASS_E11, + ZYDIS_EXCEPTION_CLASS_E11NF, + ZYDIS_EXCEPTION_CLASS_E12, + ZYDIS_EXCEPTION_CLASS_E12NP, + ZYDIS_EXCEPTION_CLASS_K20, + ZYDIS_EXCEPTION_CLASS_K21, + ZYDIS_EXCEPTION_CLASS_AMXE1, + ZYDIS_EXCEPTION_CLASS_AMXE2, + ZYDIS_EXCEPTION_CLASS_AMXE3, + ZYDIS_EXCEPTION_CLASS_AMXE4, + ZYDIS_EXCEPTION_CLASS_AMXE5, + ZYDIS_EXCEPTION_CLASS_AMXE6, + + /** + * Maximum value of this enum. + */ + ZYDIS_EXCEPTION_CLASS_MAX_VALUE = ZYDIS_EXCEPTION_CLASS_AMXE6, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_EXCEPTION_CLASS_MAX_VALUE) +} ZydisExceptionClass; + +/* ---------------------------------------------------------------------------------------------- */ +/* AVX mask mode */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisMaskMode` enum. + */ +typedef enum ZydisMaskMode_ +{ + ZYDIS_MASK_MODE_INVALID, + /** + * Masking is disabled for the current instruction (`K0` register is used). + */ + ZYDIS_MASK_MODE_DISABLED, + /** + * The embedded mask register is used as a merge-mask. + */ + ZYDIS_MASK_MODE_MERGING, + /** + * The embedded mask register is used as a zero-mask. + */ + ZYDIS_MASK_MODE_ZEROING, + /** + * The embedded mask register is used as a control-mask (element selector). + */ + ZYDIS_MASK_MODE_CONTROL, + /** + * The embedded mask register is used as a zeroing control-mask (element selector). + */ + ZYDIS_MASK_MODE_CONTROL_ZEROING, + + /** + * Maximum value of this enum. + */ + ZYDIS_MASK_MODE_MAX_VALUE = ZYDIS_MASK_MODE_CONTROL_ZEROING, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_MASK_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MASK_MODE_MAX_VALUE) +} ZydisMaskMode; + +/* ---------------------------------------------------------------------------------------------- */ +/* AVX broadcast-mode */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisBroadcastMode` enum. + */ +typedef enum ZydisBroadcastMode_ +{ + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_1_TO_2, + ZYDIS_BROADCAST_MODE_1_TO_4, + ZYDIS_BROADCAST_MODE_1_TO_8, + ZYDIS_BROADCAST_MODE_1_TO_16, + ZYDIS_BROADCAST_MODE_1_TO_32, + ZYDIS_BROADCAST_MODE_1_TO_64, + ZYDIS_BROADCAST_MODE_2_TO_4, + ZYDIS_BROADCAST_MODE_2_TO_8, + ZYDIS_BROADCAST_MODE_2_TO_16, + ZYDIS_BROADCAST_MODE_4_TO_8, + ZYDIS_BROADCAST_MODE_4_TO_16, + ZYDIS_BROADCAST_MODE_8_TO_16, + + /** + * Maximum value of this enum. + */ + ZYDIS_BROADCAST_MODE_MAX_VALUE = ZYDIS_BROADCAST_MODE_8_TO_16, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_BROADCAST_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_BROADCAST_MODE_MAX_VALUE) +} ZydisBroadcastMode; + +/* ---------------------------------------------------------------------------------------------- */ +/* AVX rounding-mode */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisRoundingMode` enum. + */ +typedef enum ZydisRoundingMode_ +{ + ZYDIS_ROUNDING_MODE_INVALID, + /** + * Round to nearest. + */ + ZYDIS_ROUNDING_MODE_RN, + /** + * Round down. + */ + ZYDIS_ROUNDING_MODE_RD, + /** + * Round up. + */ + ZYDIS_ROUNDING_MODE_RU, + /** + * Round towards zero. + */ + ZYDIS_ROUNDING_MODE_RZ, + + /** + * Maximum value of this enum. + */ + ZYDIS_ROUNDING_MODE_MAX_VALUE = ZYDIS_ROUNDING_MODE_RZ, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_ROUNDING_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ROUNDING_MODE_MAX_VALUE) +} ZydisRoundingMode; + +/* ---------------------------------------------------------------------------------------------- */ +/* KNC swizzle-mode */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisSwizzleMode` enum. + */ +typedef enum ZydisSwizzleMode_ +{ + ZYDIS_SWIZZLE_MODE_INVALID, + ZYDIS_SWIZZLE_MODE_DCBA, + ZYDIS_SWIZZLE_MODE_CDAB, + ZYDIS_SWIZZLE_MODE_BADC, + ZYDIS_SWIZZLE_MODE_DACB, + ZYDIS_SWIZZLE_MODE_AAAA, + ZYDIS_SWIZZLE_MODE_BBBB, + ZYDIS_SWIZZLE_MODE_CCCC, + ZYDIS_SWIZZLE_MODE_DDDD, + + /** + * Maximum value of this enum. + */ + ZYDIS_SWIZZLE_MODE_MAX_VALUE = ZYDIS_SWIZZLE_MODE_DDDD, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_SWIZZLE_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_SWIZZLE_MODE_MAX_VALUE) +} ZydisSwizzleMode; + +/* ---------------------------------------------------------------------------------------------- */ +/* KNC conversion-mode */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisConversionMode` enum. + */ +typedef enum ZydisConversionMode_ +{ + ZYDIS_CONVERSION_MODE_INVALID, + ZYDIS_CONVERSION_MODE_FLOAT16, + ZYDIS_CONVERSION_MODE_SINT8, + ZYDIS_CONVERSION_MODE_UINT8, + ZYDIS_CONVERSION_MODE_SINT16, + ZYDIS_CONVERSION_MODE_UINT16, + + /** + * Maximum value of this enum. + */ + ZYDIS_CONVERSION_MODE_MAX_VALUE = ZYDIS_CONVERSION_MODE_UINT16, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_CONVERSION_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_CONVERSION_MODE_MAX_VALUE) +} ZydisConversionMode; + +/* ---------------------------------------------------------------------------------------------- */ +/* Legacy prefix type */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisPrefixType` enum. + */ +typedef enum ZydisPrefixType_ +{ + /** + * The prefix is ignored by the instruction. + * + * This applies to all prefixes that are not accepted by the instruction in general or the + * ones that are overwritten by a prefix of the same group closer to the instruction opcode. + */ + ZYDIS_PREFIX_TYPE_IGNORED, + /** + * The prefix is effectively used by the instruction. + */ + ZYDIS_PREFIX_TYPE_EFFECTIVE, + /** + * The prefix is used as a mandatory prefix. + * + * A mandatory prefix is interpreted as an opcode extension and has no further effect on the + * instruction. + */ + ZYDIS_PREFIX_TYPE_MANDATORY, + + /** + * Maximum value of this enum. + */ + ZYDIS_PREFIX_TYPE_MAX_VALUE = ZYDIS_PREFIX_TYPE_MANDATORY, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_PREFIX_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_PREFIX_TYPE_MAX_VALUE) +} ZydisPrefixType; + +// TODO: Check effective for 66/67 prefixes (currently defaults to EFFECTIVE) + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoded instruction */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Information about a decoded instruction. + */ +typedef struct ZydisDecodedInstruction_ +{ + /** + * The machine mode used to decode this instruction. + */ + ZydisMachineMode machine_mode; + /** + * The instruction-mnemonic. + */ + ZydisMnemonic mnemonic; + /** + * The length of the decoded instruction. + */ + ZyanU8 length; + /** + * The instruction-encoding (`LEGACY`, `3DNOW`, `VEX`, `EVEX`, `XOP`). + */ + ZydisInstructionEncoding encoding; + /** + * The opcode-map. + */ + ZydisOpcodeMap opcode_map; + /** + * The instruction-opcode. + */ + ZyanU8 opcode; + /** + * The stack width. + */ + ZyanU8 stack_width; + /** + * The effective operand width. + */ + ZyanU8 operand_width; + /** + * The effective address width. + */ + ZyanU8 address_width; + /** + * The number of instruction-operands. + */ + ZyanU8 operand_count; + /** + * Detailed info for all instruction operands. + * + * Explicit operands are guaranteed to be in the front and ordered as they are printed + * by the formatter in Intel mode. No assumptions can be made about the order of hidden + * operands, except that they always located behind the explicit operands. + */ + ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT]; + /** + * Instruction attributes. + */ + ZydisInstructionAttributes attributes; + /** + * Information about accessed CPU flags. + * + * DEPRECATED. This field will be removed in the next major release. Please use the + * `cpu_flags_read`/`cpu_flags_written` or `fpu_flags_read`/`fpu_flags_written` fields + * instead. + */ + struct ZydisDecodedInstructionAccessedFlags_ + { + /** + * The CPU-flag action. + * + * Use `ZydisGetAccessedFlagsByAction` to get a mask with all flags matching a specific + * action. + */ + ZydisCPUFlagAction action; + } accessed_flags[ZYDIS_CPUFLAG_MAX_VALUE + 1]; + /** + * A mask containing the CPU flags read by the instruction. + * + * The bits in this mask correspond to the actual bits in the `FLAGS/EFLAGS/RFLAGS` + * register. + * + * This mask includes the actions `TESTED` and `TESTED_MODIFIED`. + */ + ZydisCPUFlags cpu_flags_read; + /** + * A mask containing the CPU flags written by the instruction. + * + * The bits in this mask correspond to the actual bits in the `FLAGS/EFLAGS/RFLAGS` + * register. + * + * This mask includes the actions `TESTED_MODIFIED`, `SET_0`, `SET_1` and `UNDEFINED`. + */ + ZydisCPUFlags cpu_flags_written; + /** + * A mask containing the FPU flags read by the instruction. + */ + ZydisFPUFlags fpu_flags_read; + /** + * A mask containing the FPU flags written by the instruction. + */ + ZydisFPUFlags fpu_flags_written; + /** + * Extended info for `AVX` instructions. + */ + struct ZydisDecodedInstructionAvx_ + { + /** + * The `AVX` vector-length. + */ + ZyanU16 vector_length; + /** + * Info about the embedded writemask-register (`AVX-512` and `KNC` only). + */ + struct ZydisDecodedInstructionAvxMask_ + { + /** + * The masking mode. + */ + ZydisMaskMode mode; + /** + * The mask register. + */ + ZydisRegister reg; + } mask; + /** + * Contains info about the `AVX` broadcast. + */ + struct ZydisDecodedInstructionAvxBroadcast_ + { + /** + * Signals, if the broadcast is a static broadcast. + * + * This is the case for instructions with inbuilt broadcast functionality, which is + * always active and not controlled by the `EVEX/MVEX.RC` bits. + */ + ZyanBool is_static; + /** + * The `AVX` broadcast-mode. + */ + ZydisBroadcastMode mode; + } broadcast; + /** + * Contains info about the `AVX` rounding. + */ + struct ZydisDecodedInstructionAvxRounding_ + { + /** + * The `AVX` rounding-mode. + */ + ZydisRoundingMode mode; + } rounding; + /** + * Contains info about the `AVX` register-swizzle (`KNC` only). + */ + struct ZydisDecodedInstructionAvxSwizzle_ + { + /** + * The `AVX` register-swizzle mode. + */ + ZydisSwizzleMode mode; + } swizzle; + /** + * Contains info about the `AVX` data-conversion (`KNC` only). + */ + struct ZydisDecodedInstructionAvxConversion_ + { + /** + * The `AVX` data-conversion mode. + */ + ZydisConversionMode mode; + } conversion; + /** + * Signals, if the `SAE` (suppress-all-exceptions) functionality is + * enabled for the instruction. + */ + ZyanBool has_sae; + /** + * Signals, if the instruction has a memory-eviction-hint (`KNC` only). + */ + ZyanBool has_eviction_hint; + // TODO: publish EVEX tuple-type and MVEX functionality + } avx; + /** + * Meta info. + */ + struct ZydisDecodedInstructionMeta_ + { + /** + * The instruction category. + */ + ZydisInstructionCategory category; + /** + * The ISA-set. + */ + ZydisISASet isa_set; + /** + * The ISA-set extension. + */ + ZydisISAExt isa_ext; + /** + * The branch type. + */ + ZydisBranchType branch_type; + /** + * The exception class. + */ + ZydisExceptionClass exception_class; + } meta; + /** + * Detailed info about different instruction-parts like `ModRM`, `SIB` or + * encoding-prefixes. + */ + struct ZydisDecodedInstructionRaw_ + { + /** + * The number of legacy prefixes. + */ + ZyanU8 prefix_count; + /** + * Detailed info about the legacy prefixes (including `REX`). + */ + struct ZydisDecodedInstructionRawPrefixes_ + { + /** + * The prefix type. + */ + ZydisPrefixType type; + /** + * The prefix byte. + */ + ZyanU8 value; + } prefixes[ZYDIS_MAX_INSTRUCTION_LENGTH]; + /** + * Detailed info about the `REX` prefix. + */ + struct ZydisDecodedInstructionRawRex_ + { + /** + * 64-bit operand-size promotion. + */ + ZyanU8 W; + /** + * Extension of the `ModRM.reg` field. + */ + ZyanU8 R; + /** + * Extension of the `SIB.index` field. + */ + ZyanU8 X; + /** + * Extension of the `ModRM.rm`, `SIB.base`, or `opcode.reg` field. + */ + ZyanU8 B; + /** + * The offset of the effective `REX` byte, relative to the beginning of the + * instruction, in bytes. + * + * This offset always points to the "effective" `REX` prefix (the one closest to the + * instruction opcode), if multiple `REX` prefixes are present. + * + * Note that the `REX` byte can be the first byte of the instruction, which would lead + * to an offset of `0`. Please refer to the instruction attributes to check for the + * presence of the `REX` prefix. + */ + ZyanU8 offset; + } rex; + /** + * Detailed info about the `XOP` prefix. + */ + struct ZydisDecodedInstructionRawXop_ + { + /** + * Extension of the `ModRM.reg` field (inverted). + */ + ZyanU8 R; + /** + * Extension of the `SIB.index` field (inverted). + */ + ZyanU8 X; + /** + * Extension of the `ModRM.rm`, `SIB.base`, or `opcode.reg` field (inverted). + */ + ZyanU8 B; + /** + * Opcode-map specifier. + */ + ZyanU8 m_mmmm; + /** + * 64-bit operand-size promotion or opcode-extension. + */ + ZyanU8 W; + /** + * `NDS`/`NDD` (non-destructive-source/destination) register + * specifier (inverted). + */ + ZyanU8 vvvv; + /** + * Vector-length specifier. + */ + ZyanU8 L; + /** + * Compressed legacy prefix. + */ + ZyanU8 pp; + /** + * The offset of the first xop byte, relative to the beginning of + * the instruction, in bytes. + */ + ZyanU8 offset; + } xop; + /** + * Detailed info about the `VEX` prefix. + */ + struct ZydisDecodedInstructionRawVex_ + { + /** + * Extension of the `ModRM.reg` field (inverted). + */ + ZyanU8 R; + /** + * Extension of the `SIB.index` field (inverted). + */ + ZyanU8 X; + /** + * Extension of the `ModRM.rm`, `SIB.base`, or `opcode.reg` field (inverted). + */ + ZyanU8 B; + /** + * Opcode-map specifier. + */ + ZyanU8 m_mmmm; + /** + * 64-bit operand-size promotion or opcode-extension. + */ + ZyanU8 W; + /** + * `NDS`/`NDD` (non-destructive-source/destination) register specifier + * (inverted). + */ + ZyanU8 vvvv; + /** + * Vector-length specifier. + */ + ZyanU8 L; + /** + * Compressed legacy prefix. + */ + ZyanU8 pp; + /** + * The offset of the first `VEX` byte, relative to the beginning of the instruction, in + * bytes. + */ + ZyanU8 offset; + /** + * The size of the `VEX` prefix, in bytes. + */ + ZyanU8 size; + } vex; + /** + * Detailed info about the `EVEX` prefix. + */ + struct ZydisDecodedInstructionRawEvex_ + { + /** + * Extension of the `ModRM.reg` field (inverted). + */ + ZyanU8 R; + /** + * Extension of the `SIB.index/vidx` field (inverted). + */ + ZyanU8 X; + /** + * Extension of the `ModRM.rm` or `SIB.base` field (inverted). + */ + ZyanU8 B; + /** + * High-16 register specifier modifier (inverted). + */ + ZyanU8 R2; + /** + * Opcode-map specifier. + */ + ZyanU8 mm; + /** + * 64-bit operand-size promotion or opcode-extension. + */ + ZyanU8 W; + /** + * `NDS`/`NDD` (non-destructive-source/destination) register specifier + * (inverted). + */ + ZyanU8 vvvv; + /** + * Compressed legacy prefix. + */ + ZyanU8 pp; + /** + * Zeroing/Merging. + */ + ZyanU8 z; + /** + * Vector-length specifier or rounding-control (most significant bit). + */ + ZyanU8 L2; + /** + * Vector-length specifier or rounding-control (least significant bit). + */ + ZyanU8 L; + /** + * Broadcast/RC/SAE context. + */ + ZyanU8 b; + /** + * High-16 `NDS`/`VIDX` register specifier. + */ + ZyanU8 V2; + /** + * Embedded opmask register specifier. + */ + ZyanU8 aaa; + /** + * The offset of the first evex byte, relative to the beginning of the + * instruction, in bytes. + */ + ZyanU8 offset; + } evex; + /** + * Detailed info about the `MVEX` prefix. + */ + struct ZydisDecodedInstructionRawMvex_ + { + /** + * Extension of the `ModRM.reg` field (inverted). + */ + ZyanU8 R; + /** + * Extension of the `SIB.index/vidx` field (inverted). + */ + ZyanU8 X; + /** + * Extension of the `ModRM.rm` or `SIB.base` field (inverted). + */ + ZyanU8 B; + /** + * High-16 register specifier modifier (inverted). + */ + ZyanU8 R2; + /** + * Opcode-map specifier. + */ + ZyanU8 mmmm; + /** + * 64-bit operand-size promotion or opcode-extension. + */ + ZyanU8 W; + /** + * `NDS`/`NDD` (non-destructive-source/destination) register specifier + * (inverted). + */ + ZyanU8 vvvv; + /** + * Compressed legacy prefix. + */ + ZyanU8 pp; + /** + * Non-temporal/eviction hint. + */ + ZyanU8 E; + /** + * Swizzle/broadcast/up-convert/down-convert/static-rounding controls. + */ + ZyanU8 SSS; + /** + * High-16 `NDS`/`VIDX` register specifier. + */ + ZyanU8 V2; + /** + * Embedded opmask register specifier. + */ + ZyanU8 kkk; + /** + * The offset of the first mvex byte, relative to the beginning of the + * instruction, in bytes. + */ + ZyanU8 offset; + } mvex; + /** + * Detailed info about the `ModRM` byte. + */ + struct ZydisDecodedInstructionModRm_ + { + /** + * The addressing mode. + */ + ZyanU8 mod; + /** + * Register specifier or opcode-extension. + */ + ZyanU8 reg; + /** + * Register specifier or opcode-extension. + */ + ZyanU8 rm; + /** + * The offset of the `ModRM` byte, relative to the beginning of the + * instruction, in bytes. + */ + ZyanU8 offset; + } modrm; + /** + * Detailed info about the `SIB` byte. + */ + struct ZydisDecodedInstructionRawSib_ + { + /** + * The scale factor. + */ + ZyanU8 scale; + /** + * The index-register specifier. + */ + ZyanU8 index; + /** + * The base-register specifier. + */ + ZyanU8 base; + /** + * The offset of the `SIB` byte, relative to the beginning of the + * instruction, in bytes. + */ + ZyanU8 offset; + } sib; + /** + * Detailed info about displacement-bytes. + */ + struct ZydisDecodedInstructionRawDisp_ + { + /** + * The displacement value + */ + ZyanI64 value; + /** + * The physical displacement size, in bits. + */ + ZyanU8 size; + // TODO: publish cd8 scale + /** + * The offset of the displacement data, relative to the beginning of the + * instruction, in bytes. + */ + ZyanU8 offset; + } disp; + /** + * Detailed info about immediate-bytes. + */ + struct ZydisDecodedInstructionRawImm_ + { + /** + * Signals, if the immediate value is signed. + */ + ZyanBool is_signed; + /** + * Signals, if the immediate value contains a relative offset. You can use + * `ZydisCalcAbsoluteAddress` to determine the absolute address value. + */ + ZyanBool is_relative; + /** + * The immediate value. + */ + union ZydisDecodedInstructionRawImmValue_ + { + ZyanU64 u; + ZyanI64 s; + } value; + /** + * The physical immediate size, in bits. + */ + ZyanU8 size; + /** + * The offset of the immediate data, relative to the beginning of the + * instruction, in bytes. + */ + ZyanU8 offset; + } imm[2]; + } raw; +} ZydisDecodedInstruction; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_INSTRUCTIONINFO_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Formatter.h b/externals/dynarmic/externals/zydis/include/Zydis/Formatter.h new file mode 100755 index 000000000..c68bcdeaf --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Formatter.h @@ -0,0 +1,1179 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Functions for formatting instructions to human-readable text. + */ + +#ifndef ZYDIS_FORMATTER_H +#define ZYDIS_FORMATTER_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +/** + * Use this constant as value for `runtime_address` in `ZydisFormatterFormatInstruction(Ex)` + * or `ZydisFormatterFormatOperand(Ex)` to print relative values for all addresses. + */ +#define ZYDIS_RUNTIME_ADDRESS_NONE (ZyanU64)(-1) + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatter style */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisFormatterStyle` enum. + */ +typedef enum ZydisFormatterStyle_ +{ + /** + * Generates `AT&T`-style disassembly. + */ + ZYDIS_FORMATTER_STYLE_ATT, + /** + * Generates `Intel`-style disassembly. + */ + ZYDIS_FORMATTER_STYLE_INTEL, + /** + * Generates `MASM`-style disassembly that is directly accepted as input for + * the `MASM` assembler. + * + * The runtime-address is ignored in this mode. + */ + ZYDIS_FORMATTER_STYLE_INTEL_MASM, + + /** + * Maximum value of this enum. + */ + ZYDIS_FORMATTER_STYLE_MAX_VALUE = ZYDIS_FORMATTER_STYLE_INTEL_MASM, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_FORMATTER_STYLE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FORMATTER_STYLE_MAX_VALUE) +} ZydisFormatterStyle; + +/* ---------------------------------------------------------------------------------------------- */ +/* Properties */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisFormatterProperty` enum. + */ +typedef enum ZydisFormatterProperty_ +{ + /* ---------------------------------------------------------------------------------------- */ + /* General */ + /* ---------------------------------------------------------------------------------------- */ + + /** + * Controls the printing of effective operand-size suffixes (`AT&T`) or operand-sizes + * of memory operands (`INTEL`). + * + * Pass `ZYAN_TRUE` as value to force the formatter to always print the size, or `ZYAN_FALSE` + * to only print it if needed. + */ + ZYDIS_FORMATTER_PROP_FORCE_SIZE, + /** + * Controls the printing of segment prefixes. + * + * Pass `ZYAN_TRUE` as value to force the formatter to always print the segment register of + * memory-operands or `ZYAN_FALSE` to omit implicit `DS`/`SS` segments. + */ + ZYDIS_FORMATTER_PROP_FORCE_SEGMENT, + /** + * Controls the printing of branch addresses. + * + * Pass `ZYAN_TRUE` as value to force the formatter to always print relative branch addresses + * or `ZYAN_FALSE` to use absolute addresses, if a runtime-address different to + * `ZYDIS_RUNTIME_ADDRESS_NONE` was passed. + */ + ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_BRANCHES, + /** + * Controls the printing of `EIP`/`RIP`-relative addresses. + * + * Pass `ZYAN_TRUE` as value to force the formatter to always print relative addresses for + * `EIP`/`RIP`-relative operands or `ZYAN_FALSE` to use absolute addresses, if a runtime- + * address different to `ZYDIS_RUNTIME_ADDRESS_NONE` was passed. + */ + ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_RIPREL, + /** + * Controls the printing of branch-instructions sizes. + * + * Pass `ZYAN_TRUE` as value to print the size (`short`, `near`) of branch + * instructions or `ZYAN_FALSE` to hide it. + * + * Note that the `far`/`l` modifier is always printed. + */ + ZYDIS_FORMATTER_PROP_PRINT_BRANCH_SIZE, + + /** + * Controls the printing of instruction prefixes. + * + * Pass `ZYAN_TRUE` as value to print all instruction-prefixes (even ignored or duplicate + * ones) or `ZYAN_FALSE` to only print prefixes that are effectively used by the instruction. + */ + ZYDIS_FORMATTER_PROP_DETAILED_PREFIXES, + + /* ---------------------------------------------------------------------------------------- */ + /* Numeric values */ + /* ---------------------------------------------------------------------------------------- */ + + /** + * Controls the base of address values. + */ + ZYDIS_FORMATTER_PROP_ADDR_BASE, + /** + * Controls the signedness of relative addresses. Absolute addresses are + * always unsigned. + */ + ZYDIS_FORMATTER_PROP_ADDR_SIGNEDNESS, + /** + * Controls the padding of absolute address values. + * + * Pass `ZYDIS_PADDING_DISABLED` to disable padding, `ZYDIS_PADDING_AUTO` to padd all + * addresses to the current stack width (hexadecimal only), or any other integer value for + * custom padding. + */ + ZYDIS_FORMATTER_PROP_ADDR_PADDING_ABSOLUTE, + /** + * Controls the padding of relative address values. + * + * Pass `ZYDIS_PADDING_DISABLED` to disable padding, `ZYDIS_PADDING_AUTO` to padd all + * addresses to the current stack width (hexadecimal only), or any other integer value for + * custom padding. + */ + ZYDIS_FORMATTER_PROP_ADDR_PADDING_RELATIVE, + + /* ---------------------------------------------------------------------------------------- */ + + /** + * Controls the base of displacement values. + */ + ZYDIS_FORMATTER_PROP_DISP_BASE, + /** + * Controls the signedness of displacement values. + */ + ZYDIS_FORMATTER_PROP_DISP_SIGNEDNESS, + /** + * Controls the padding of displacement values. + * + * Pass `ZYDIS_PADDING_DISABLED` to disable padding, or any other integer value for custom + * padding. + */ + ZYDIS_FORMATTER_PROP_DISP_PADDING, + + /* ---------------------------------------------------------------------------------------- */ + + /** + * Controls the base of immediate values. + */ + ZYDIS_FORMATTER_PROP_IMM_BASE, + /** + * Controls the signedness of immediate values. + * + * Pass `ZYDIS_SIGNEDNESS_AUTO` to automatically choose the most suitable mode based on the + * operands `ZydisDecodedOperand.imm.is_signed` attribute. + */ + ZYDIS_FORMATTER_PROP_IMM_SIGNEDNESS, + /** + * Controls the padding of immediate values. + * + * Pass `ZYDIS_PADDING_DISABLED` to disable padding, `ZYDIS_PADDING_AUTO` to padd all + * immediates to the operand-width (hexadecimal only), or any other integer value for custom + * padding. + */ + ZYDIS_FORMATTER_PROP_IMM_PADDING, + + /* ---------------------------------------------------------------------------------------- */ + /* Text formatting */ + /* ---------------------------------------------------------------------------------------- */ + + /** + * Controls the letter-case for prefixes. + * + * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase. + */ + ZYDIS_FORMATTER_PROP_UPPERCASE_PREFIXES, + /** + * Controls the letter-case for the mnemonic. + * + * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase. + */ + ZYDIS_FORMATTER_PROP_UPPERCASE_MNEMONIC, + /** + * Controls the letter-case for registers. + * + * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase. + */ + ZYDIS_FORMATTER_PROP_UPPERCASE_REGISTERS, + /** + * Controls the letter-case for typecasts. + * + * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase. + */ + ZYDIS_FORMATTER_PROP_UPPERCASE_TYPECASTS, + /** + * Controls the letter-case for decorators. + * + * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase. + */ + ZYDIS_FORMATTER_PROP_UPPERCASE_DECORATORS, + + /* ---------------------------------------------------------------------------------------- */ + /* Number formatting */ + /* ---------------------------------------------------------------------------------------- */ + + /** + * Controls the prefix for decimal values. + * + * Pass a pointer to a null-terminated C-style string with a maximum length of 10 characters + * to set a custom prefix, or `ZYAN_NULL` to disable it. + * + * The string is deep-copied into an internal buffer. + */ + ZYDIS_FORMATTER_PROP_DEC_PREFIX, + /** + * Controls the suffix for decimal values. + * + * Pass a pointer to a null-terminated C-style string with a maximum length of 10 characters + * to set a custom suffix, or `ZYAN_NULL` to disable it. + * + * The string is deep-copied into an internal buffer. + */ + ZYDIS_FORMATTER_PROP_DEC_SUFFIX, + + /* ---------------------------------------------------------------------------------------- */ + + /** + * Controls the letter-case of hexadecimal values. + * + * Pass `ZYAN_TRUE` as value to format in uppercase and `ZYAN_FALSE` to format in lowercase. + * + * The default value is `ZYAN_TRUE`. + */ + ZYDIS_FORMATTER_PROP_HEX_UPPERCASE, + /** + * Controls the prefix for hexadecimal values. + * + * Pass a pointer to a null-terminated C-style string with a maximum length of 10 characters + * to set a custom prefix, or `ZYAN_NULL` to disable it. + * + * The string is deep-copied into an internal buffer. + */ + ZYDIS_FORMATTER_PROP_HEX_PREFIX, + /** + * Controls the suffix for hexadecimal values. + * + * Pass a pointer to a null-terminated C-style string with a maximum length of 10 characters + * to set a custom suffix, or `ZYAN_NULL` to disable it. + * + * The string is deep-copied into an internal buffer. + */ + ZYDIS_FORMATTER_PROP_HEX_SUFFIX, + + /* ---------------------------------------------------------------------------------------- */ + + /** + * Maximum value of this enum. + */ + ZYDIS_FORMATTER_PROP_MAX_VALUE = ZYDIS_FORMATTER_PROP_HEX_SUFFIX, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_FORMATTER_PROP_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FORMATTER_PROP_MAX_VALUE) +} ZydisFormatterProperty; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisNumericBase` enum. + */ +typedef enum ZydisNumericBase_ +{ + /** + * Decimal system. + */ + ZYDIS_NUMERIC_BASE_DEC, + /** + * Hexadecimal system. + */ + ZYDIS_NUMERIC_BASE_HEX, + + /** + * Maximum value of this enum. + */ + ZYDIS_NUMERIC_BASE_MAX_VALUE = ZYDIS_NUMERIC_BASE_HEX, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_NUMERIC_BASE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_NUMERIC_BASE_MAX_VALUE) +} ZydisNumericBase; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisSignedness` enum. + */ +typedef enum ZydisSignedness_ +{ + /** + * Automatically choose the most suitable mode based on the operands + * ZydisDecodedOperand.imm.is_signed` attribute. + */ + ZYDIS_SIGNEDNESS_AUTO, + /** + * Force signed values. + */ + ZYDIS_SIGNEDNESS_SIGNED, + /** + * Force unsigned values. + */ + ZYDIS_SIGNEDNESS_UNSIGNED, + + /** + * Maximum value of this enum. + */ + ZYDIS_SIGNEDNESS_MAX_VALUE = ZYDIS_SIGNEDNESS_UNSIGNED, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_SIGNEDNESS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_SIGNEDNESS_MAX_VALUE) +} ZydisSignedness; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisPadding` enum. + */ +typedef enum ZydisPadding_ +{ + /** + * Disables padding. + */ + ZYDIS_PADDING_DISABLED = 0, + /** + * Padds the value to the current stack-width for addresses, or to the + * operand-width for immediate values (hexadecimal only). + */ + ZYDIS_PADDING_AUTO = (-1), + + /** + * Maximum value of this enum. + */ + ZYDIS_PADDING_MAX_VALUE = ZYDIS_PADDING_AUTO, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_PADDING_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_PADDING_MAX_VALUE) +} ZydisPadding; + +/* ---------------------------------------------------------------------------------------------- */ +/* Function types */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisFormatterFunction` enum. + * + * Do NOT change the order of the values this enum or the function fields inside the + * `ZydisFormatter` struct. + */ +typedef enum ZydisFormatterFunction_ +{ + /* ---------------------------------------------------------------------------------------- */ + /* Instruction */ + /* ---------------------------------------------------------------------------------------- */ + + /** + * This function is invoked before the formatter formats an instruction. + */ + ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION, + /** + * This function is invoked after the formatter formatted an instruction. + */ + ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION, + + /* ---------------------------------------------------------------------------------------- */ + + /** + * This function refers to the main formatting function. + * + * Replacing this function allows for complete custom formatting, but indirectly disables all + * other hooks except for `ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION` and + * `ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION`. + */ + ZYDIS_FORMATTER_FUNC_FORMAT_INSTRUCTION, + + /* ---------------------------------------------------------------------------------------- */ + /* Operands */ + /* ---------------------------------------------------------------------------------------- */ + + /** + * This function is invoked before the formatter formats an operand. + */ + ZYDIS_FORMATTER_FUNC_PRE_OPERAND, + /** + * This function is invoked after the formatter formatted an operand. + */ + ZYDIS_FORMATTER_FUNC_POST_OPERAND, + + /* ---------------------------------------------------------------------------------------- */ + + /** + * This function is invoked to format a register operand. + */ + ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG, + /** + * This function is invoked to format a memory operand. + * + * Replacing this function might indirectly disable some specific calls to the + * `ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST`, `ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT`, + * `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` and `ZYDIS_FORMATTER_FUNC_PRINT_DISP` functions. + */ + ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM, + /** + * This function is invoked to format a pointer operand. + */ + ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR, + /** + * This function is invoked to format an immediate operand. + * + * Replacing this function might indirectly disable some specific calls to the + * `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS`, `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL` and + * `ZYDIS_FORMATTER_FUNC_PRINT_IMM` functions. + */ + ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM, + + /* ---------------------------------------------------------------------------------------- */ + /* Elemental tokens */ + /* ---------------------------------------------------------------------------------------- */ + + /** + * This function is invoked to print the instruction mnemonic. + */ + ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC, + + /* ---------------------------------------------------------------------------------------- */ + + /** + * This function is invoked to print a register. + */ + ZYDIS_FORMATTER_FUNC_PRINT_REGISTER, + /** + * This function is invoked to print absolute addresses. + * + * Conditionally invoked, if a runtime-address different to `ZYDIS_RUNTIME_ADDRESS_NONE` was + * passed: + * - `IMM` operands with relative address (e.g. `JMP`, `CALL`, ...) + * - `MEM` operands with `EIP`/`RIP`-relative address (e.g. `MOV RAX, [RIP+0x12345678]`) + * + * Always invoked for: + * - `MEM` operands with absolute address (e.g. `MOV RAX, [0x12345678]`) + */ + ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS, + /** + * This function is invoked to print relative addresses. + * + * Conditionally invoked, if `ZYDIS_RUNTIME_ADDRESS_NONE` was passed as runtime-address: + * - `IMM` operands with relative address (e.g. `JMP`, `CALL`, ...) + */ + ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL, + /** + * This function is invoked to print a memory displacement value. + * + * If the memory displacement contains an address and a runtime-address different to + * `ZYDIS_RUNTIME_ADDRESS_NONE` was passed, `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` is called + * instead. + */ + ZYDIS_FORMATTER_FUNC_PRINT_DISP, + /** + * This function is invoked to print an immediate value. + * + * If the immediate contains an address and a runtime-address different to + * `ZYDIS_RUNTIME_ADDRESS_NONE` was passed, `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` is called + * instead. + * + * If the immediate contains an address and `ZYDIS_RUNTIME_ADDRESS_NONE` was passed as + * runtime-address, `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL` is called instead. + */ + ZYDIS_FORMATTER_FUNC_PRINT_IMM, + + /* ---------------------------------------------------------------------------------------- */ + /* Optional tokens */ + /* ---------------------------------------------------------------------------------------- */ + + /** + * This function is invoked to print the size of a memory operand (`INTEL` only). + */ + ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST, + /** + * This function is invoked to print the segment-register of a memory operand. + */ + ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT, + /** + * This function is invoked to print the instruction prefixes. + */ + ZYDIS_FORMATTER_FUNC_PRINT_PREFIXES, + /** + * This function is invoked after formatting an operand to print a `EVEX`/`MVEX` + * decorator. + */ + ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR, + + /* ---------------------------------------------------------------------------------------- */ + + /** + * Maximum value of this enum. + */ + ZYDIS_FORMATTER_FUNC_MAX_VALUE = ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_FORMATTER_FUNC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FORMATTER_FUNC_MAX_VALUE) +} ZydisFormatterFunction; + +/* ---------------------------------------------------------------------------------------------- */ +/* Decorator types */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisDecorator` enum. + */ +typedef enum ZydisDecorator_ +{ + ZYDIS_DECORATOR_INVALID, + /** + * The embedded-mask decorator. + */ + ZYDIS_DECORATOR_MASK, + /** + * The broadcast decorator. + */ + ZYDIS_DECORATOR_BC, + /** + * The rounding-control decorator. + */ + ZYDIS_DECORATOR_RC, + /** + * The suppress-all-exceptions decorator. + */ + ZYDIS_DECORATOR_SAE, + /** + * The register-swizzle decorator. + */ + ZYDIS_DECORATOR_SWIZZLE, + /** + * The conversion decorator. + */ + ZYDIS_DECORATOR_CONVERSION, + /** + * The eviction-hint decorator. + */ + ZYDIS_DECORATOR_EH, + + /** + * Maximum value of this enum. + */ + ZYDIS_DECORATOR_MAX_VALUE = ZYDIS_DECORATOR_EH, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_DECORATOR_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_DECORATOR_MAX_VALUE) +} ZydisDecorator; + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatter context */ +/* ---------------------------------------------------------------------------------------------- */ + +typedef struct ZydisFormatter_ ZydisFormatter; + +/** + * Defines the `ZydisFormatterContext` struct. + */ +typedef struct ZydisFormatterContext_ +{ + /** + * A pointer to the `ZydisDecodedInstruction` struct. + */ + const ZydisDecodedInstruction* instruction; + /** + * A pointer to the `ZydisDecodedOperand` struct. + */ + const ZydisDecodedOperand* operand; + /** + * The runtime address of the instruction. + */ + ZyanU64 runtime_address; + /** + * A pointer to user-defined data. + */ + void* user_data; +} ZydisFormatterContext; + +/* ---------------------------------------------------------------------------------------------- */ +/* Function prototypes */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisFormatterFunc` function prototype. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param context A pointer to the `ZydisFormatterContext` struct. + * + * @return A zyan status code. + * + * Returning a status code other than `ZYAN_STATUS_SUCCESS` will immediately cause the formatting + * process to fail (see exceptions below). + * + * Returning `ZYDIS_STATUS_SKIP_TOKEN` is valid for functions of the following types and will + * instruct the formatter to omit the whole operand: + * - `ZYDIS_FORMATTER_FUNC_PRE_OPERAND` + * - `ZYDIS_FORMATTER_FUNC_POST_OPERAND` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM` + * + * This function prototype is used by functions of the following types: + * - `ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION` + * - `ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION` + * - `ZYDIS_FORMATTER_FUNC_PRE_OPERAND` + * - `ZYDIS_FORMATTER_FUNC_POST_OPERAND` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_INSTRUCTION` + * - `ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC` + * - `ZYDIS_FORMATTER_FUNC_PRINT_PREFIXES` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM` + * - `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` + * - `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL` + * - `ZYDIS_FORMATTER_FUNC_PRINT_DISP` + * - `ZYDIS_FORMATTER_FUNC_PRINT_IMM` + * - `ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST` + * - `ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT` + */ +typedef ZyanStatus (*ZydisFormatterFunc)(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + + /** + * Defines the `ZydisFormatterRegisterFunc` function prototype. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param context A pointer to the `ZydisFormatterContext` struct. + * @param reg The register. + * + * @return Returning a status code other than `ZYAN_STATUS_SUCCESS` will immediately cause the + * formatting process to fail. + * + * This function prototype is used by functions of the following types: + * - `ZYDIS_FORMATTER_FUNC_PRINT_REGISTER`. + */ +typedef ZyanStatus (*ZydisFormatterRegisterFunc)(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg); + +/** + * Defines the `ZydisFormatterDecoratorFunc` function prototype. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param context A pointer to the `ZydisFormatterContext` struct. + * @param decorator The decorator type. + * + * @return Returning a status code other than `ZYAN_STATUS_SUCCESS` will immediately cause the + * formatting process to fail. + * + * This function type is used for: + * - `ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR` + */ +typedef ZyanStatus (*ZydisFormatterDecoratorFunc)(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisDecorator decorator); + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatter struct */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisFormatter` struct. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + * + * Do NOT change the order of the function fields or the values of the `ZydisFormatterFunction` + * enum. + */ +struct ZydisFormatter_ +{ + /** + * The formatter style. + */ + ZydisFormatterStyle style; + /** + * The `ZYDIS_FORMATTER_PROP_FORCE_SIZE` property. + */ + ZyanBool force_memory_size; + /** + * The `ZYDIS_FORMATTER_PROP_FORCE_SEGMENT` property. + */ + ZyanBool force_memory_segment; + /** + * The `ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_BRANCHES` property. + */ + ZyanBool force_relative_branches; + /** + * The `ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_RIPREL` property. + */ + ZyanBool force_relative_riprel; + /** + * The `ZYDIS_FORMATTER_PROP_PRINT_BRANCH_SIZE` property. + */ + ZyanBool print_branch_size; + /** + * The `ZYDIS_FORMATTER_DETAILED_PREFIXES` property. + */ + ZyanBool detailed_prefixes; + /** + * The `ZYDIS_FORMATTER_ADDR_BASE` property. + */ + ZydisNumericBase addr_base; + /** + * The `ZYDIS_FORMATTER_ADDR_SIGNEDNESS` property. + */ + ZydisSignedness addr_signedness; + /** + * The `ZYDIS_FORMATTER_ADDR_PADDING_ABSOLUTE` property. + */ + ZydisPadding addr_padding_absolute; + /** + * The `ZYDIS_FORMATTER_ADDR_PADDING_RELATIVE` property. + */ + ZydisPadding addr_padding_relative; + /** + * The `ZYDIS_FORMATTER_DISP_BASE` property. + */ + ZydisNumericBase disp_base; + /** + * The `ZYDIS_FORMATTER_DISP_SIGNEDNESS` property. + */ + ZydisSignedness disp_signedness; + /** + * The `ZYDIS_FORMATTER_DISP_PADDING` property. + */ + ZydisPadding disp_padding; + /** + * The `ZYDIS_FORMATTER_IMM_BASE` property. + */ + ZydisNumericBase imm_base; + /** + * The `ZYDIS_FORMATTER_IMM_SIGNEDNESS` property. + */ + ZydisSignedness imm_signedness; + /** + * The `ZYDIS_FORMATTER_IMM_PADDING` property. + */ + ZydisPadding imm_padding; + /** + * The `ZYDIS_FORMATTER_UPPERCASE_PREFIXES` property. + */ + ZyanI32 case_prefixes; + /** + * The `ZYDIS_FORMATTER_UPPERCASE_MNEMONIC` property. + */ + ZyanI32 case_mnemonic; + /** + * The `ZYDIS_FORMATTER_UPPERCASE_REGISTERS` property. + */ + ZyanI32 case_registers; + /** + * The `ZYDIS_FORMATTER_UPPERCASE_TYPECASTS` property. + */ + ZyanI32 case_typecasts; + /** + * The `ZYDIS_FORMATTER_UPPERCASE_DECORATORS` property. + */ + ZyanI32 case_decorators; + /** + * The `ZYDIS_FORMATTER_HEX_UPPERCASE` property. + */ + ZyanBool hex_uppercase; + /** + * The number formats for all numeric bases. + * + * Index 0 = prefix + * Index 1 = suffix + */ + struct + { + /** + * A pointer to the `ZyanStringView` to use as prefix/suffix. + */ + const ZyanStringView* string; + /** + * The `ZyanStringView` to use as prefix/suffix + */ + ZyanStringView string_data; + /** + * The actual string data. + */ + char buffer[11]; + } number_format[ZYDIS_NUMERIC_BASE_MAX_VALUE + 1][2]; + /** + * The `ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION` function. + */ + ZydisFormatterFunc func_pre_instruction; + /** + * The `ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION` function. + */ + ZydisFormatterFunc func_post_instruction; + /** + * The `ZYDIS_FORMATTER_FUNC_FORMAT_INSTRUCTION` function. + */ + ZydisFormatterFunc func_format_instruction; + /** + * The `ZYDIS_FORMATTER_FUNC_PRE_OPERAND` function. + */ + ZydisFormatterFunc func_pre_operand; + /** + * The `ZYDIS_FORMATTER_FUNC_POST_OPERAND` function. + */ + ZydisFormatterFunc func_post_operand; + /** + * The `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG` function. + */ + ZydisFormatterFunc func_format_operand_reg; + /** + * The `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM` function. + */ + ZydisFormatterFunc func_format_operand_mem; + /** + * The `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR` function. + */ + ZydisFormatterFunc func_format_operand_ptr; + /** + * The `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM` function. + */ + ZydisFormatterFunc func_format_operand_imm; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC function. + */ + ZydisFormatterFunc func_print_mnemonic; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_REGISTER` function. + */ + ZydisFormatterRegisterFunc func_print_register; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` function. + */ + ZydisFormatterFunc func_print_address_abs; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL` function. + */ + ZydisFormatterFunc func_print_address_rel; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_DISP` function. + */ + ZydisFormatterFunc func_print_disp; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_IMM` function. + */ + ZydisFormatterFunc func_print_imm; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST` function. + */ + ZydisFormatterFunc func_print_typecast; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT` function. + */ + ZydisFormatterFunc func_print_segment; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_PREFIXES` function. + */ + ZydisFormatterFunc func_print_prefixes; + /** + * The `ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR` function. + */ + ZydisFormatterDecoratorFunc func_print_decorator; +}; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * @addtogroup formatter Formatter + * Functions allowing formatting of previously decoded instructions to human readable text. + * @{ + */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Initialization */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Initializes the given `ZydisFormatter` instance. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param style The base formatter style (either `AT&T` or `Intel` style). + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterInit(ZydisFormatter* formatter, ZydisFormatterStyle style); + +/* ---------------------------------------------------------------------------------------------- */ +/* Setter */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Changes the value of the specified formatter `property`. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param property The id of the formatter-property. + * @param value The new value. + * + * @return A zyan status code. + * + * This function returns `ZYAN_STATUS_INVALID_OPERATION` if a property can't be changed for the + * current formatter-style. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterSetProperty(ZydisFormatter* formatter, + ZydisFormatterProperty property, ZyanUPointer value); + +/** + * Replaces a formatter function with a custom callback and/or retrieves the currently + * used function. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param type The formatter function-type. + * @param callback A pointer to a variable that contains the pointer of the callback function + * and receives the pointer of the currently used function. + * + * @return A zyan status code. + * + * Call this function with `callback` pointing to a `ZYAN_NULL` value to retrieve the currently + * used function without replacing it. + * + * This function returns `ZYAN_STATUS_INVALID_OPERATION` if a function can't be replaced for the + * current formatter-style. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterSetHook(ZydisFormatter* formatter, + ZydisFormatterFunction type, const void** callback); + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatting */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Formats the given instruction and writes it into the output buffer. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param buffer A pointer to the output buffer. + * @param length The length of the output buffer (in characters). + * @param runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE` + * to print relative addresses. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatInstruction(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, char* buffer, ZyanUSize length, + ZyanU64 runtime_address); + +/** + * Formats the given instruction and writes it into the output buffer. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param buffer A pointer to the output buffer. + * @param length The length of the output buffer (in characters). + * @param runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE` + * to print relative addresses. + * @param user_data A pointer to user-defined data which can be used in custom formatter + * callbacks. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatInstructionEx(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, char* buffer, ZyanUSize length, + ZyanU64 runtime_address, void* user_data); + +/** + * Formats the given operand and writes it into the output buffer. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param index The index of the operand to format. + * @param buffer A pointer to the output buffer. + * @param length The length of the output buffer (in characters). + * @param runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE` + * to print relative addresses. + * + * @return A zyan status code. + * + * Use `ZydisFormatterFormatInstruction` or `ZydisFormatterFormatInstructionEx` to format a + * complete instruction. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatOperand(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, ZyanU8 index, char* buffer, ZyanUSize length, + ZyanU64 runtime_address); + +/** + * Formats the given operand and writes it into the output buffer. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param index The index of the operand to format. + * @param buffer A pointer to the output buffer. + * @param length The length of the output buffer (in characters). + * @param runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE` + * to print relative addresses. + * @param user_data A pointer to user-defined data which can be used in custom formatter + * callbacks. + * + * @return A zyan status code. + * + * Use `ZydisFormatterFormatInstruction` or `ZydisFormatterFormatInstructionEx` to format a + * complete instruction. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatOperandEx(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, ZyanU8 index, char* buffer, ZyanUSize length, + ZyanU64 runtime_address, void* user_data); + +/* ---------------------------------------------------------------------------------------------- */ +/* Tokenizing */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Tokenizes the given instruction and writes it into the output buffer. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param buffer A pointer to the output buffer. + * @param length The length of the output buffer (in bytes). + * @param runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE` + * to print relative addresses. + * @param token Receives a pointer to the first token in the output buffer. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeInstruction(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, void* buffer, ZyanUSize length, + ZyanU64 runtime_address, ZydisFormatterTokenConst** token); + +/** + * Tokenizes the given instruction and writes it into the output buffer. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param buffer A pointer to the output buffer. + * @param length The length of the output buffer (in bytes). + * @param runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE` + * to print relative addresses. + * @param token Receives a pointer to the first token in the output buffer. + * @param user_data A pointer to user-defined data which can be used in custom formatter + * callbacks. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeInstructionEx(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, void* buffer, ZyanUSize length, + ZyanU64 runtime_address, ZydisFormatterTokenConst** token, void* user_data); + +/** + * Tokenizes the given operand and writes it into the output buffer. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param index The index of the operand to format. + * @param buffer A pointer to the output buffer. + * @param length The length of the output buffer (in bytes). + * @param runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE` + * to print relative addresses. + * @param token Receives a pointer to the first token in the output buffer. + * + * @return A zyan status code. + * + * Use `ZydisFormatterTokenizeInstruction` or `ZydisFormatterTokenizeInstructionEx` to tokenize a + * complete instruction. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeOperand(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, ZyanU8 index, void* buffer, ZyanUSize length, + ZyanU64 runtime_address, ZydisFormatterTokenConst** token); + +/** + * Tokenizes the given operand and writes it into the output buffer. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param index The index of the operand to format. + * @param buffer A pointer to the output buffer. + * @param length The length of the output buffer (in bytes). + * @param runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE` + * to print relative addresses. + * @param token Receives a pointer to the first token in the output buffer. + * @param user_data A pointer to user-defined data which can be used in custom formatter + * callbacks. + * + * @return A zyan status code. + * + * Use `ZydisFormatterTokenizeInstruction` or `ZydisFormatterTokenizeInstructionEx` to tokenize a + * complete instruction. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeOperandEx(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, ZyanU8 index, void* buffer, ZyanUSize length, + ZyanU64 runtime_address, ZydisFormatterTokenConst** token, void* user_data); + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * @} + */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_FORMATTER_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/FormatterBuffer.h b/externals/dynarmic/externals/zydis/include/Zydis/FormatterBuffer.h new file mode 100755 index 000000000..2ae2efeaa --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/FormatterBuffer.h @@ -0,0 +1,306 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Implements the `ZydisFormatterToken` type and provides functions to use it. + */ + +#ifndef ZYDIS_FORMATTER_TOKEN_H +#define ZYDIS_FORMATTER_TOKEN_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Token types */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * @biref Defines the `ZydisTokenType` data-type. + */ +typedef ZyanU8 ZydisTokenType; + +#define ZYDIS_TOKEN_INVALID 0x00 +/** + * A whitespace character. + */ +#define ZYDIS_TOKEN_WHITESPACE 0x01 +/** + * A delimiter character (like `','`, `':'`, `'+'`, `'-'`, `'*'`). + */ +#define ZYDIS_TOKEN_DELIMITER 0x02 +/** + * An opening parenthesis character (like `'('`, `'['`, `'{'`). + */ +#define ZYDIS_TOKEN_PARENTHESIS_OPEN 0x03 +/** + * A closing parenthesis character (like `')'`, `']'`, `'}'`). + */ +#define ZYDIS_TOKEN_PARENTHESIS_CLOSE 0x04 +/** + * A prefix literal (like `"LOCK"`, `"REP"`). + */ +#define ZYDIS_TOKEN_PREFIX 0x05 +/** + * A mnemonic literal (like `"MOV"`, `"VCMPPSD"`, `"LCALL"`). + */ +#define ZYDIS_TOKEN_MNEMONIC 0x06 +/** + * A register literal (like `"RAX"`, `"DS"`, `"%ECX"`). + */ +#define ZYDIS_TOKEN_REGISTER 0x07 +/** + * An absolute address literal (like `0x00400000`). + */ +#define ZYDIS_TOKEN_ADDRESS_ABS 0x08 +/** + * A relative address literal (like `-0x100`). + */ +#define ZYDIS_TOKEN_ADDRESS_REL 0x09 +/** + * A displacement literal (like `0xFFFFFFFF`, `-0x100`, `+0x1234`). + */ +#define ZYDIS_TOKEN_DISPLACEMENT 0x0A +/** + * An immediate literal (like `0xC0`, `-0x1234`, `$0x0000`). + */ +#define ZYDIS_TOKEN_IMMEDIATE 0x0B +/** + * A typecast literal (like `DWORD PTR`). + */ +#define ZYDIS_TOKEN_TYPECAST 0x0C +/** + * A decorator literal (like `"Z"`, `"1TO4"`). + */ +#define ZYDIS_TOKEN_DECORATOR 0x0D +/** + * A symbol literal. + */ +#define ZYDIS_TOKEN_SYMBOL 0x0E + +/** + * The base for user-defined token types. + */ +#define ZYDIS_TOKEN_USER 0x80 + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Token */ +/* ---------------------------------------------------------------------------------------------- */ + +#pragma pack(push, 1) + +/** + * Defines the `ZydisFormatterToken` struct. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZydisFormatterToken_ +{ + /** + * The token type. + */ + ZydisTokenType type; + /** + * An offset to the next token, or `0`. + */ + ZyanU8 next; +} ZydisFormatterToken; + +#pragma pack(pop) + +/** + * Defines the `ZydisFormatterTokenConst` data-type. + */ +typedef const ZydisFormatterToken ZydisFormatterTokenConst; + +/* ---------------------------------------------------------------------------------------------- */ +/* Buffer */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisFormatterBuffer` struct. + * + * All fields in this struct should be considered as "private". Any changes may + * lead to unexpected behavior. + */ +typedef struct ZydisFormatterBuffer_ +{ + /** + * `ZYAN_TRUE`, if the buffer contains a token stream or `ZYAN_FALSE, if it + * contains a simple string. + */ + ZyanBool is_token_list; + /** + * The remaining capacity of the buffer. + */ + ZyanUSize capacity; + /** + * The `ZyanString` instance that refers to the literal value of the most + * recently added token. + */ + ZyanString string; +} ZydisFormatterBuffer; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Token */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the `type` and the string `value` of the given `token`. + * + * @param token A pointer to the `ZydisFormatterToken` struct. + * @param type Receives the token type. + * @param value Receives a pointer to the string value of the token. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenGetValue(const ZydisFormatterToken* token, + ZydisTokenType* type, ZyanConstCharPointer* value); + +/** + * Obtains the next `token` linked to the passed one. + * + * @param token Receives a pointer to the next `ZydisFormatterToken` struct + * linked to the passed one. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenNext(ZydisFormatterTokenConst** token); + +/* ---------------------------------------------------------------------------------------------- */ +/* Buffer */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the current (most recently added) token. + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param token Receives a pointer to the current token. + * + * @return A zyan status code. + * + * This function returns `ZYAN_STATUS_INVALID_OPERATION`, if the buffer does not contain at least + * one token. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferGetToken(const ZydisFormatterBuffer* buffer, + ZydisFormatterTokenConst** token); + +/** + * Returns the `ZyanString` instance associated with the given buffer. + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param string Receives a pointer to the `ZyanString` instance associated with the given + * buffer. + * + * @return A zyan status code. + * + * This function returns `ZYAN_STATUS_INVALID_OPERATION`, if the buffer does not contain at least + * one token. + * + * The returned string always refers to the literal value of the current (most recently added) + * token and will remain valid until the buffer is destroyed. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferGetString(ZydisFormatterBuffer* buffer, + ZyanString** string); + +/** + * Appends a new token to the `buffer`. + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param type The type of the new token. + * + * @return A zyan status code. + * + * Note that the `ZyanString` instance returned by `ZydisFormatterBufferGetString` will + * automatically be updated by calling this function. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferAppend(ZydisFormatterBuffer* buffer, + ZydisTokenType type); + +/** + * Returns a snapshot of the buffer-state. + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param state Receives a snapshot of the buffer-state. + * + * @return A zyan status code. + * + * Note that the buffer-state is saved inside the buffer itself and thus becomes invalid as soon + * as the buffer gets overwritten or destroyed. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferRemember(const ZydisFormatterBuffer* buffer, + ZyanUPointer* state); + +/** + * Restores a previously saved buffer-state. + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param state The buffer-state to restore. + * + * @return A zyan status code. + * + * All tokens added after obtaining the given `state` snapshot will be removed. This function + * does NOT restore any string content. + * + * Note that the `ZyanString` instance returned by `ZydisFormatterBufferGetString` will + * automatically be updated by calling this function. + */ +ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferRestore(ZydisFormatterBuffer* buffer, + ZyanUPointer state); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_FORMATTER_TOKEN_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumISAExt.h b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumISAExt.h new file mode 100755 index 000000000..6de33b716 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumISAExt.h @@ -0,0 +1,98 @@ +/** + * Defines the `ZydisISAExt` enum. + */ +typedef enum ZydisISAExt_ +{ + ZYDIS_ISA_EXT_INVALID, + ZYDIS_ISA_EXT_ADOX_ADCX, + ZYDIS_ISA_EXT_AES, + ZYDIS_ISA_EXT_AMD3DNOW, + ZYDIS_ISA_EXT_AMD3DNOW_PREFETCH, + ZYDIS_ISA_EXT_AMD_INVLPGB, + ZYDIS_ISA_EXT_AMX_BF16, + ZYDIS_ISA_EXT_AMX_INT8, + ZYDIS_ISA_EXT_AMX_TILE, + ZYDIS_ISA_EXT_AVX, + ZYDIS_ISA_EXT_AVX2, + ZYDIS_ISA_EXT_AVX2GATHER, + ZYDIS_ISA_EXT_AVX512EVEX, + ZYDIS_ISA_EXT_AVX512VEX, + ZYDIS_ISA_EXT_AVXAES, + ZYDIS_ISA_EXT_BASE, + ZYDIS_ISA_EXT_BMI1, + ZYDIS_ISA_EXT_BMI2, + ZYDIS_ISA_EXT_CET, + ZYDIS_ISA_EXT_CLDEMOTE, + ZYDIS_ISA_EXT_CLFLUSHOPT, + ZYDIS_ISA_EXT_CLFSH, + ZYDIS_ISA_EXT_CLWB, + ZYDIS_ISA_EXT_CLZERO, + ZYDIS_ISA_EXT_ENQCMD, + ZYDIS_ISA_EXT_F16C, + ZYDIS_ISA_EXT_FMA, + ZYDIS_ISA_EXT_FMA4, + ZYDIS_ISA_EXT_GFNI, + ZYDIS_ISA_EXT_INVPCID, + ZYDIS_ISA_EXT_KNC, + ZYDIS_ISA_EXT_KNCE, + ZYDIS_ISA_EXT_KNCV, + ZYDIS_ISA_EXT_LONGMODE, + ZYDIS_ISA_EXT_LZCNT, + ZYDIS_ISA_EXT_MCOMMIT, + ZYDIS_ISA_EXT_MMX, + ZYDIS_ISA_EXT_MONITOR, + ZYDIS_ISA_EXT_MONITORX, + ZYDIS_ISA_EXT_MOVBE, + ZYDIS_ISA_EXT_MOVDIR, + ZYDIS_ISA_EXT_MPX, + ZYDIS_ISA_EXT_PADLOCK, + ZYDIS_ISA_EXT_PAUSE, + ZYDIS_ISA_EXT_PCLMULQDQ, + ZYDIS_ISA_EXT_PCONFIG, + ZYDIS_ISA_EXT_PKU, + ZYDIS_ISA_EXT_PREFETCHWT1, + ZYDIS_ISA_EXT_PT, + ZYDIS_ISA_EXT_RDPID, + ZYDIS_ISA_EXT_RDPRU, + ZYDIS_ISA_EXT_RDRAND, + ZYDIS_ISA_EXT_RDSEED, + ZYDIS_ISA_EXT_RDTSCP, + ZYDIS_ISA_EXT_RDWRFSGS, + ZYDIS_ISA_EXT_RTM, + ZYDIS_ISA_EXT_SERIALIZE, + ZYDIS_ISA_EXT_SGX, + ZYDIS_ISA_EXT_SGX_ENCLV, + ZYDIS_ISA_EXT_SHA, + ZYDIS_ISA_EXT_SMAP, + ZYDIS_ISA_EXT_SMX, + ZYDIS_ISA_EXT_SNP, + ZYDIS_ISA_EXT_SSE, + ZYDIS_ISA_EXT_SSE2, + ZYDIS_ISA_EXT_SSE3, + ZYDIS_ISA_EXT_SSE4, + ZYDIS_ISA_EXT_SSE4A, + ZYDIS_ISA_EXT_SSSE3, + ZYDIS_ISA_EXT_SVM, + ZYDIS_ISA_EXT_TBM, + ZYDIS_ISA_EXT_TSX_LDTRK, + ZYDIS_ISA_EXT_VAES, + ZYDIS_ISA_EXT_VMFUNC, + ZYDIS_ISA_EXT_VPCLMULQDQ, + ZYDIS_ISA_EXT_VTX, + ZYDIS_ISA_EXT_WAITPKG, + ZYDIS_ISA_EXT_X87, + ZYDIS_ISA_EXT_XOP, + ZYDIS_ISA_EXT_XSAVE, + ZYDIS_ISA_EXT_XSAVEC, + ZYDIS_ISA_EXT_XSAVEOPT, + ZYDIS_ISA_EXT_XSAVES, + + /** + * Maximum value of this enum. + */ + ZYDIS_ISA_EXT_MAX_VALUE = ZYDIS_ISA_EXT_XSAVES, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_ISA_EXT_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ISA_EXT_MAX_VALUE) +} ZydisISAExt; diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumISASet.h b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumISASet.h new file mode 100755 index 000000000..c04242cd9 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumISASet.h @@ -0,0 +1,184 @@ +/** + * Defines the `ZydisISASet` enum. + */ +typedef enum ZydisISASet_ +{ + ZYDIS_ISA_SET_INVALID, + ZYDIS_ISA_SET_ADOX_ADCX, + ZYDIS_ISA_SET_AES, + ZYDIS_ISA_SET_AMD, + ZYDIS_ISA_SET_AMD3DNOW, + ZYDIS_ISA_SET_AMX_BF16, + ZYDIS_ISA_SET_AMX_INT8, + ZYDIS_ISA_SET_AMX_TILE, + ZYDIS_ISA_SET_AVX, + ZYDIS_ISA_SET_AVX2, + ZYDIS_ISA_SET_AVX2GATHER, + ZYDIS_ISA_SET_AVX512BW_128, + ZYDIS_ISA_SET_AVX512BW_128N, + ZYDIS_ISA_SET_AVX512BW_256, + ZYDIS_ISA_SET_AVX512BW_512, + ZYDIS_ISA_SET_AVX512BW_KOP, + ZYDIS_ISA_SET_AVX512CD_128, + ZYDIS_ISA_SET_AVX512CD_256, + ZYDIS_ISA_SET_AVX512CD_512, + ZYDIS_ISA_SET_AVX512DQ_128, + ZYDIS_ISA_SET_AVX512DQ_128N, + ZYDIS_ISA_SET_AVX512DQ_256, + ZYDIS_ISA_SET_AVX512DQ_512, + ZYDIS_ISA_SET_AVX512DQ_KOP, + ZYDIS_ISA_SET_AVX512DQ_SCALAR, + ZYDIS_ISA_SET_AVX512ER_512, + ZYDIS_ISA_SET_AVX512ER_SCALAR, + ZYDIS_ISA_SET_AVX512F_128, + ZYDIS_ISA_SET_AVX512F_128N, + ZYDIS_ISA_SET_AVX512F_256, + ZYDIS_ISA_SET_AVX512F_512, + ZYDIS_ISA_SET_AVX512F_KOP, + ZYDIS_ISA_SET_AVX512F_SCALAR, + ZYDIS_ISA_SET_AVX512PF_512, + ZYDIS_ISA_SET_AVX512_4FMAPS_512, + ZYDIS_ISA_SET_AVX512_4FMAPS_SCALAR, + ZYDIS_ISA_SET_AVX512_4VNNIW_512, + ZYDIS_ISA_SET_AVX512_BF16_128, + ZYDIS_ISA_SET_AVX512_BF16_256, + ZYDIS_ISA_SET_AVX512_BF16_512, + ZYDIS_ISA_SET_AVX512_BITALG_128, + ZYDIS_ISA_SET_AVX512_BITALG_256, + ZYDIS_ISA_SET_AVX512_BITALG_512, + ZYDIS_ISA_SET_AVX512_GFNI_128, + ZYDIS_ISA_SET_AVX512_GFNI_256, + ZYDIS_ISA_SET_AVX512_GFNI_512, + ZYDIS_ISA_SET_AVX512_IFMA_128, + ZYDIS_ISA_SET_AVX512_IFMA_256, + ZYDIS_ISA_SET_AVX512_IFMA_512, + ZYDIS_ISA_SET_AVX512_VAES_128, + ZYDIS_ISA_SET_AVX512_VAES_256, + ZYDIS_ISA_SET_AVX512_VAES_512, + ZYDIS_ISA_SET_AVX512_VBMI2_128, + ZYDIS_ISA_SET_AVX512_VBMI2_256, + ZYDIS_ISA_SET_AVX512_VBMI2_512, + ZYDIS_ISA_SET_AVX512_VBMI_128, + ZYDIS_ISA_SET_AVX512_VBMI_256, + ZYDIS_ISA_SET_AVX512_VBMI_512, + ZYDIS_ISA_SET_AVX512_VNNI_128, + ZYDIS_ISA_SET_AVX512_VNNI_256, + ZYDIS_ISA_SET_AVX512_VNNI_512, + ZYDIS_ISA_SET_AVX512_VP2INTERSECT_128, + ZYDIS_ISA_SET_AVX512_VP2INTERSECT_256, + ZYDIS_ISA_SET_AVX512_VP2INTERSECT_512, + ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_128, + ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_256, + ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_512, + ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_128, + ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_256, + ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_512, + ZYDIS_ISA_SET_AVXAES, + ZYDIS_ISA_SET_AVX_GFNI, + ZYDIS_ISA_SET_BMI1, + ZYDIS_ISA_SET_BMI2, + ZYDIS_ISA_SET_CET, + ZYDIS_ISA_SET_CLDEMOTE, + ZYDIS_ISA_SET_CLFLUSHOPT, + ZYDIS_ISA_SET_CLFSH, + ZYDIS_ISA_SET_CLWB, + ZYDIS_ISA_SET_CLZERO, + ZYDIS_ISA_SET_CMOV, + ZYDIS_ISA_SET_CMPXCHG16B, + ZYDIS_ISA_SET_ENQCMD, + ZYDIS_ISA_SET_F16C, + ZYDIS_ISA_SET_FAT_NOP, + ZYDIS_ISA_SET_FCMOV, + ZYDIS_ISA_SET_FMA, + ZYDIS_ISA_SET_FMA4, + ZYDIS_ISA_SET_FXSAVE, + ZYDIS_ISA_SET_FXSAVE64, + ZYDIS_ISA_SET_GFNI, + ZYDIS_ISA_SET_I186, + ZYDIS_ISA_SET_I286PROTECTED, + ZYDIS_ISA_SET_I286REAL, + ZYDIS_ISA_SET_I386, + ZYDIS_ISA_SET_I486, + ZYDIS_ISA_SET_I486REAL, + ZYDIS_ISA_SET_I86, + ZYDIS_ISA_SET_INVPCID, + ZYDIS_ISA_SET_KNCE, + ZYDIS_ISA_SET_KNCJKBR, + ZYDIS_ISA_SET_KNCSTREAM, + ZYDIS_ISA_SET_KNCV, + ZYDIS_ISA_SET_KNC_MISC, + ZYDIS_ISA_SET_KNC_PF_HINT, + ZYDIS_ISA_SET_LAHF, + ZYDIS_ISA_SET_LONGMODE, + ZYDIS_ISA_SET_LZCNT, + ZYDIS_ISA_SET_MCOMMIT, + ZYDIS_ISA_SET_MONITOR, + ZYDIS_ISA_SET_MONITORX, + ZYDIS_ISA_SET_MOVBE, + ZYDIS_ISA_SET_MOVDIR, + ZYDIS_ISA_SET_MPX, + ZYDIS_ISA_SET_PADLOCK_ACE, + ZYDIS_ISA_SET_PADLOCK_PHE, + ZYDIS_ISA_SET_PADLOCK_PMM, + ZYDIS_ISA_SET_PADLOCK_RNG, + ZYDIS_ISA_SET_PAUSE, + ZYDIS_ISA_SET_PCLMULQDQ, + ZYDIS_ISA_SET_PCONFIG, + ZYDIS_ISA_SET_PENTIUMMMX, + ZYDIS_ISA_SET_PENTIUMREAL, + ZYDIS_ISA_SET_PKU, + ZYDIS_ISA_SET_POPCNT, + ZYDIS_ISA_SET_PPRO, + ZYDIS_ISA_SET_PREFETCHWT1, + ZYDIS_ISA_SET_PREFETCH_NOP, + ZYDIS_ISA_SET_PT, + ZYDIS_ISA_SET_RDPID, + ZYDIS_ISA_SET_RDPMC, + ZYDIS_ISA_SET_RDPRU, + ZYDIS_ISA_SET_RDRAND, + ZYDIS_ISA_SET_RDSEED, + ZYDIS_ISA_SET_RDTSCP, + ZYDIS_ISA_SET_RDWRFSGS, + ZYDIS_ISA_SET_RTM, + ZYDIS_ISA_SET_SERIALIZE, + ZYDIS_ISA_SET_SGX, + ZYDIS_ISA_SET_SGX_ENCLV, + ZYDIS_ISA_SET_SHA, + ZYDIS_ISA_SET_SMAP, + ZYDIS_ISA_SET_SMX, + ZYDIS_ISA_SET_SSE, + ZYDIS_ISA_SET_SSE2, + ZYDIS_ISA_SET_SSE2MMX, + ZYDIS_ISA_SET_SSE3, + ZYDIS_ISA_SET_SSE3X87, + ZYDIS_ISA_SET_SSE4, + ZYDIS_ISA_SET_SSE42, + ZYDIS_ISA_SET_SSE4A, + ZYDIS_ISA_SET_SSEMXCSR, + ZYDIS_ISA_SET_SSE_PREFETCH, + ZYDIS_ISA_SET_SSSE3, + ZYDIS_ISA_SET_SSSE3MMX, + ZYDIS_ISA_SET_SVM, + ZYDIS_ISA_SET_TBM, + ZYDIS_ISA_SET_TSX_LDTRK, + ZYDIS_ISA_SET_VAES, + ZYDIS_ISA_SET_VMFUNC, + ZYDIS_ISA_SET_VPCLMULQDQ, + ZYDIS_ISA_SET_VTX, + ZYDIS_ISA_SET_WAITPKG, + ZYDIS_ISA_SET_X87, + ZYDIS_ISA_SET_XOP, + ZYDIS_ISA_SET_XSAVE, + ZYDIS_ISA_SET_XSAVEC, + ZYDIS_ISA_SET_XSAVEOPT, + ZYDIS_ISA_SET_XSAVES, + + /** + * Maximum value of this enum. + */ + ZYDIS_ISA_SET_MAX_VALUE = ZYDIS_ISA_SET_XSAVES, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_ISA_SET_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ISA_SET_MAX_VALUE) +} ZydisISASet; diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumInstructionCategory.h b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumInstructionCategory.h new file mode 100755 index 000000000..755afbcec --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumInstructionCategory.h @@ -0,0 +1,117 @@ +/** + * Defines the `ZydisInstructionCategory` enum. + */ +typedef enum ZydisInstructionCategory_ +{ + ZYDIS_CATEGORY_INVALID, + ZYDIS_CATEGORY_ADOX_ADCX, + ZYDIS_CATEGORY_AES, + ZYDIS_CATEGORY_AMD3DNOW, + ZYDIS_CATEGORY_AMX_TILE, + ZYDIS_CATEGORY_AVX, + ZYDIS_CATEGORY_AVX2, + ZYDIS_CATEGORY_AVX2GATHER, + ZYDIS_CATEGORY_AVX512, + ZYDIS_CATEGORY_AVX512_4FMAPS, + ZYDIS_CATEGORY_AVX512_4VNNIW, + ZYDIS_CATEGORY_AVX512_BITALG, + ZYDIS_CATEGORY_AVX512_VBMI, + ZYDIS_CATEGORY_AVX512_VP2INTERSECT, + ZYDIS_CATEGORY_BINARY, + ZYDIS_CATEGORY_BITBYTE, + ZYDIS_CATEGORY_BLEND, + ZYDIS_CATEGORY_BMI1, + ZYDIS_CATEGORY_BMI2, + ZYDIS_CATEGORY_BROADCAST, + ZYDIS_CATEGORY_CALL, + ZYDIS_CATEGORY_CET, + ZYDIS_CATEGORY_CLDEMOTE, + ZYDIS_CATEGORY_CLFLUSHOPT, + ZYDIS_CATEGORY_CLWB, + ZYDIS_CATEGORY_CLZERO, + ZYDIS_CATEGORY_CMOV, + ZYDIS_CATEGORY_COMPRESS, + ZYDIS_CATEGORY_COND_BR, + ZYDIS_CATEGORY_CONFLICT, + ZYDIS_CATEGORY_CONVERT, + ZYDIS_CATEGORY_DATAXFER, + ZYDIS_CATEGORY_DECIMAL, + ZYDIS_CATEGORY_ENQCMD, + ZYDIS_CATEGORY_EXPAND, + ZYDIS_CATEGORY_FCMOV, + ZYDIS_CATEGORY_FLAGOP, + ZYDIS_CATEGORY_FMA4, + ZYDIS_CATEGORY_GATHER, + ZYDIS_CATEGORY_GFNI, + ZYDIS_CATEGORY_IFMA, + ZYDIS_CATEGORY_INTERRUPT, + ZYDIS_CATEGORY_IO, + ZYDIS_CATEGORY_IOSTRINGOP, + ZYDIS_CATEGORY_KMASK, + ZYDIS_CATEGORY_KNC, + ZYDIS_CATEGORY_KNCMASK, + ZYDIS_CATEGORY_KNCSCALAR, + ZYDIS_CATEGORY_LOGICAL, + ZYDIS_CATEGORY_LOGICAL_FP, + ZYDIS_CATEGORY_LZCNT, + ZYDIS_CATEGORY_MISC, + ZYDIS_CATEGORY_MMX, + ZYDIS_CATEGORY_MOVDIR, + ZYDIS_CATEGORY_MPX, + ZYDIS_CATEGORY_NOP, + ZYDIS_CATEGORY_PADLOCK, + ZYDIS_CATEGORY_PCLMULQDQ, + ZYDIS_CATEGORY_PCONFIG, + ZYDIS_CATEGORY_PKU, + ZYDIS_CATEGORY_POP, + ZYDIS_CATEGORY_PREFETCH, + ZYDIS_CATEGORY_PREFETCHWT1, + ZYDIS_CATEGORY_PT, + ZYDIS_CATEGORY_PUSH, + ZYDIS_CATEGORY_RDPID, + ZYDIS_CATEGORY_RDPRU, + ZYDIS_CATEGORY_RDRAND, + ZYDIS_CATEGORY_RDSEED, + ZYDIS_CATEGORY_RDWRFSGS, + ZYDIS_CATEGORY_RET, + ZYDIS_CATEGORY_ROTATE, + ZYDIS_CATEGORY_SCATTER, + ZYDIS_CATEGORY_SEGOP, + ZYDIS_CATEGORY_SEMAPHORE, + ZYDIS_CATEGORY_SERIALIZE, + ZYDIS_CATEGORY_SETCC, + ZYDIS_CATEGORY_SGX, + ZYDIS_CATEGORY_SHA, + ZYDIS_CATEGORY_SHIFT, + ZYDIS_CATEGORY_SMAP, + ZYDIS_CATEGORY_SSE, + ZYDIS_CATEGORY_STRINGOP, + ZYDIS_CATEGORY_STTNI, + ZYDIS_CATEGORY_SYSCALL, + ZYDIS_CATEGORY_SYSRET, + ZYDIS_CATEGORY_SYSTEM, + ZYDIS_CATEGORY_TBM, + ZYDIS_CATEGORY_TSX_LDTRK, + ZYDIS_CATEGORY_UFMA, + ZYDIS_CATEGORY_UNCOND_BR, + ZYDIS_CATEGORY_VAES, + ZYDIS_CATEGORY_VBMI2, + ZYDIS_CATEGORY_VFMA, + ZYDIS_CATEGORY_VPCLMULQDQ, + ZYDIS_CATEGORY_VTX, + ZYDIS_CATEGORY_WAITPKG, + ZYDIS_CATEGORY_WIDENOP, + ZYDIS_CATEGORY_X87_ALU, + ZYDIS_CATEGORY_XOP, + ZYDIS_CATEGORY_XSAVE, + ZYDIS_CATEGORY_XSAVEOPT, + + /** + * Maximum value of this enum. + */ + ZYDIS_CATEGORY_MAX_VALUE = ZYDIS_CATEGORY_XSAVEOPT, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_CATEGORY_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_CATEGORY_MAX_VALUE) +} ZydisInstructionCategory; diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumMnemonic.h b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumMnemonic.h new file mode 100755 index 000000000..bcb626503 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumMnemonic.h @@ -0,0 +1,1643 @@ +/** + * Defines the `ZydisMnemonic` enum. + */ +typedef enum ZydisMnemonic_ +{ + ZYDIS_MNEMONIC_INVALID, + ZYDIS_MNEMONIC_AAA, + ZYDIS_MNEMONIC_AAD, + ZYDIS_MNEMONIC_AAM, + ZYDIS_MNEMONIC_AAS, + ZYDIS_MNEMONIC_ADC, + ZYDIS_MNEMONIC_ADCX, + ZYDIS_MNEMONIC_ADD, + ZYDIS_MNEMONIC_ADDPD, + ZYDIS_MNEMONIC_ADDPS, + ZYDIS_MNEMONIC_ADDSD, + ZYDIS_MNEMONIC_ADDSS, + ZYDIS_MNEMONIC_ADDSUBPD, + ZYDIS_MNEMONIC_ADDSUBPS, + ZYDIS_MNEMONIC_ADOX, + ZYDIS_MNEMONIC_AESDEC, + ZYDIS_MNEMONIC_AESDECLAST, + ZYDIS_MNEMONIC_AESENC, + ZYDIS_MNEMONIC_AESENCLAST, + ZYDIS_MNEMONIC_AESIMC, + ZYDIS_MNEMONIC_AESKEYGENASSIST, + ZYDIS_MNEMONIC_AND, + ZYDIS_MNEMONIC_ANDN, + ZYDIS_MNEMONIC_ANDNPD, + ZYDIS_MNEMONIC_ANDNPS, + ZYDIS_MNEMONIC_ANDPD, + ZYDIS_MNEMONIC_ANDPS, + ZYDIS_MNEMONIC_ARPL, + ZYDIS_MNEMONIC_BEXTR, + ZYDIS_MNEMONIC_BLCFILL, + ZYDIS_MNEMONIC_BLCI, + ZYDIS_MNEMONIC_BLCIC, + ZYDIS_MNEMONIC_BLCMSK, + ZYDIS_MNEMONIC_BLCS, + ZYDIS_MNEMONIC_BLENDPD, + ZYDIS_MNEMONIC_BLENDPS, + ZYDIS_MNEMONIC_BLENDVPD, + ZYDIS_MNEMONIC_BLENDVPS, + ZYDIS_MNEMONIC_BLSFILL, + ZYDIS_MNEMONIC_BLSI, + ZYDIS_MNEMONIC_BLSIC, + ZYDIS_MNEMONIC_BLSMSK, + ZYDIS_MNEMONIC_BLSR, + ZYDIS_MNEMONIC_BNDCL, + ZYDIS_MNEMONIC_BNDCN, + ZYDIS_MNEMONIC_BNDCU, + ZYDIS_MNEMONIC_BNDLDX, + ZYDIS_MNEMONIC_BNDMK, + ZYDIS_MNEMONIC_BNDMOV, + ZYDIS_MNEMONIC_BNDSTX, + ZYDIS_MNEMONIC_BOUND, + ZYDIS_MNEMONIC_BSF, + ZYDIS_MNEMONIC_BSR, + ZYDIS_MNEMONIC_BSWAP, + ZYDIS_MNEMONIC_BT, + ZYDIS_MNEMONIC_BTC, + ZYDIS_MNEMONIC_BTR, + ZYDIS_MNEMONIC_BTS, + ZYDIS_MNEMONIC_BZHI, + ZYDIS_MNEMONIC_CALL, + ZYDIS_MNEMONIC_CBW, + ZYDIS_MNEMONIC_CDQ, + ZYDIS_MNEMONIC_CDQE, + ZYDIS_MNEMONIC_CLAC, + ZYDIS_MNEMONIC_CLC, + ZYDIS_MNEMONIC_CLD, + ZYDIS_MNEMONIC_CLDEMOTE, + ZYDIS_MNEMONIC_CLEVICT0, + ZYDIS_MNEMONIC_CLEVICT1, + ZYDIS_MNEMONIC_CLFLUSH, + ZYDIS_MNEMONIC_CLFLUSHOPT, + ZYDIS_MNEMONIC_CLGI, + ZYDIS_MNEMONIC_CLI, + ZYDIS_MNEMONIC_CLRSSBSY, + ZYDIS_MNEMONIC_CLTS, + ZYDIS_MNEMONIC_CLWB, + ZYDIS_MNEMONIC_CLZERO, + ZYDIS_MNEMONIC_CMC, + ZYDIS_MNEMONIC_CMOVB, + ZYDIS_MNEMONIC_CMOVBE, + ZYDIS_MNEMONIC_CMOVL, + ZYDIS_MNEMONIC_CMOVLE, + ZYDIS_MNEMONIC_CMOVNB, + ZYDIS_MNEMONIC_CMOVNBE, + ZYDIS_MNEMONIC_CMOVNL, + ZYDIS_MNEMONIC_CMOVNLE, + ZYDIS_MNEMONIC_CMOVNO, + ZYDIS_MNEMONIC_CMOVNP, + ZYDIS_MNEMONIC_CMOVNS, + ZYDIS_MNEMONIC_CMOVNZ, + ZYDIS_MNEMONIC_CMOVO, + ZYDIS_MNEMONIC_CMOVP, + ZYDIS_MNEMONIC_CMOVS, + ZYDIS_MNEMONIC_CMOVZ, + ZYDIS_MNEMONIC_CMP, + ZYDIS_MNEMONIC_CMPPD, + ZYDIS_MNEMONIC_CMPPS, + ZYDIS_MNEMONIC_CMPSB, + ZYDIS_MNEMONIC_CMPSD, + ZYDIS_MNEMONIC_CMPSQ, + ZYDIS_MNEMONIC_CMPSS, + ZYDIS_MNEMONIC_CMPSW, + ZYDIS_MNEMONIC_CMPXCHG, + ZYDIS_MNEMONIC_CMPXCHG16B, + ZYDIS_MNEMONIC_CMPXCHG8B, + ZYDIS_MNEMONIC_COMISD, + ZYDIS_MNEMONIC_COMISS, + ZYDIS_MNEMONIC_CPUID, + ZYDIS_MNEMONIC_CQO, + ZYDIS_MNEMONIC_CRC32, + ZYDIS_MNEMONIC_CVTDQ2PD, + ZYDIS_MNEMONIC_CVTDQ2PS, + ZYDIS_MNEMONIC_CVTPD2DQ, + ZYDIS_MNEMONIC_CVTPD2PI, + ZYDIS_MNEMONIC_CVTPD2PS, + ZYDIS_MNEMONIC_CVTPI2PD, + ZYDIS_MNEMONIC_CVTPI2PS, + ZYDIS_MNEMONIC_CVTPS2DQ, + ZYDIS_MNEMONIC_CVTPS2PD, + ZYDIS_MNEMONIC_CVTPS2PI, + ZYDIS_MNEMONIC_CVTSD2SI, + ZYDIS_MNEMONIC_CVTSD2SS, + ZYDIS_MNEMONIC_CVTSI2SD, + ZYDIS_MNEMONIC_CVTSI2SS, + ZYDIS_MNEMONIC_CVTSS2SD, + ZYDIS_MNEMONIC_CVTSS2SI, + ZYDIS_MNEMONIC_CVTTPD2DQ, + ZYDIS_MNEMONIC_CVTTPD2PI, + ZYDIS_MNEMONIC_CVTTPS2DQ, + ZYDIS_MNEMONIC_CVTTPS2PI, + ZYDIS_MNEMONIC_CVTTSD2SI, + ZYDIS_MNEMONIC_CVTTSS2SI, + ZYDIS_MNEMONIC_CWD, + ZYDIS_MNEMONIC_CWDE, + ZYDIS_MNEMONIC_DAA, + ZYDIS_MNEMONIC_DAS, + ZYDIS_MNEMONIC_DEC, + ZYDIS_MNEMONIC_DELAY, + ZYDIS_MNEMONIC_DIV, + ZYDIS_MNEMONIC_DIVPD, + ZYDIS_MNEMONIC_DIVPS, + ZYDIS_MNEMONIC_DIVSD, + ZYDIS_MNEMONIC_DIVSS, + ZYDIS_MNEMONIC_DPPD, + ZYDIS_MNEMONIC_DPPS, + ZYDIS_MNEMONIC_EMMS, + ZYDIS_MNEMONIC_ENCLS, + ZYDIS_MNEMONIC_ENCLU, + ZYDIS_MNEMONIC_ENCLV, + ZYDIS_MNEMONIC_ENDBR32, + ZYDIS_MNEMONIC_ENDBR64, + ZYDIS_MNEMONIC_ENQCMD, + ZYDIS_MNEMONIC_ENQCMDS, + ZYDIS_MNEMONIC_ENTER, + ZYDIS_MNEMONIC_EXTRACTPS, + ZYDIS_MNEMONIC_EXTRQ, + ZYDIS_MNEMONIC_F2XM1, + ZYDIS_MNEMONIC_FABS, + ZYDIS_MNEMONIC_FADD, + ZYDIS_MNEMONIC_FADDP, + ZYDIS_MNEMONIC_FBLD, + ZYDIS_MNEMONIC_FBSTP, + ZYDIS_MNEMONIC_FCHS, + ZYDIS_MNEMONIC_FCMOVB, + ZYDIS_MNEMONIC_FCMOVBE, + ZYDIS_MNEMONIC_FCMOVE, + ZYDIS_MNEMONIC_FCMOVNB, + ZYDIS_MNEMONIC_FCMOVNBE, + ZYDIS_MNEMONIC_FCMOVNE, + ZYDIS_MNEMONIC_FCMOVNU, + ZYDIS_MNEMONIC_FCMOVU, + ZYDIS_MNEMONIC_FCOM, + ZYDIS_MNEMONIC_FCOMI, + ZYDIS_MNEMONIC_FCOMIP, + ZYDIS_MNEMONIC_FCOMP, + ZYDIS_MNEMONIC_FCOMPP, + ZYDIS_MNEMONIC_FCOS, + ZYDIS_MNEMONIC_FDECSTP, + ZYDIS_MNEMONIC_FDISI8087_NOP, + ZYDIS_MNEMONIC_FDIV, + ZYDIS_MNEMONIC_FDIVP, + ZYDIS_MNEMONIC_FDIVR, + ZYDIS_MNEMONIC_FDIVRP, + ZYDIS_MNEMONIC_FEMMS, + ZYDIS_MNEMONIC_FENI8087_NOP, + ZYDIS_MNEMONIC_FFREE, + ZYDIS_MNEMONIC_FFREEP, + ZYDIS_MNEMONIC_FIADD, + ZYDIS_MNEMONIC_FICOM, + ZYDIS_MNEMONIC_FICOMP, + ZYDIS_MNEMONIC_FIDIV, + ZYDIS_MNEMONIC_FIDIVR, + ZYDIS_MNEMONIC_FILD, + ZYDIS_MNEMONIC_FIMUL, + ZYDIS_MNEMONIC_FINCSTP, + ZYDIS_MNEMONIC_FIST, + ZYDIS_MNEMONIC_FISTP, + ZYDIS_MNEMONIC_FISTTP, + ZYDIS_MNEMONIC_FISUB, + ZYDIS_MNEMONIC_FISUBR, + ZYDIS_MNEMONIC_FLD, + ZYDIS_MNEMONIC_FLD1, + ZYDIS_MNEMONIC_FLDCW, + ZYDIS_MNEMONIC_FLDENV, + ZYDIS_MNEMONIC_FLDL2E, + ZYDIS_MNEMONIC_FLDL2T, + ZYDIS_MNEMONIC_FLDLG2, + ZYDIS_MNEMONIC_FLDLN2, + ZYDIS_MNEMONIC_FLDPI, + ZYDIS_MNEMONIC_FLDZ, + ZYDIS_MNEMONIC_FMUL, + ZYDIS_MNEMONIC_FMULP, + ZYDIS_MNEMONIC_FNCLEX, + ZYDIS_MNEMONIC_FNINIT, + ZYDIS_MNEMONIC_FNOP, + ZYDIS_MNEMONIC_FNSAVE, + ZYDIS_MNEMONIC_FNSTCW, + ZYDIS_MNEMONIC_FNSTENV, + ZYDIS_MNEMONIC_FNSTSW, + ZYDIS_MNEMONIC_FPATAN, + ZYDIS_MNEMONIC_FPREM, + ZYDIS_MNEMONIC_FPREM1, + ZYDIS_MNEMONIC_FPTAN, + ZYDIS_MNEMONIC_FRNDINT, + ZYDIS_MNEMONIC_FRSTOR, + ZYDIS_MNEMONIC_FSCALE, + ZYDIS_MNEMONIC_FSETPM287_NOP, + ZYDIS_MNEMONIC_FSIN, + ZYDIS_MNEMONIC_FSINCOS, + ZYDIS_MNEMONIC_FSQRT, + ZYDIS_MNEMONIC_FST, + ZYDIS_MNEMONIC_FSTP, + ZYDIS_MNEMONIC_FSTPNCE, + ZYDIS_MNEMONIC_FSUB, + ZYDIS_MNEMONIC_FSUBP, + ZYDIS_MNEMONIC_FSUBR, + ZYDIS_MNEMONIC_FSUBRP, + ZYDIS_MNEMONIC_FTST, + ZYDIS_MNEMONIC_FUCOM, + ZYDIS_MNEMONIC_FUCOMI, + ZYDIS_MNEMONIC_FUCOMIP, + ZYDIS_MNEMONIC_FUCOMP, + ZYDIS_MNEMONIC_FUCOMPP, + ZYDIS_MNEMONIC_FWAIT, + ZYDIS_MNEMONIC_FXAM, + ZYDIS_MNEMONIC_FXCH, + ZYDIS_MNEMONIC_FXRSTOR, + ZYDIS_MNEMONIC_FXRSTOR64, + ZYDIS_MNEMONIC_FXSAVE, + ZYDIS_MNEMONIC_FXSAVE64, + ZYDIS_MNEMONIC_FXTRACT, + ZYDIS_MNEMONIC_FYL2X, + ZYDIS_MNEMONIC_FYL2XP1, + ZYDIS_MNEMONIC_GETSEC, + ZYDIS_MNEMONIC_GF2P8AFFINEINVQB, + ZYDIS_MNEMONIC_GF2P8AFFINEQB, + ZYDIS_MNEMONIC_GF2P8MULB, + ZYDIS_MNEMONIC_HADDPD, + ZYDIS_MNEMONIC_HADDPS, + ZYDIS_MNEMONIC_HLT, + ZYDIS_MNEMONIC_HSUBPD, + ZYDIS_MNEMONIC_HSUBPS, + ZYDIS_MNEMONIC_IDIV, + ZYDIS_MNEMONIC_IMUL, + ZYDIS_MNEMONIC_IN, + ZYDIS_MNEMONIC_INC, + ZYDIS_MNEMONIC_INCSSPD, + ZYDIS_MNEMONIC_INCSSPQ, + ZYDIS_MNEMONIC_INSB, + ZYDIS_MNEMONIC_INSD, + ZYDIS_MNEMONIC_INSERTPS, + ZYDIS_MNEMONIC_INSERTQ, + ZYDIS_MNEMONIC_INSW, + ZYDIS_MNEMONIC_INT, + ZYDIS_MNEMONIC_INT1, + ZYDIS_MNEMONIC_INT3, + ZYDIS_MNEMONIC_INTO, + ZYDIS_MNEMONIC_INVD, + ZYDIS_MNEMONIC_INVEPT, + ZYDIS_MNEMONIC_INVLPG, + ZYDIS_MNEMONIC_INVLPGA, + ZYDIS_MNEMONIC_INVLPGB, + ZYDIS_MNEMONIC_INVPCID, + ZYDIS_MNEMONIC_INVVPID, + ZYDIS_MNEMONIC_IRET, + ZYDIS_MNEMONIC_IRETD, + ZYDIS_MNEMONIC_IRETQ, + ZYDIS_MNEMONIC_JB, + ZYDIS_MNEMONIC_JBE, + ZYDIS_MNEMONIC_JCXZ, + ZYDIS_MNEMONIC_JECXZ, + ZYDIS_MNEMONIC_JKNZD, + ZYDIS_MNEMONIC_JKZD, + ZYDIS_MNEMONIC_JL, + ZYDIS_MNEMONIC_JLE, + ZYDIS_MNEMONIC_JMP, + ZYDIS_MNEMONIC_JNB, + ZYDIS_MNEMONIC_JNBE, + ZYDIS_MNEMONIC_JNL, + ZYDIS_MNEMONIC_JNLE, + ZYDIS_MNEMONIC_JNO, + ZYDIS_MNEMONIC_JNP, + ZYDIS_MNEMONIC_JNS, + ZYDIS_MNEMONIC_JNZ, + ZYDIS_MNEMONIC_JO, + ZYDIS_MNEMONIC_JP, + ZYDIS_MNEMONIC_JRCXZ, + ZYDIS_MNEMONIC_JS, + ZYDIS_MNEMONIC_JZ, + ZYDIS_MNEMONIC_KADDB, + ZYDIS_MNEMONIC_KADDD, + ZYDIS_MNEMONIC_KADDQ, + ZYDIS_MNEMONIC_KADDW, + ZYDIS_MNEMONIC_KAND, + ZYDIS_MNEMONIC_KANDB, + ZYDIS_MNEMONIC_KANDD, + ZYDIS_MNEMONIC_KANDN, + ZYDIS_MNEMONIC_KANDNB, + ZYDIS_MNEMONIC_KANDND, + ZYDIS_MNEMONIC_KANDNQ, + ZYDIS_MNEMONIC_KANDNR, + ZYDIS_MNEMONIC_KANDNW, + ZYDIS_MNEMONIC_KANDQ, + ZYDIS_MNEMONIC_KANDW, + ZYDIS_MNEMONIC_KCONCATH, + ZYDIS_MNEMONIC_KCONCATL, + ZYDIS_MNEMONIC_KEXTRACT, + ZYDIS_MNEMONIC_KMERGE2L1H, + ZYDIS_MNEMONIC_KMERGE2L1L, + ZYDIS_MNEMONIC_KMOV, + ZYDIS_MNEMONIC_KMOVB, + ZYDIS_MNEMONIC_KMOVD, + ZYDIS_MNEMONIC_KMOVQ, + ZYDIS_MNEMONIC_KMOVW, + ZYDIS_MNEMONIC_KNOT, + ZYDIS_MNEMONIC_KNOTB, + ZYDIS_MNEMONIC_KNOTD, + ZYDIS_MNEMONIC_KNOTQ, + ZYDIS_MNEMONIC_KNOTW, + ZYDIS_MNEMONIC_KOR, + ZYDIS_MNEMONIC_KORB, + ZYDIS_MNEMONIC_KORD, + ZYDIS_MNEMONIC_KORQ, + ZYDIS_MNEMONIC_KORTEST, + ZYDIS_MNEMONIC_KORTESTB, + ZYDIS_MNEMONIC_KORTESTD, + ZYDIS_MNEMONIC_KORTESTQ, + ZYDIS_MNEMONIC_KORTESTW, + ZYDIS_MNEMONIC_KORW, + ZYDIS_MNEMONIC_KSHIFTLB, + ZYDIS_MNEMONIC_KSHIFTLD, + ZYDIS_MNEMONIC_KSHIFTLQ, + ZYDIS_MNEMONIC_KSHIFTLW, + ZYDIS_MNEMONIC_KSHIFTRB, + ZYDIS_MNEMONIC_KSHIFTRD, + ZYDIS_MNEMONIC_KSHIFTRQ, + ZYDIS_MNEMONIC_KSHIFTRW, + ZYDIS_MNEMONIC_KTESTB, + ZYDIS_MNEMONIC_KTESTD, + ZYDIS_MNEMONIC_KTESTQ, + ZYDIS_MNEMONIC_KTESTW, + ZYDIS_MNEMONIC_KUNPCKBW, + ZYDIS_MNEMONIC_KUNPCKDQ, + ZYDIS_MNEMONIC_KUNPCKWD, + ZYDIS_MNEMONIC_KXNOR, + ZYDIS_MNEMONIC_KXNORB, + ZYDIS_MNEMONIC_KXNORD, + ZYDIS_MNEMONIC_KXNORQ, + ZYDIS_MNEMONIC_KXNORW, + ZYDIS_MNEMONIC_KXOR, + ZYDIS_MNEMONIC_KXORB, + ZYDIS_MNEMONIC_KXORD, + ZYDIS_MNEMONIC_KXORQ, + ZYDIS_MNEMONIC_KXORW, + ZYDIS_MNEMONIC_LAHF, + ZYDIS_MNEMONIC_LAR, + ZYDIS_MNEMONIC_LDDQU, + ZYDIS_MNEMONIC_LDMXCSR, + ZYDIS_MNEMONIC_LDS, + ZYDIS_MNEMONIC_LDTILECFG, + ZYDIS_MNEMONIC_LEA, + ZYDIS_MNEMONIC_LEAVE, + ZYDIS_MNEMONIC_LES, + ZYDIS_MNEMONIC_LFENCE, + ZYDIS_MNEMONIC_LFS, + ZYDIS_MNEMONIC_LGDT, + ZYDIS_MNEMONIC_LGS, + ZYDIS_MNEMONIC_LIDT, + ZYDIS_MNEMONIC_LLDT, + ZYDIS_MNEMONIC_LLWPCB, + ZYDIS_MNEMONIC_LMSW, + ZYDIS_MNEMONIC_LODSB, + ZYDIS_MNEMONIC_LODSD, + ZYDIS_MNEMONIC_LODSQ, + ZYDIS_MNEMONIC_LODSW, + ZYDIS_MNEMONIC_LOOP, + ZYDIS_MNEMONIC_LOOPE, + ZYDIS_MNEMONIC_LOOPNE, + ZYDIS_MNEMONIC_LSL, + ZYDIS_MNEMONIC_LSS, + ZYDIS_MNEMONIC_LTR, + ZYDIS_MNEMONIC_LWPINS, + ZYDIS_MNEMONIC_LWPVAL, + ZYDIS_MNEMONIC_LZCNT, + ZYDIS_MNEMONIC_MASKMOVDQU, + ZYDIS_MNEMONIC_MASKMOVQ, + ZYDIS_MNEMONIC_MAXPD, + ZYDIS_MNEMONIC_MAXPS, + ZYDIS_MNEMONIC_MAXSD, + ZYDIS_MNEMONIC_MAXSS, + ZYDIS_MNEMONIC_MCOMMIT, + ZYDIS_MNEMONIC_MFENCE, + ZYDIS_MNEMONIC_MINPD, + ZYDIS_MNEMONIC_MINPS, + ZYDIS_MNEMONIC_MINSD, + ZYDIS_MNEMONIC_MINSS, + ZYDIS_MNEMONIC_MONITOR, + ZYDIS_MNEMONIC_MONITORX, + ZYDIS_MNEMONIC_MONTMUL, + ZYDIS_MNEMONIC_MOV, + ZYDIS_MNEMONIC_MOVAPD, + ZYDIS_MNEMONIC_MOVAPS, + ZYDIS_MNEMONIC_MOVBE, + ZYDIS_MNEMONIC_MOVD, + ZYDIS_MNEMONIC_MOVDDUP, + ZYDIS_MNEMONIC_MOVDIR64B, + ZYDIS_MNEMONIC_MOVDIRI, + ZYDIS_MNEMONIC_MOVDQ2Q, + ZYDIS_MNEMONIC_MOVDQA, + ZYDIS_MNEMONIC_MOVDQU, + ZYDIS_MNEMONIC_MOVHLPS, + ZYDIS_MNEMONIC_MOVHPD, + ZYDIS_MNEMONIC_MOVHPS, + ZYDIS_MNEMONIC_MOVLHPS, + ZYDIS_MNEMONIC_MOVLPD, + ZYDIS_MNEMONIC_MOVLPS, + ZYDIS_MNEMONIC_MOVMSKPD, + ZYDIS_MNEMONIC_MOVMSKPS, + ZYDIS_MNEMONIC_MOVNTDQ, + ZYDIS_MNEMONIC_MOVNTDQA, + ZYDIS_MNEMONIC_MOVNTI, + ZYDIS_MNEMONIC_MOVNTPD, + ZYDIS_MNEMONIC_MOVNTPS, + ZYDIS_MNEMONIC_MOVNTQ, + ZYDIS_MNEMONIC_MOVNTSD, + ZYDIS_MNEMONIC_MOVNTSS, + ZYDIS_MNEMONIC_MOVQ, + ZYDIS_MNEMONIC_MOVQ2DQ, + ZYDIS_MNEMONIC_MOVSB, + ZYDIS_MNEMONIC_MOVSD, + ZYDIS_MNEMONIC_MOVSHDUP, + ZYDIS_MNEMONIC_MOVSLDUP, + ZYDIS_MNEMONIC_MOVSQ, + ZYDIS_MNEMONIC_MOVSS, + ZYDIS_MNEMONIC_MOVSW, + ZYDIS_MNEMONIC_MOVSX, + ZYDIS_MNEMONIC_MOVSXD, + ZYDIS_MNEMONIC_MOVUPD, + ZYDIS_MNEMONIC_MOVUPS, + ZYDIS_MNEMONIC_MOVZX, + ZYDIS_MNEMONIC_MPSADBW, + ZYDIS_MNEMONIC_MUL, + ZYDIS_MNEMONIC_MULPD, + ZYDIS_MNEMONIC_MULPS, + ZYDIS_MNEMONIC_MULSD, + ZYDIS_MNEMONIC_MULSS, + ZYDIS_MNEMONIC_MULX, + ZYDIS_MNEMONIC_MWAIT, + ZYDIS_MNEMONIC_MWAITX, + ZYDIS_MNEMONIC_NEG, + ZYDIS_MNEMONIC_NOP, + ZYDIS_MNEMONIC_NOT, + ZYDIS_MNEMONIC_OR, + ZYDIS_MNEMONIC_ORPD, + ZYDIS_MNEMONIC_ORPS, + ZYDIS_MNEMONIC_OUT, + ZYDIS_MNEMONIC_OUTSB, + ZYDIS_MNEMONIC_OUTSD, + ZYDIS_MNEMONIC_OUTSW, + ZYDIS_MNEMONIC_PABSB, + ZYDIS_MNEMONIC_PABSD, + ZYDIS_MNEMONIC_PABSW, + ZYDIS_MNEMONIC_PACKSSDW, + ZYDIS_MNEMONIC_PACKSSWB, + ZYDIS_MNEMONIC_PACKUSDW, + ZYDIS_MNEMONIC_PACKUSWB, + ZYDIS_MNEMONIC_PADDB, + ZYDIS_MNEMONIC_PADDD, + ZYDIS_MNEMONIC_PADDQ, + ZYDIS_MNEMONIC_PADDSB, + ZYDIS_MNEMONIC_PADDSW, + ZYDIS_MNEMONIC_PADDUSB, + ZYDIS_MNEMONIC_PADDUSW, + ZYDIS_MNEMONIC_PADDW, + ZYDIS_MNEMONIC_PALIGNR, + ZYDIS_MNEMONIC_PAND, + ZYDIS_MNEMONIC_PANDN, + ZYDIS_MNEMONIC_PAUSE, + ZYDIS_MNEMONIC_PAVGB, + ZYDIS_MNEMONIC_PAVGUSB, + ZYDIS_MNEMONIC_PAVGW, + ZYDIS_MNEMONIC_PBLENDVB, + ZYDIS_MNEMONIC_PBLENDW, + ZYDIS_MNEMONIC_PCLMULQDQ, + ZYDIS_MNEMONIC_PCMPEQB, + ZYDIS_MNEMONIC_PCMPEQD, + ZYDIS_MNEMONIC_PCMPEQQ, + ZYDIS_MNEMONIC_PCMPEQW, + ZYDIS_MNEMONIC_PCMPESTRI, + ZYDIS_MNEMONIC_PCMPESTRM, + ZYDIS_MNEMONIC_PCMPGTB, + ZYDIS_MNEMONIC_PCMPGTD, + ZYDIS_MNEMONIC_PCMPGTQ, + ZYDIS_MNEMONIC_PCMPGTW, + ZYDIS_MNEMONIC_PCMPISTRI, + ZYDIS_MNEMONIC_PCMPISTRM, + ZYDIS_MNEMONIC_PCONFIG, + ZYDIS_MNEMONIC_PDEP, + ZYDIS_MNEMONIC_PEXT, + ZYDIS_MNEMONIC_PEXTRB, + ZYDIS_MNEMONIC_PEXTRD, + ZYDIS_MNEMONIC_PEXTRQ, + ZYDIS_MNEMONIC_PEXTRW, + ZYDIS_MNEMONIC_PF2ID, + ZYDIS_MNEMONIC_PF2IW, + ZYDIS_MNEMONIC_PFACC, + ZYDIS_MNEMONIC_PFADD, + ZYDIS_MNEMONIC_PFCMPEQ, + ZYDIS_MNEMONIC_PFCMPGE, + ZYDIS_MNEMONIC_PFCMPGT, + ZYDIS_MNEMONIC_PFCPIT1, + ZYDIS_MNEMONIC_PFMAX, + ZYDIS_MNEMONIC_PFMIN, + ZYDIS_MNEMONIC_PFMUL, + ZYDIS_MNEMONIC_PFNACC, + ZYDIS_MNEMONIC_PFPNACC, + ZYDIS_MNEMONIC_PFRCP, + ZYDIS_MNEMONIC_PFRCPIT2, + ZYDIS_MNEMONIC_PFRSQIT1, + ZYDIS_MNEMONIC_PFSQRT, + ZYDIS_MNEMONIC_PFSUB, + ZYDIS_MNEMONIC_PFSUBR, + ZYDIS_MNEMONIC_PHADDD, + ZYDIS_MNEMONIC_PHADDSW, + ZYDIS_MNEMONIC_PHADDW, + ZYDIS_MNEMONIC_PHMINPOSUW, + ZYDIS_MNEMONIC_PHSUBD, + ZYDIS_MNEMONIC_PHSUBSW, + ZYDIS_MNEMONIC_PHSUBW, + ZYDIS_MNEMONIC_PI2FD, + ZYDIS_MNEMONIC_PI2FW, + ZYDIS_MNEMONIC_PINSRB, + ZYDIS_MNEMONIC_PINSRD, + ZYDIS_MNEMONIC_PINSRQ, + ZYDIS_MNEMONIC_PINSRW, + ZYDIS_MNEMONIC_PMADDUBSW, + ZYDIS_MNEMONIC_PMADDWD, + ZYDIS_MNEMONIC_PMAXSB, + ZYDIS_MNEMONIC_PMAXSD, + ZYDIS_MNEMONIC_PMAXSW, + ZYDIS_MNEMONIC_PMAXUB, + ZYDIS_MNEMONIC_PMAXUD, + ZYDIS_MNEMONIC_PMAXUW, + ZYDIS_MNEMONIC_PMINSB, + ZYDIS_MNEMONIC_PMINSD, + ZYDIS_MNEMONIC_PMINSW, + ZYDIS_MNEMONIC_PMINUB, + ZYDIS_MNEMONIC_PMINUD, + ZYDIS_MNEMONIC_PMINUW, + ZYDIS_MNEMONIC_PMOVMSKB, + ZYDIS_MNEMONIC_PMOVSXBD, + ZYDIS_MNEMONIC_PMOVSXBQ, + ZYDIS_MNEMONIC_PMOVSXBW, + ZYDIS_MNEMONIC_PMOVSXDQ, + ZYDIS_MNEMONIC_PMOVSXWD, + ZYDIS_MNEMONIC_PMOVSXWQ, + ZYDIS_MNEMONIC_PMOVZXBD, + ZYDIS_MNEMONIC_PMOVZXBQ, + ZYDIS_MNEMONIC_PMOVZXBW, + ZYDIS_MNEMONIC_PMOVZXDQ, + ZYDIS_MNEMONIC_PMOVZXWD, + ZYDIS_MNEMONIC_PMOVZXWQ, + ZYDIS_MNEMONIC_PMULDQ, + ZYDIS_MNEMONIC_PMULHRSW, + ZYDIS_MNEMONIC_PMULHRW, + ZYDIS_MNEMONIC_PMULHUW, + ZYDIS_MNEMONIC_PMULHW, + ZYDIS_MNEMONIC_PMULLD, + ZYDIS_MNEMONIC_PMULLW, + ZYDIS_MNEMONIC_PMULUDQ, + ZYDIS_MNEMONIC_POP, + ZYDIS_MNEMONIC_POPA, + ZYDIS_MNEMONIC_POPAD, + ZYDIS_MNEMONIC_POPCNT, + ZYDIS_MNEMONIC_POPF, + ZYDIS_MNEMONIC_POPFD, + ZYDIS_MNEMONIC_POPFQ, + ZYDIS_MNEMONIC_POR, + ZYDIS_MNEMONIC_PREFETCH, + ZYDIS_MNEMONIC_PREFETCHNTA, + ZYDIS_MNEMONIC_PREFETCHT0, + ZYDIS_MNEMONIC_PREFETCHT1, + ZYDIS_MNEMONIC_PREFETCHT2, + ZYDIS_MNEMONIC_PREFETCHW, + ZYDIS_MNEMONIC_PREFETCHWT1, + ZYDIS_MNEMONIC_PSADBW, + ZYDIS_MNEMONIC_PSHUFB, + ZYDIS_MNEMONIC_PSHUFD, + ZYDIS_MNEMONIC_PSHUFHW, + ZYDIS_MNEMONIC_PSHUFLW, + ZYDIS_MNEMONIC_PSHUFW, + ZYDIS_MNEMONIC_PSIGNB, + ZYDIS_MNEMONIC_PSIGND, + ZYDIS_MNEMONIC_PSIGNW, + ZYDIS_MNEMONIC_PSLLD, + ZYDIS_MNEMONIC_PSLLDQ, + ZYDIS_MNEMONIC_PSLLQ, + ZYDIS_MNEMONIC_PSLLW, + ZYDIS_MNEMONIC_PSMASH, + ZYDIS_MNEMONIC_PSRAD, + ZYDIS_MNEMONIC_PSRAW, + ZYDIS_MNEMONIC_PSRLD, + ZYDIS_MNEMONIC_PSRLDQ, + ZYDIS_MNEMONIC_PSRLQ, + ZYDIS_MNEMONIC_PSRLW, + ZYDIS_MNEMONIC_PSUBB, + ZYDIS_MNEMONIC_PSUBD, + ZYDIS_MNEMONIC_PSUBQ, + ZYDIS_MNEMONIC_PSUBSB, + ZYDIS_MNEMONIC_PSUBSW, + ZYDIS_MNEMONIC_PSUBUSB, + ZYDIS_MNEMONIC_PSUBUSW, + ZYDIS_MNEMONIC_PSUBW, + ZYDIS_MNEMONIC_PSWAPD, + ZYDIS_MNEMONIC_PTEST, + ZYDIS_MNEMONIC_PTWRITE, + ZYDIS_MNEMONIC_PUNPCKHBW, + ZYDIS_MNEMONIC_PUNPCKHDQ, + ZYDIS_MNEMONIC_PUNPCKHQDQ, + ZYDIS_MNEMONIC_PUNPCKHWD, + ZYDIS_MNEMONIC_PUNPCKLBW, + ZYDIS_MNEMONIC_PUNPCKLDQ, + ZYDIS_MNEMONIC_PUNPCKLQDQ, + ZYDIS_MNEMONIC_PUNPCKLWD, + ZYDIS_MNEMONIC_PUSH, + ZYDIS_MNEMONIC_PUSHA, + ZYDIS_MNEMONIC_PUSHAD, + ZYDIS_MNEMONIC_PUSHF, + ZYDIS_MNEMONIC_PUSHFD, + ZYDIS_MNEMONIC_PUSHFQ, + ZYDIS_MNEMONIC_PVALIDATE, + ZYDIS_MNEMONIC_PXOR, + ZYDIS_MNEMONIC_RCL, + ZYDIS_MNEMONIC_RCPPS, + ZYDIS_MNEMONIC_RCPSS, + ZYDIS_MNEMONIC_RCR, + ZYDIS_MNEMONIC_RDFSBASE, + ZYDIS_MNEMONIC_RDGSBASE, + ZYDIS_MNEMONIC_RDMSR, + ZYDIS_MNEMONIC_RDPID, + ZYDIS_MNEMONIC_RDPKRU, + ZYDIS_MNEMONIC_RDPMC, + ZYDIS_MNEMONIC_RDPRU, + ZYDIS_MNEMONIC_RDRAND, + ZYDIS_MNEMONIC_RDSEED, + ZYDIS_MNEMONIC_RDSSPD, + ZYDIS_MNEMONIC_RDSSPQ, + ZYDIS_MNEMONIC_RDTSC, + ZYDIS_MNEMONIC_RDTSCP, + ZYDIS_MNEMONIC_RET, + ZYDIS_MNEMONIC_RMPADJUST, + ZYDIS_MNEMONIC_RMPUPDATE, + ZYDIS_MNEMONIC_ROL, + ZYDIS_MNEMONIC_ROR, + ZYDIS_MNEMONIC_RORX, + ZYDIS_MNEMONIC_ROUNDPD, + ZYDIS_MNEMONIC_ROUNDPS, + ZYDIS_MNEMONIC_ROUNDSD, + ZYDIS_MNEMONIC_ROUNDSS, + ZYDIS_MNEMONIC_RSM, + ZYDIS_MNEMONIC_RSQRTPS, + ZYDIS_MNEMONIC_RSQRTSS, + ZYDIS_MNEMONIC_RSTORSSP, + ZYDIS_MNEMONIC_SAHF, + ZYDIS_MNEMONIC_SALC, + ZYDIS_MNEMONIC_SAR, + ZYDIS_MNEMONIC_SARX, + ZYDIS_MNEMONIC_SAVEPREVSSP, + ZYDIS_MNEMONIC_SBB, + ZYDIS_MNEMONIC_SCASB, + ZYDIS_MNEMONIC_SCASD, + ZYDIS_MNEMONIC_SCASQ, + ZYDIS_MNEMONIC_SCASW, + ZYDIS_MNEMONIC_SERIALIZE, + ZYDIS_MNEMONIC_SETB, + ZYDIS_MNEMONIC_SETBE, + ZYDIS_MNEMONIC_SETL, + ZYDIS_MNEMONIC_SETLE, + ZYDIS_MNEMONIC_SETNB, + ZYDIS_MNEMONIC_SETNBE, + ZYDIS_MNEMONIC_SETNL, + ZYDIS_MNEMONIC_SETNLE, + ZYDIS_MNEMONIC_SETNO, + ZYDIS_MNEMONIC_SETNP, + ZYDIS_MNEMONIC_SETNS, + ZYDIS_MNEMONIC_SETNZ, + ZYDIS_MNEMONIC_SETO, + ZYDIS_MNEMONIC_SETP, + ZYDIS_MNEMONIC_SETS, + ZYDIS_MNEMONIC_SETSSBSY, + ZYDIS_MNEMONIC_SETZ, + ZYDIS_MNEMONIC_SFENCE, + ZYDIS_MNEMONIC_SGDT, + ZYDIS_MNEMONIC_SHA1MSG1, + ZYDIS_MNEMONIC_SHA1MSG2, + ZYDIS_MNEMONIC_SHA1NEXTE, + ZYDIS_MNEMONIC_SHA1RNDS4, + ZYDIS_MNEMONIC_SHA256MSG1, + ZYDIS_MNEMONIC_SHA256MSG2, + ZYDIS_MNEMONIC_SHA256RNDS2, + ZYDIS_MNEMONIC_SHL, + ZYDIS_MNEMONIC_SHLD, + ZYDIS_MNEMONIC_SHLX, + ZYDIS_MNEMONIC_SHR, + ZYDIS_MNEMONIC_SHRD, + ZYDIS_MNEMONIC_SHRX, + ZYDIS_MNEMONIC_SHUFPD, + ZYDIS_MNEMONIC_SHUFPS, + ZYDIS_MNEMONIC_SIDT, + ZYDIS_MNEMONIC_SKINIT, + ZYDIS_MNEMONIC_SLDT, + ZYDIS_MNEMONIC_SLWPCB, + ZYDIS_MNEMONIC_SMSW, + ZYDIS_MNEMONIC_SPFLT, + ZYDIS_MNEMONIC_SQRTPD, + ZYDIS_MNEMONIC_SQRTPS, + ZYDIS_MNEMONIC_SQRTSD, + ZYDIS_MNEMONIC_SQRTSS, + ZYDIS_MNEMONIC_STAC, + ZYDIS_MNEMONIC_STC, + ZYDIS_MNEMONIC_STD, + ZYDIS_MNEMONIC_STGI, + ZYDIS_MNEMONIC_STI, + ZYDIS_MNEMONIC_STMXCSR, + ZYDIS_MNEMONIC_STOSB, + ZYDIS_MNEMONIC_STOSD, + ZYDIS_MNEMONIC_STOSQ, + ZYDIS_MNEMONIC_STOSW, + ZYDIS_MNEMONIC_STR, + ZYDIS_MNEMONIC_STTILECFG, + ZYDIS_MNEMONIC_SUB, + ZYDIS_MNEMONIC_SUBPD, + ZYDIS_MNEMONIC_SUBPS, + ZYDIS_MNEMONIC_SUBSD, + ZYDIS_MNEMONIC_SUBSS, + ZYDIS_MNEMONIC_SWAPGS, + ZYDIS_MNEMONIC_SYSCALL, + ZYDIS_MNEMONIC_SYSENTER, + ZYDIS_MNEMONIC_SYSEXIT, + ZYDIS_MNEMONIC_SYSRET, + ZYDIS_MNEMONIC_T1MSKC, + ZYDIS_MNEMONIC_TDPBF16PS, + ZYDIS_MNEMONIC_TDPBSSD, + ZYDIS_MNEMONIC_TDPBSUD, + ZYDIS_MNEMONIC_TDPBUSD, + ZYDIS_MNEMONIC_TDPBUUD, + ZYDIS_MNEMONIC_TEST, + ZYDIS_MNEMONIC_TILELOADD, + ZYDIS_MNEMONIC_TILELOADDT1, + ZYDIS_MNEMONIC_TILERELEASE, + ZYDIS_MNEMONIC_TILESTORED, + ZYDIS_MNEMONIC_TILEZERO, + ZYDIS_MNEMONIC_TLBSYNC, + ZYDIS_MNEMONIC_TPAUSE, + ZYDIS_MNEMONIC_TZCNT, + ZYDIS_MNEMONIC_TZCNTI, + ZYDIS_MNEMONIC_TZMSK, + ZYDIS_MNEMONIC_UCOMISD, + ZYDIS_MNEMONIC_UCOMISS, + ZYDIS_MNEMONIC_UD0, + ZYDIS_MNEMONIC_UD1, + ZYDIS_MNEMONIC_UD2, + ZYDIS_MNEMONIC_UMONITOR, + ZYDIS_MNEMONIC_UMWAIT, + ZYDIS_MNEMONIC_UNPCKHPD, + ZYDIS_MNEMONIC_UNPCKHPS, + ZYDIS_MNEMONIC_UNPCKLPD, + ZYDIS_MNEMONIC_UNPCKLPS, + ZYDIS_MNEMONIC_V4FMADDPS, + ZYDIS_MNEMONIC_V4FMADDSS, + ZYDIS_MNEMONIC_V4FNMADDPS, + ZYDIS_MNEMONIC_V4FNMADDSS, + ZYDIS_MNEMONIC_VADDNPD, + ZYDIS_MNEMONIC_VADDNPS, + ZYDIS_MNEMONIC_VADDPD, + ZYDIS_MNEMONIC_VADDPS, + ZYDIS_MNEMONIC_VADDSD, + ZYDIS_MNEMONIC_VADDSETSPS, + ZYDIS_MNEMONIC_VADDSS, + ZYDIS_MNEMONIC_VADDSUBPD, + ZYDIS_MNEMONIC_VADDSUBPS, + ZYDIS_MNEMONIC_VAESDEC, + ZYDIS_MNEMONIC_VAESDECLAST, + ZYDIS_MNEMONIC_VAESENC, + ZYDIS_MNEMONIC_VAESENCLAST, + ZYDIS_MNEMONIC_VAESIMC, + ZYDIS_MNEMONIC_VAESKEYGENASSIST, + ZYDIS_MNEMONIC_VALIGND, + ZYDIS_MNEMONIC_VALIGNQ, + ZYDIS_MNEMONIC_VANDNPD, + ZYDIS_MNEMONIC_VANDNPS, + ZYDIS_MNEMONIC_VANDPD, + ZYDIS_MNEMONIC_VANDPS, + ZYDIS_MNEMONIC_VBLENDMPD, + ZYDIS_MNEMONIC_VBLENDMPS, + ZYDIS_MNEMONIC_VBLENDPD, + ZYDIS_MNEMONIC_VBLENDPS, + ZYDIS_MNEMONIC_VBLENDVPD, + ZYDIS_MNEMONIC_VBLENDVPS, + ZYDIS_MNEMONIC_VBROADCASTF128, + ZYDIS_MNEMONIC_VBROADCASTF32X2, + ZYDIS_MNEMONIC_VBROADCASTF32X4, + ZYDIS_MNEMONIC_VBROADCASTF32X8, + ZYDIS_MNEMONIC_VBROADCASTF64X2, + ZYDIS_MNEMONIC_VBROADCASTF64X4, + ZYDIS_MNEMONIC_VBROADCASTI128, + ZYDIS_MNEMONIC_VBROADCASTI32X2, + ZYDIS_MNEMONIC_VBROADCASTI32X4, + ZYDIS_MNEMONIC_VBROADCASTI32X8, + ZYDIS_MNEMONIC_VBROADCASTI64X2, + ZYDIS_MNEMONIC_VBROADCASTI64X4, + ZYDIS_MNEMONIC_VBROADCASTSD, + ZYDIS_MNEMONIC_VBROADCASTSS, + ZYDIS_MNEMONIC_VCMPPD, + ZYDIS_MNEMONIC_VCMPPS, + ZYDIS_MNEMONIC_VCMPSD, + ZYDIS_MNEMONIC_VCMPSS, + ZYDIS_MNEMONIC_VCOMISD, + ZYDIS_MNEMONIC_VCOMISS, + ZYDIS_MNEMONIC_VCOMPRESSPD, + ZYDIS_MNEMONIC_VCOMPRESSPS, + ZYDIS_MNEMONIC_VCVTDQ2PD, + ZYDIS_MNEMONIC_VCVTDQ2PS, + ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS, + ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ, + ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ, + ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ, + ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ, + ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS, + ZYDIS_MNEMONIC_VCVTNE2PS2BF16, + ZYDIS_MNEMONIC_VCVTNEPS2BF16, + ZYDIS_MNEMONIC_VCVTPD2DQ, + ZYDIS_MNEMONIC_VCVTPD2PS, + ZYDIS_MNEMONIC_VCVTPD2QQ, + ZYDIS_MNEMONIC_VCVTPD2UDQ, + ZYDIS_MNEMONIC_VCVTPD2UQQ, + ZYDIS_MNEMONIC_VCVTPH2PS, + ZYDIS_MNEMONIC_VCVTPS2DQ, + ZYDIS_MNEMONIC_VCVTPS2PD, + ZYDIS_MNEMONIC_VCVTPS2PH, + ZYDIS_MNEMONIC_VCVTPS2QQ, + ZYDIS_MNEMONIC_VCVTPS2UDQ, + ZYDIS_MNEMONIC_VCVTPS2UQQ, + ZYDIS_MNEMONIC_VCVTQQ2PD, + ZYDIS_MNEMONIC_VCVTQQ2PS, + ZYDIS_MNEMONIC_VCVTSD2SI, + ZYDIS_MNEMONIC_VCVTSD2SS, + ZYDIS_MNEMONIC_VCVTSD2USI, + ZYDIS_MNEMONIC_VCVTSI2SD, + ZYDIS_MNEMONIC_VCVTSI2SS, + ZYDIS_MNEMONIC_VCVTSS2SD, + ZYDIS_MNEMONIC_VCVTSS2SI, + ZYDIS_MNEMONIC_VCVTSS2USI, + ZYDIS_MNEMONIC_VCVTTPD2DQ, + ZYDIS_MNEMONIC_VCVTTPD2QQ, + ZYDIS_MNEMONIC_VCVTTPD2UDQ, + ZYDIS_MNEMONIC_VCVTTPD2UQQ, + ZYDIS_MNEMONIC_VCVTTPS2DQ, + ZYDIS_MNEMONIC_VCVTTPS2QQ, + ZYDIS_MNEMONIC_VCVTTPS2UDQ, + ZYDIS_MNEMONIC_VCVTTPS2UQQ, + ZYDIS_MNEMONIC_VCVTTSD2SI, + ZYDIS_MNEMONIC_VCVTTSD2USI, + ZYDIS_MNEMONIC_VCVTTSS2SI, + ZYDIS_MNEMONIC_VCVTTSS2USI, + ZYDIS_MNEMONIC_VCVTUDQ2PD, + ZYDIS_MNEMONIC_VCVTUDQ2PS, + ZYDIS_MNEMONIC_VCVTUQQ2PD, + ZYDIS_MNEMONIC_VCVTUQQ2PS, + ZYDIS_MNEMONIC_VCVTUSI2SD, + ZYDIS_MNEMONIC_VCVTUSI2SS, + ZYDIS_MNEMONIC_VDBPSADBW, + ZYDIS_MNEMONIC_VDIVPD, + ZYDIS_MNEMONIC_VDIVPS, + ZYDIS_MNEMONIC_VDIVSD, + ZYDIS_MNEMONIC_VDIVSS, + ZYDIS_MNEMONIC_VDPBF16PS, + ZYDIS_MNEMONIC_VDPPD, + ZYDIS_MNEMONIC_VDPPS, + ZYDIS_MNEMONIC_VERR, + ZYDIS_MNEMONIC_VERW, + ZYDIS_MNEMONIC_VEXP223PS, + ZYDIS_MNEMONIC_VEXP2PD, + ZYDIS_MNEMONIC_VEXP2PS, + ZYDIS_MNEMONIC_VEXPANDPD, + ZYDIS_MNEMONIC_VEXPANDPS, + ZYDIS_MNEMONIC_VEXTRACTF128, + ZYDIS_MNEMONIC_VEXTRACTF32X4, + ZYDIS_MNEMONIC_VEXTRACTF32X8, + ZYDIS_MNEMONIC_VEXTRACTF64X2, + ZYDIS_MNEMONIC_VEXTRACTF64X4, + ZYDIS_MNEMONIC_VEXTRACTI128, + ZYDIS_MNEMONIC_VEXTRACTI32X4, + ZYDIS_MNEMONIC_VEXTRACTI32X8, + ZYDIS_MNEMONIC_VEXTRACTI64X2, + ZYDIS_MNEMONIC_VEXTRACTI64X4, + ZYDIS_MNEMONIC_VEXTRACTPS, + ZYDIS_MNEMONIC_VFIXUPIMMPD, + ZYDIS_MNEMONIC_VFIXUPIMMPS, + ZYDIS_MNEMONIC_VFIXUPIMMSD, + ZYDIS_MNEMONIC_VFIXUPIMMSS, + ZYDIS_MNEMONIC_VFIXUPNANPD, + ZYDIS_MNEMONIC_VFIXUPNANPS, + ZYDIS_MNEMONIC_VFMADD132PD, + ZYDIS_MNEMONIC_VFMADD132PS, + ZYDIS_MNEMONIC_VFMADD132SD, + ZYDIS_MNEMONIC_VFMADD132SS, + ZYDIS_MNEMONIC_VFMADD213PD, + ZYDIS_MNEMONIC_VFMADD213PS, + ZYDIS_MNEMONIC_VFMADD213SD, + ZYDIS_MNEMONIC_VFMADD213SS, + ZYDIS_MNEMONIC_VFMADD231PD, + ZYDIS_MNEMONIC_VFMADD231PS, + ZYDIS_MNEMONIC_VFMADD231SD, + ZYDIS_MNEMONIC_VFMADD231SS, + ZYDIS_MNEMONIC_VFMADD233PS, + ZYDIS_MNEMONIC_VFMADDPD, + ZYDIS_MNEMONIC_VFMADDPS, + ZYDIS_MNEMONIC_VFMADDSD, + ZYDIS_MNEMONIC_VFMADDSS, + ZYDIS_MNEMONIC_VFMADDSUB132PD, + ZYDIS_MNEMONIC_VFMADDSUB132PS, + ZYDIS_MNEMONIC_VFMADDSUB213PD, + ZYDIS_MNEMONIC_VFMADDSUB213PS, + ZYDIS_MNEMONIC_VFMADDSUB231PD, + ZYDIS_MNEMONIC_VFMADDSUB231PS, + ZYDIS_MNEMONIC_VFMADDSUBPD, + ZYDIS_MNEMONIC_VFMADDSUBPS, + ZYDIS_MNEMONIC_VFMSUB132PD, + ZYDIS_MNEMONIC_VFMSUB132PS, + ZYDIS_MNEMONIC_VFMSUB132SD, + ZYDIS_MNEMONIC_VFMSUB132SS, + ZYDIS_MNEMONIC_VFMSUB213PD, + ZYDIS_MNEMONIC_VFMSUB213PS, + ZYDIS_MNEMONIC_VFMSUB213SD, + ZYDIS_MNEMONIC_VFMSUB213SS, + ZYDIS_MNEMONIC_VFMSUB231PD, + ZYDIS_MNEMONIC_VFMSUB231PS, + ZYDIS_MNEMONIC_VFMSUB231SD, + ZYDIS_MNEMONIC_VFMSUB231SS, + ZYDIS_MNEMONIC_VFMSUBADD132PD, + ZYDIS_MNEMONIC_VFMSUBADD132PS, + ZYDIS_MNEMONIC_VFMSUBADD213PD, + ZYDIS_MNEMONIC_VFMSUBADD213PS, + ZYDIS_MNEMONIC_VFMSUBADD231PD, + ZYDIS_MNEMONIC_VFMSUBADD231PS, + ZYDIS_MNEMONIC_VFMSUBADDPD, + ZYDIS_MNEMONIC_VFMSUBADDPS, + ZYDIS_MNEMONIC_VFMSUBPD, + ZYDIS_MNEMONIC_VFMSUBPS, + ZYDIS_MNEMONIC_VFMSUBSD, + ZYDIS_MNEMONIC_VFMSUBSS, + ZYDIS_MNEMONIC_VFNMADD132PD, + ZYDIS_MNEMONIC_VFNMADD132PS, + ZYDIS_MNEMONIC_VFNMADD132SD, + ZYDIS_MNEMONIC_VFNMADD132SS, + ZYDIS_MNEMONIC_VFNMADD213PD, + ZYDIS_MNEMONIC_VFNMADD213PS, + ZYDIS_MNEMONIC_VFNMADD213SD, + ZYDIS_MNEMONIC_VFNMADD213SS, + ZYDIS_MNEMONIC_VFNMADD231PD, + ZYDIS_MNEMONIC_VFNMADD231PS, + ZYDIS_MNEMONIC_VFNMADD231SD, + ZYDIS_MNEMONIC_VFNMADD231SS, + ZYDIS_MNEMONIC_VFNMADDPD, + ZYDIS_MNEMONIC_VFNMADDPS, + ZYDIS_MNEMONIC_VFNMADDSD, + ZYDIS_MNEMONIC_VFNMADDSS, + ZYDIS_MNEMONIC_VFNMSUB132PD, + ZYDIS_MNEMONIC_VFNMSUB132PS, + ZYDIS_MNEMONIC_VFNMSUB132SD, + ZYDIS_MNEMONIC_VFNMSUB132SS, + ZYDIS_MNEMONIC_VFNMSUB213PD, + ZYDIS_MNEMONIC_VFNMSUB213PS, + ZYDIS_MNEMONIC_VFNMSUB213SD, + ZYDIS_MNEMONIC_VFNMSUB213SS, + ZYDIS_MNEMONIC_VFNMSUB231PD, + ZYDIS_MNEMONIC_VFNMSUB231PS, + ZYDIS_MNEMONIC_VFNMSUB231SD, + ZYDIS_MNEMONIC_VFNMSUB231SS, + ZYDIS_MNEMONIC_VFNMSUBPD, + ZYDIS_MNEMONIC_VFNMSUBPS, + ZYDIS_MNEMONIC_VFNMSUBSD, + ZYDIS_MNEMONIC_VFNMSUBSS, + ZYDIS_MNEMONIC_VFPCLASSPD, + ZYDIS_MNEMONIC_VFPCLASSPS, + ZYDIS_MNEMONIC_VFPCLASSSD, + ZYDIS_MNEMONIC_VFPCLASSSS, + ZYDIS_MNEMONIC_VFRCZPD, + ZYDIS_MNEMONIC_VFRCZPS, + ZYDIS_MNEMONIC_VFRCZSD, + ZYDIS_MNEMONIC_VFRCZSS, + ZYDIS_MNEMONIC_VGATHERDPD, + ZYDIS_MNEMONIC_VGATHERDPS, + ZYDIS_MNEMONIC_VGATHERPF0DPD, + ZYDIS_MNEMONIC_VGATHERPF0DPS, + ZYDIS_MNEMONIC_VGATHERPF0HINTDPD, + ZYDIS_MNEMONIC_VGATHERPF0HINTDPS, + ZYDIS_MNEMONIC_VGATHERPF0QPD, + ZYDIS_MNEMONIC_VGATHERPF0QPS, + ZYDIS_MNEMONIC_VGATHERPF1DPD, + ZYDIS_MNEMONIC_VGATHERPF1DPS, + ZYDIS_MNEMONIC_VGATHERPF1QPD, + ZYDIS_MNEMONIC_VGATHERPF1QPS, + ZYDIS_MNEMONIC_VGATHERQPD, + ZYDIS_MNEMONIC_VGATHERQPS, + ZYDIS_MNEMONIC_VGETEXPPD, + ZYDIS_MNEMONIC_VGETEXPPS, + ZYDIS_MNEMONIC_VGETEXPSD, + ZYDIS_MNEMONIC_VGETEXPSS, + ZYDIS_MNEMONIC_VGETMANTPD, + ZYDIS_MNEMONIC_VGETMANTPS, + ZYDIS_MNEMONIC_VGETMANTSD, + ZYDIS_MNEMONIC_VGETMANTSS, + ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB, + ZYDIS_MNEMONIC_VGF2P8AFFINEQB, + ZYDIS_MNEMONIC_VGF2P8MULB, + ZYDIS_MNEMONIC_VGMAXABSPS, + ZYDIS_MNEMONIC_VGMAXPD, + ZYDIS_MNEMONIC_VGMAXPS, + ZYDIS_MNEMONIC_VGMINPD, + ZYDIS_MNEMONIC_VGMINPS, + ZYDIS_MNEMONIC_VHADDPD, + ZYDIS_MNEMONIC_VHADDPS, + ZYDIS_MNEMONIC_VHSUBPD, + ZYDIS_MNEMONIC_VHSUBPS, + ZYDIS_MNEMONIC_VINSERTF128, + ZYDIS_MNEMONIC_VINSERTF32X4, + ZYDIS_MNEMONIC_VINSERTF32X8, + ZYDIS_MNEMONIC_VINSERTF64X2, + ZYDIS_MNEMONIC_VINSERTF64X4, + ZYDIS_MNEMONIC_VINSERTI128, + ZYDIS_MNEMONIC_VINSERTI32X4, + ZYDIS_MNEMONIC_VINSERTI32X8, + ZYDIS_MNEMONIC_VINSERTI64X2, + ZYDIS_MNEMONIC_VINSERTI64X4, + ZYDIS_MNEMONIC_VINSERTPS, + ZYDIS_MNEMONIC_VLDDQU, + ZYDIS_MNEMONIC_VLDMXCSR, + ZYDIS_MNEMONIC_VLOADUNPACKHD, + ZYDIS_MNEMONIC_VLOADUNPACKHPD, + ZYDIS_MNEMONIC_VLOADUNPACKHPS, + ZYDIS_MNEMONIC_VLOADUNPACKHQ, + ZYDIS_MNEMONIC_VLOADUNPACKLD, + ZYDIS_MNEMONIC_VLOADUNPACKLPD, + ZYDIS_MNEMONIC_VLOADUNPACKLPS, + ZYDIS_MNEMONIC_VLOADUNPACKLQ, + ZYDIS_MNEMONIC_VLOG2PS, + ZYDIS_MNEMONIC_VMASKMOVDQU, + ZYDIS_MNEMONIC_VMASKMOVPD, + ZYDIS_MNEMONIC_VMASKMOVPS, + ZYDIS_MNEMONIC_VMAXPD, + ZYDIS_MNEMONIC_VMAXPS, + ZYDIS_MNEMONIC_VMAXSD, + ZYDIS_MNEMONIC_VMAXSS, + ZYDIS_MNEMONIC_VMCALL, + ZYDIS_MNEMONIC_VMCLEAR, + ZYDIS_MNEMONIC_VMFUNC, + ZYDIS_MNEMONIC_VMINPD, + ZYDIS_MNEMONIC_VMINPS, + ZYDIS_MNEMONIC_VMINSD, + ZYDIS_MNEMONIC_VMINSS, + ZYDIS_MNEMONIC_VMLAUNCH, + ZYDIS_MNEMONIC_VMLOAD, + ZYDIS_MNEMONIC_VMMCALL, + ZYDIS_MNEMONIC_VMOVAPD, + ZYDIS_MNEMONIC_VMOVAPS, + ZYDIS_MNEMONIC_VMOVD, + ZYDIS_MNEMONIC_VMOVDDUP, + ZYDIS_MNEMONIC_VMOVDQA, + ZYDIS_MNEMONIC_VMOVDQA32, + ZYDIS_MNEMONIC_VMOVDQA64, + ZYDIS_MNEMONIC_VMOVDQU, + ZYDIS_MNEMONIC_VMOVDQU16, + ZYDIS_MNEMONIC_VMOVDQU32, + ZYDIS_MNEMONIC_VMOVDQU64, + ZYDIS_MNEMONIC_VMOVDQU8, + ZYDIS_MNEMONIC_VMOVHLPS, + ZYDIS_MNEMONIC_VMOVHPD, + ZYDIS_MNEMONIC_VMOVHPS, + ZYDIS_MNEMONIC_VMOVLHPS, + ZYDIS_MNEMONIC_VMOVLPD, + ZYDIS_MNEMONIC_VMOVLPS, + ZYDIS_MNEMONIC_VMOVMSKPD, + ZYDIS_MNEMONIC_VMOVMSKPS, + ZYDIS_MNEMONIC_VMOVNRAPD, + ZYDIS_MNEMONIC_VMOVNRAPS, + ZYDIS_MNEMONIC_VMOVNRNGOAPD, + ZYDIS_MNEMONIC_VMOVNRNGOAPS, + ZYDIS_MNEMONIC_VMOVNTDQ, + ZYDIS_MNEMONIC_VMOVNTDQA, + ZYDIS_MNEMONIC_VMOVNTPD, + ZYDIS_MNEMONIC_VMOVNTPS, + ZYDIS_MNEMONIC_VMOVQ, + ZYDIS_MNEMONIC_VMOVSD, + ZYDIS_MNEMONIC_VMOVSHDUP, + ZYDIS_MNEMONIC_VMOVSLDUP, + ZYDIS_MNEMONIC_VMOVSS, + ZYDIS_MNEMONIC_VMOVUPD, + ZYDIS_MNEMONIC_VMOVUPS, + ZYDIS_MNEMONIC_VMPSADBW, + ZYDIS_MNEMONIC_VMPTRLD, + ZYDIS_MNEMONIC_VMPTRST, + ZYDIS_MNEMONIC_VMREAD, + ZYDIS_MNEMONIC_VMRESUME, + ZYDIS_MNEMONIC_VMRUN, + ZYDIS_MNEMONIC_VMSAVE, + ZYDIS_MNEMONIC_VMULPD, + ZYDIS_MNEMONIC_VMULPS, + ZYDIS_MNEMONIC_VMULSD, + ZYDIS_MNEMONIC_VMULSS, + ZYDIS_MNEMONIC_VMWRITE, + ZYDIS_MNEMONIC_VMXOFF, + ZYDIS_MNEMONIC_VMXON, + ZYDIS_MNEMONIC_VORPD, + ZYDIS_MNEMONIC_VORPS, + ZYDIS_MNEMONIC_VP2INTERSECTD, + ZYDIS_MNEMONIC_VP2INTERSECTQ, + ZYDIS_MNEMONIC_VP4DPWSSD, + ZYDIS_MNEMONIC_VP4DPWSSDS, + ZYDIS_MNEMONIC_VPABSB, + ZYDIS_MNEMONIC_VPABSD, + ZYDIS_MNEMONIC_VPABSQ, + ZYDIS_MNEMONIC_VPABSW, + ZYDIS_MNEMONIC_VPACKSSDW, + ZYDIS_MNEMONIC_VPACKSSWB, + ZYDIS_MNEMONIC_VPACKSTOREHD, + ZYDIS_MNEMONIC_VPACKSTOREHPD, + ZYDIS_MNEMONIC_VPACKSTOREHPS, + ZYDIS_MNEMONIC_VPACKSTOREHQ, + ZYDIS_MNEMONIC_VPACKSTORELD, + ZYDIS_MNEMONIC_VPACKSTORELPD, + ZYDIS_MNEMONIC_VPACKSTORELPS, + ZYDIS_MNEMONIC_VPACKSTORELQ, + ZYDIS_MNEMONIC_VPACKUSDW, + ZYDIS_MNEMONIC_VPACKUSWB, + ZYDIS_MNEMONIC_VPADCD, + ZYDIS_MNEMONIC_VPADDB, + ZYDIS_MNEMONIC_VPADDD, + ZYDIS_MNEMONIC_VPADDQ, + ZYDIS_MNEMONIC_VPADDSB, + ZYDIS_MNEMONIC_VPADDSETCD, + ZYDIS_MNEMONIC_VPADDSETSD, + ZYDIS_MNEMONIC_VPADDSW, + ZYDIS_MNEMONIC_VPADDUSB, + ZYDIS_MNEMONIC_VPADDUSW, + ZYDIS_MNEMONIC_VPADDW, + ZYDIS_MNEMONIC_VPALIGNR, + ZYDIS_MNEMONIC_VPAND, + ZYDIS_MNEMONIC_VPANDD, + ZYDIS_MNEMONIC_VPANDN, + ZYDIS_MNEMONIC_VPANDND, + ZYDIS_MNEMONIC_VPANDNQ, + ZYDIS_MNEMONIC_VPANDQ, + ZYDIS_MNEMONIC_VPAVGB, + ZYDIS_MNEMONIC_VPAVGW, + ZYDIS_MNEMONIC_VPBLENDD, + ZYDIS_MNEMONIC_VPBLENDMB, + ZYDIS_MNEMONIC_VPBLENDMD, + ZYDIS_MNEMONIC_VPBLENDMQ, + ZYDIS_MNEMONIC_VPBLENDMW, + ZYDIS_MNEMONIC_VPBLENDVB, + ZYDIS_MNEMONIC_VPBLENDW, + ZYDIS_MNEMONIC_VPBROADCASTB, + ZYDIS_MNEMONIC_VPBROADCASTD, + ZYDIS_MNEMONIC_VPBROADCASTMB2Q, + ZYDIS_MNEMONIC_VPBROADCASTMW2D, + ZYDIS_MNEMONIC_VPBROADCASTQ, + ZYDIS_MNEMONIC_VPBROADCASTW, + ZYDIS_MNEMONIC_VPCLMULQDQ, + ZYDIS_MNEMONIC_VPCMOV, + ZYDIS_MNEMONIC_VPCMPB, + ZYDIS_MNEMONIC_VPCMPD, + ZYDIS_MNEMONIC_VPCMPEQB, + ZYDIS_MNEMONIC_VPCMPEQD, + ZYDIS_MNEMONIC_VPCMPEQQ, + ZYDIS_MNEMONIC_VPCMPEQW, + ZYDIS_MNEMONIC_VPCMPESTRI, + ZYDIS_MNEMONIC_VPCMPESTRM, + ZYDIS_MNEMONIC_VPCMPGTB, + ZYDIS_MNEMONIC_VPCMPGTD, + ZYDIS_MNEMONIC_VPCMPGTQ, + ZYDIS_MNEMONIC_VPCMPGTW, + ZYDIS_MNEMONIC_VPCMPISTRI, + ZYDIS_MNEMONIC_VPCMPISTRM, + ZYDIS_MNEMONIC_VPCMPLTD, + ZYDIS_MNEMONIC_VPCMPQ, + ZYDIS_MNEMONIC_VPCMPUB, + ZYDIS_MNEMONIC_VPCMPUD, + ZYDIS_MNEMONIC_VPCMPUQ, + ZYDIS_MNEMONIC_VPCMPUW, + ZYDIS_MNEMONIC_VPCMPW, + ZYDIS_MNEMONIC_VPCOMB, + ZYDIS_MNEMONIC_VPCOMD, + ZYDIS_MNEMONIC_VPCOMPRESSB, + ZYDIS_MNEMONIC_VPCOMPRESSD, + ZYDIS_MNEMONIC_VPCOMPRESSQ, + ZYDIS_MNEMONIC_VPCOMPRESSW, + ZYDIS_MNEMONIC_VPCOMQ, + ZYDIS_MNEMONIC_VPCOMUB, + ZYDIS_MNEMONIC_VPCOMUD, + ZYDIS_MNEMONIC_VPCOMUQ, + ZYDIS_MNEMONIC_VPCOMUW, + ZYDIS_MNEMONIC_VPCOMW, + ZYDIS_MNEMONIC_VPCONFLICTD, + ZYDIS_MNEMONIC_VPCONFLICTQ, + ZYDIS_MNEMONIC_VPDPBUSD, + ZYDIS_MNEMONIC_VPDPBUSDS, + ZYDIS_MNEMONIC_VPDPWSSD, + ZYDIS_MNEMONIC_VPDPWSSDS, + ZYDIS_MNEMONIC_VPERM2F128, + ZYDIS_MNEMONIC_VPERM2I128, + ZYDIS_MNEMONIC_VPERMB, + ZYDIS_MNEMONIC_VPERMD, + ZYDIS_MNEMONIC_VPERMF32X4, + ZYDIS_MNEMONIC_VPERMI2B, + ZYDIS_MNEMONIC_VPERMI2D, + ZYDIS_MNEMONIC_VPERMI2PD, + ZYDIS_MNEMONIC_VPERMI2PS, + ZYDIS_MNEMONIC_VPERMI2Q, + ZYDIS_MNEMONIC_VPERMI2W, + ZYDIS_MNEMONIC_VPERMIL2PD, + ZYDIS_MNEMONIC_VPERMIL2PS, + ZYDIS_MNEMONIC_VPERMILPD, + ZYDIS_MNEMONIC_VPERMILPS, + ZYDIS_MNEMONIC_VPERMPD, + ZYDIS_MNEMONIC_VPERMPS, + ZYDIS_MNEMONIC_VPERMQ, + ZYDIS_MNEMONIC_VPERMT2B, + ZYDIS_MNEMONIC_VPERMT2D, + ZYDIS_MNEMONIC_VPERMT2PD, + ZYDIS_MNEMONIC_VPERMT2PS, + ZYDIS_MNEMONIC_VPERMT2Q, + ZYDIS_MNEMONIC_VPERMT2W, + ZYDIS_MNEMONIC_VPERMW, + ZYDIS_MNEMONIC_VPEXPANDB, + ZYDIS_MNEMONIC_VPEXPANDD, + ZYDIS_MNEMONIC_VPEXPANDQ, + ZYDIS_MNEMONIC_VPEXPANDW, + ZYDIS_MNEMONIC_VPEXTRB, + ZYDIS_MNEMONIC_VPEXTRD, + ZYDIS_MNEMONIC_VPEXTRQ, + ZYDIS_MNEMONIC_VPEXTRW, + ZYDIS_MNEMONIC_VPGATHERDD, + ZYDIS_MNEMONIC_VPGATHERDQ, + ZYDIS_MNEMONIC_VPGATHERQD, + ZYDIS_MNEMONIC_VPGATHERQQ, + ZYDIS_MNEMONIC_VPHADDBD, + ZYDIS_MNEMONIC_VPHADDBQ, + ZYDIS_MNEMONIC_VPHADDBW, + ZYDIS_MNEMONIC_VPHADDD, + ZYDIS_MNEMONIC_VPHADDDQ, + ZYDIS_MNEMONIC_VPHADDSW, + ZYDIS_MNEMONIC_VPHADDUBD, + ZYDIS_MNEMONIC_VPHADDUBQ, + ZYDIS_MNEMONIC_VPHADDUBW, + ZYDIS_MNEMONIC_VPHADDUDQ, + ZYDIS_MNEMONIC_VPHADDUWD, + ZYDIS_MNEMONIC_VPHADDUWQ, + ZYDIS_MNEMONIC_VPHADDW, + ZYDIS_MNEMONIC_VPHADDWD, + ZYDIS_MNEMONIC_VPHADDWQ, + ZYDIS_MNEMONIC_VPHMINPOSUW, + ZYDIS_MNEMONIC_VPHSUBBW, + ZYDIS_MNEMONIC_VPHSUBD, + ZYDIS_MNEMONIC_VPHSUBDQ, + ZYDIS_MNEMONIC_VPHSUBSW, + ZYDIS_MNEMONIC_VPHSUBW, + ZYDIS_MNEMONIC_VPHSUBWD, + ZYDIS_MNEMONIC_VPINSRB, + ZYDIS_MNEMONIC_VPINSRD, + ZYDIS_MNEMONIC_VPINSRQ, + ZYDIS_MNEMONIC_VPINSRW, + ZYDIS_MNEMONIC_VPLZCNTD, + ZYDIS_MNEMONIC_VPLZCNTQ, + ZYDIS_MNEMONIC_VPMACSDD, + ZYDIS_MNEMONIC_VPMACSDQH, + ZYDIS_MNEMONIC_VPMACSDQL, + ZYDIS_MNEMONIC_VPMACSSDD, + ZYDIS_MNEMONIC_VPMACSSDQH, + ZYDIS_MNEMONIC_VPMACSSDQL, + ZYDIS_MNEMONIC_VPMACSSWD, + ZYDIS_MNEMONIC_VPMACSSWW, + ZYDIS_MNEMONIC_VPMACSWD, + ZYDIS_MNEMONIC_VPMACSWW, + ZYDIS_MNEMONIC_VPMADCSSWD, + ZYDIS_MNEMONIC_VPMADCSWD, + ZYDIS_MNEMONIC_VPMADD231D, + ZYDIS_MNEMONIC_VPMADD233D, + ZYDIS_MNEMONIC_VPMADD52HUQ, + ZYDIS_MNEMONIC_VPMADD52LUQ, + ZYDIS_MNEMONIC_VPMADDUBSW, + ZYDIS_MNEMONIC_VPMADDWD, + ZYDIS_MNEMONIC_VPMASKMOVD, + ZYDIS_MNEMONIC_VPMASKMOVQ, + ZYDIS_MNEMONIC_VPMAXSB, + ZYDIS_MNEMONIC_VPMAXSD, + ZYDIS_MNEMONIC_VPMAXSQ, + ZYDIS_MNEMONIC_VPMAXSW, + ZYDIS_MNEMONIC_VPMAXUB, + ZYDIS_MNEMONIC_VPMAXUD, + ZYDIS_MNEMONIC_VPMAXUQ, + ZYDIS_MNEMONIC_VPMAXUW, + ZYDIS_MNEMONIC_VPMINSB, + ZYDIS_MNEMONIC_VPMINSD, + ZYDIS_MNEMONIC_VPMINSQ, + ZYDIS_MNEMONIC_VPMINSW, + ZYDIS_MNEMONIC_VPMINUB, + ZYDIS_MNEMONIC_VPMINUD, + ZYDIS_MNEMONIC_VPMINUQ, + ZYDIS_MNEMONIC_VPMINUW, + ZYDIS_MNEMONIC_VPMOVB2M, + ZYDIS_MNEMONIC_VPMOVD2M, + ZYDIS_MNEMONIC_VPMOVDB, + ZYDIS_MNEMONIC_VPMOVDW, + ZYDIS_MNEMONIC_VPMOVM2B, + ZYDIS_MNEMONIC_VPMOVM2D, + ZYDIS_MNEMONIC_VPMOVM2Q, + ZYDIS_MNEMONIC_VPMOVM2W, + ZYDIS_MNEMONIC_VPMOVMSKB, + ZYDIS_MNEMONIC_VPMOVQ2M, + ZYDIS_MNEMONIC_VPMOVQB, + ZYDIS_MNEMONIC_VPMOVQD, + ZYDIS_MNEMONIC_VPMOVQW, + ZYDIS_MNEMONIC_VPMOVSDB, + ZYDIS_MNEMONIC_VPMOVSDW, + ZYDIS_MNEMONIC_VPMOVSQB, + ZYDIS_MNEMONIC_VPMOVSQD, + ZYDIS_MNEMONIC_VPMOVSQW, + ZYDIS_MNEMONIC_VPMOVSWB, + ZYDIS_MNEMONIC_VPMOVSXBD, + ZYDIS_MNEMONIC_VPMOVSXBQ, + ZYDIS_MNEMONIC_VPMOVSXBW, + ZYDIS_MNEMONIC_VPMOVSXDQ, + ZYDIS_MNEMONIC_VPMOVSXWD, + ZYDIS_MNEMONIC_VPMOVSXWQ, + ZYDIS_MNEMONIC_VPMOVUSDB, + ZYDIS_MNEMONIC_VPMOVUSDW, + ZYDIS_MNEMONIC_VPMOVUSQB, + ZYDIS_MNEMONIC_VPMOVUSQD, + ZYDIS_MNEMONIC_VPMOVUSQW, + ZYDIS_MNEMONIC_VPMOVUSWB, + ZYDIS_MNEMONIC_VPMOVW2M, + ZYDIS_MNEMONIC_VPMOVWB, + ZYDIS_MNEMONIC_VPMOVZXBD, + ZYDIS_MNEMONIC_VPMOVZXBQ, + ZYDIS_MNEMONIC_VPMOVZXBW, + ZYDIS_MNEMONIC_VPMOVZXDQ, + ZYDIS_MNEMONIC_VPMOVZXWD, + ZYDIS_MNEMONIC_VPMOVZXWQ, + ZYDIS_MNEMONIC_VPMULDQ, + ZYDIS_MNEMONIC_VPMULHD, + ZYDIS_MNEMONIC_VPMULHRSW, + ZYDIS_MNEMONIC_VPMULHUD, + ZYDIS_MNEMONIC_VPMULHUW, + ZYDIS_MNEMONIC_VPMULHW, + ZYDIS_MNEMONIC_VPMULLD, + ZYDIS_MNEMONIC_VPMULLQ, + ZYDIS_MNEMONIC_VPMULLW, + ZYDIS_MNEMONIC_VPMULTISHIFTQB, + ZYDIS_MNEMONIC_VPMULUDQ, + ZYDIS_MNEMONIC_VPOPCNTB, + ZYDIS_MNEMONIC_VPOPCNTD, + ZYDIS_MNEMONIC_VPOPCNTQ, + ZYDIS_MNEMONIC_VPOPCNTW, + ZYDIS_MNEMONIC_VPOR, + ZYDIS_MNEMONIC_VPORD, + ZYDIS_MNEMONIC_VPORQ, + ZYDIS_MNEMONIC_VPPERM, + ZYDIS_MNEMONIC_VPREFETCH0, + ZYDIS_MNEMONIC_VPREFETCH1, + ZYDIS_MNEMONIC_VPREFETCH2, + ZYDIS_MNEMONIC_VPREFETCHE0, + ZYDIS_MNEMONIC_VPREFETCHE1, + ZYDIS_MNEMONIC_VPREFETCHE2, + ZYDIS_MNEMONIC_VPREFETCHENTA, + ZYDIS_MNEMONIC_VPREFETCHNTA, + ZYDIS_MNEMONIC_VPROLD, + ZYDIS_MNEMONIC_VPROLQ, + ZYDIS_MNEMONIC_VPROLVD, + ZYDIS_MNEMONIC_VPROLVQ, + ZYDIS_MNEMONIC_VPRORD, + ZYDIS_MNEMONIC_VPRORQ, + ZYDIS_MNEMONIC_VPRORVD, + ZYDIS_MNEMONIC_VPRORVQ, + ZYDIS_MNEMONIC_VPROTB, + ZYDIS_MNEMONIC_VPROTD, + ZYDIS_MNEMONIC_VPROTQ, + ZYDIS_MNEMONIC_VPROTW, + ZYDIS_MNEMONIC_VPSADBW, + ZYDIS_MNEMONIC_VPSBBD, + ZYDIS_MNEMONIC_VPSBBRD, + ZYDIS_MNEMONIC_VPSCATTERDD, + ZYDIS_MNEMONIC_VPSCATTERDQ, + ZYDIS_MNEMONIC_VPSCATTERQD, + ZYDIS_MNEMONIC_VPSCATTERQQ, + ZYDIS_MNEMONIC_VPSHAB, + ZYDIS_MNEMONIC_VPSHAD, + ZYDIS_MNEMONIC_VPSHAQ, + ZYDIS_MNEMONIC_VPSHAW, + ZYDIS_MNEMONIC_VPSHLB, + ZYDIS_MNEMONIC_VPSHLD, + ZYDIS_MNEMONIC_VPSHLDD, + ZYDIS_MNEMONIC_VPSHLDQ, + ZYDIS_MNEMONIC_VPSHLDVD, + ZYDIS_MNEMONIC_VPSHLDVQ, + ZYDIS_MNEMONIC_VPSHLDVW, + ZYDIS_MNEMONIC_VPSHLDW, + ZYDIS_MNEMONIC_VPSHLQ, + ZYDIS_MNEMONIC_VPSHLW, + ZYDIS_MNEMONIC_VPSHRDD, + ZYDIS_MNEMONIC_VPSHRDQ, + ZYDIS_MNEMONIC_VPSHRDVD, + ZYDIS_MNEMONIC_VPSHRDVQ, + ZYDIS_MNEMONIC_VPSHRDVW, + ZYDIS_MNEMONIC_VPSHRDW, + ZYDIS_MNEMONIC_VPSHUFB, + ZYDIS_MNEMONIC_VPSHUFBITQMB, + ZYDIS_MNEMONIC_VPSHUFD, + ZYDIS_MNEMONIC_VPSHUFHW, + ZYDIS_MNEMONIC_VPSHUFLW, + ZYDIS_MNEMONIC_VPSIGNB, + ZYDIS_MNEMONIC_VPSIGND, + ZYDIS_MNEMONIC_VPSIGNW, + ZYDIS_MNEMONIC_VPSLLD, + ZYDIS_MNEMONIC_VPSLLDQ, + ZYDIS_MNEMONIC_VPSLLQ, + ZYDIS_MNEMONIC_VPSLLVD, + ZYDIS_MNEMONIC_VPSLLVQ, + ZYDIS_MNEMONIC_VPSLLVW, + ZYDIS_MNEMONIC_VPSLLW, + ZYDIS_MNEMONIC_VPSRAD, + ZYDIS_MNEMONIC_VPSRAQ, + ZYDIS_MNEMONIC_VPSRAVD, + ZYDIS_MNEMONIC_VPSRAVQ, + ZYDIS_MNEMONIC_VPSRAVW, + ZYDIS_MNEMONIC_VPSRAW, + ZYDIS_MNEMONIC_VPSRLD, + ZYDIS_MNEMONIC_VPSRLDQ, + ZYDIS_MNEMONIC_VPSRLQ, + ZYDIS_MNEMONIC_VPSRLVD, + ZYDIS_MNEMONIC_VPSRLVQ, + ZYDIS_MNEMONIC_VPSRLVW, + ZYDIS_MNEMONIC_VPSRLW, + ZYDIS_MNEMONIC_VPSUBB, + ZYDIS_MNEMONIC_VPSUBD, + ZYDIS_MNEMONIC_VPSUBQ, + ZYDIS_MNEMONIC_VPSUBRD, + ZYDIS_MNEMONIC_VPSUBRSETBD, + ZYDIS_MNEMONIC_VPSUBSB, + ZYDIS_MNEMONIC_VPSUBSETBD, + ZYDIS_MNEMONIC_VPSUBSW, + ZYDIS_MNEMONIC_VPSUBUSB, + ZYDIS_MNEMONIC_VPSUBUSW, + ZYDIS_MNEMONIC_VPSUBW, + ZYDIS_MNEMONIC_VPTERNLOGD, + ZYDIS_MNEMONIC_VPTERNLOGQ, + ZYDIS_MNEMONIC_VPTEST, + ZYDIS_MNEMONIC_VPTESTMB, + ZYDIS_MNEMONIC_VPTESTMD, + ZYDIS_MNEMONIC_VPTESTMQ, + ZYDIS_MNEMONIC_VPTESTMW, + ZYDIS_MNEMONIC_VPTESTNMB, + ZYDIS_MNEMONIC_VPTESTNMD, + ZYDIS_MNEMONIC_VPTESTNMQ, + ZYDIS_MNEMONIC_VPTESTNMW, + ZYDIS_MNEMONIC_VPUNPCKHBW, + ZYDIS_MNEMONIC_VPUNPCKHDQ, + ZYDIS_MNEMONIC_VPUNPCKHQDQ, + ZYDIS_MNEMONIC_VPUNPCKHWD, + ZYDIS_MNEMONIC_VPUNPCKLBW, + ZYDIS_MNEMONIC_VPUNPCKLDQ, + ZYDIS_MNEMONIC_VPUNPCKLQDQ, + ZYDIS_MNEMONIC_VPUNPCKLWD, + ZYDIS_MNEMONIC_VPXOR, + ZYDIS_MNEMONIC_VPXORD, + ZYDIS_MNEMONIC_VPXORQ, + ZYDIS_MNEMONIC_VRANGEPD, + ZYDIS_MNEMONIC_VRANGEPS, + ZYDIS_MNEMONIC_VRANGESD, + ZYDIS_MNEMONIC_VRANGESS, + ZYDIS_MNEMONIC_VRCP14PD, + ZYDIS_MNEMONIC_VRCP14PS, + ZYDIS_MNEMONIC_VRCP14SD, + ZYDIS_MNEMONIC_VRCP14SS, + ZYDIS_MNEMONIC_VRCP23PS, + ZYDIS_MNEMONIC_VRCP28PD, + ZYDIS_MNEMONIC_VRCP28PS, + ZYDIS_MNEMONIC_VRCP28SD, + ZYDIS_MNEMONIC_VRCP28SS, + ZYDIS_MNEMONIC_VRCPPS, + ZYDIS_MNEMONIC_VRCPSS, + ZYDIS_MNEMONIC_VREDUCEPD, + ZYDIS_MNEMONIC_VREDUCEPS, + ZYDIS_MNEMONIC_VREDUCESD, + ZYDIS_MNEMONIC_VREDUCESS, + ZYDIS_MNEMONIC_VRNDFXPNTPD, + ZYDIS_MNEMONIC_VRNDFXPNTPS, + ZYDIS_MNEMONIC_VRNDSCALEPD, + ZYDIS_MNEMONIC_VRNDSCALEPS, + ZYDIS_MNEMONIC_VRNDSCALESD, + ZYDIS_MNEMONIC_VRNDSCALESS, + ZYDIS_MNEMONIC_VROUNDPD, + ZYDIS_MNEMONIC_VROUNDPS, + ZYDIS_MNEMONIC_VROUNDSD, + ZYDIS_MNEMONIC_VROUNDSS, + ZYDIS_MNEMONIC_VRSQRT14PD, + ZYDIS_MNEMONIC_VRSQRT14PS, + ZYDIS_MNEMONIC_VRSQRT14SD, + ZYDIS_MNEMONIC_VRSQRT14SS, + ZYDIS_MNEMONIC_VRSQRT23PS, + ZYDIS_MNEMONIC_VRSQRT28PD, + ZYDIS_MNEMONIC_VRSQRT28PS, + ZYDIS_MNEMONIC_VRSQRT28SD, + ZYDIS_MNEMONIC_VRSQRT28SS, + ZYDIS_MNEMONIC_VRSQRTPS, + ZYDIS_MNEMONIC_VRSQRTSS, + ZYDIS_MNEMONIC_VSCALEFPD, + ZYDIS_MNEMONIC_VSCALEFPS, + ZYDIS_MNEMONIC_VSCALEFSD, + ZYDIS_MNEMONIC_VSCALEFSS, + ZYDIS_MNEMONIC_VSCALEPS, + ZYDIS_MNEMONIC_VSCATTERDPD, + ZYDIS_MNEMONIC_VSCATTERDPS, + ZYDIS_MNEMONIC_VSCATTERPF0DPD, + ZYDIS_MNEMONIC_VSCATTERPF0DPS, + ZYDIS_MNEMONIC_VSCATTERPF0HINTDPD, + ZYDIS_MNEMONIC_VSCATTERPF0HINTDPS, + ZYDIS_MNEMONIC_VSCATTERPF0QPD, + ZYDIS_MNEMONIC_VSCATTERPF0QPS, + ZYDIS_MNEMONIC_VSCATTERPF1DPD, + ZYDIS_MNEMONIC_VSCATTERPF1DPS, + ZYDIS_MNEMONIC_VSCATTERPF1QPD, + ZYDIS_MNEMONIC_VSCATTERPF1QPS, + ZYDIS_MNEMONIC_VSCATTERQPD, + ZYDIS_MNEMONIC_VSCATTERQPS, + ZYDIS_MNEMONIC_VSHUFF32X4, + ZYDIS_MNEMONIC_VSHUFF64X2, + ZYDIS_MNEMONIC_VSHUFI32X4, + ZYDIS_MNEMONIC_VSHUFI64X2, + ZYDIS_MNEMONIC_VSHUFPD, + ZYDIS_MNEMONIC_VSHUFPS, + ZYDIS_MNEMONIC_VSQRTPD, + ZYDIS_MNEMONIC_VSQRTPS, + ZYDIS_MNEMONIC_VSQRTSD, + ZYDIS_MNEMONIC_VSQRTSS, + ZYDIS_MNEMONIC_VSTMXCSR, + ZYDIS_MNEMONIC_VSUBPD, + ZYDIS_MNEMONIC_VSUBPS, + ZYDIS_MNEMONIC_VSUBRPD, + ZYDIS_MNEMONIC_VSUBRPS, + ZYDIS_MNEMONIC_VSUBSD, + ZYDIS_MNEMONIC_VSUBSS, + ZYDIS_MNEMONIC_VTESTPD, + ZYDIS_MNEMONIC_VTESTPS, + ZYDIS_MNEMONIC_VUCOMISD, + ZYDIS_MNEMONIC_VUCOMISS, + ZYDIS_MNEMONIC_VUNPCKHPD, + ZYDIS_MNEMONIC_VUNPCKHPS, + ZYDIS_MNEMONIC_VUNPCKLPD, + ZYDIS_MNEMONIC_VUNPCKLPS, + ZYDIS_MNEMONIC_VXORPD, + ZYDIS_MNEMONIC_VXORPS, + ZYDIS_MNEMONIC_VZEROALL, + ZYDIS_MNEMONIC_VZEROUPPER, + ZYDIS_MNEMONIC_WBINVD, + ZYDIS_MNEMONIC_WRFSBASE, + ZYDIS_MNEMONIC_WRGSBASE, + ZYDIS_MNEMONIC_WRMSR, + ZYDIS_MNEMONIC_WRPKRU, + ZYDIS_MNEMONIC_WRSSD, + ZYDIS_MNEMONIC_WRSSQ, + ZYDIS_MNEMONIC_WRUSSD, + ZYDIS_MNEMONIC_WRUSSQ, + ZYDIS_MNEMONIC_XABORT, + ZYDIS_MNEMONIC_XADD, + ZYDIS_MNEMONIC_XBEGIN, + ZYDIS_MNEMONIC_XCHG, + ZYDIS_MNEMONIC_XCRYPT_CBC, + ZYDIS_MNEMONIC_XCRYPT_CFB, + ZYDIS_MNEMONIC_XCRYPT_CTR, + ZYDIS_MNEMONIC_XCRYPT_ECB, + ZYDIS_MNEMONIC_XCRYPT_OFB, + ZYDIS_MNEMONIC_XEND, + ZYDIS_MNEMONIC_XGETBV, + ZYDIS_MNEMONIC_XLAT, + ZYDIS_MNEMONIC_XOR, + ZYDIS_MNEMONIC_XORPD, + ZYDIS_MNEMONIC_XORPS, + ZYDIS_MNEMONIC_XRESLDTRK, + ZYDIS_MNEMONIC_XRSTOR, + ZYDIS_MNEMONIC_XRSTOR64, + ZYDIS_MNEMONIC_XRSTORS, + ZYDIS_MNEMONIC_XRSTORS64, + ZYDIS_MNEMONIC_XSAVE, + ZYDIS_MNEMONIC_XSAVE64, + ZYDIS_MNEMONIC_XSAVEC, + ZYDIS_MNEMONIC_XSAVEC64, + ZYDIS_MNEMONIC_XSAVEOPT, + ZYDIS_MNEMONIC_XSAVEOPT64, + ZYDIS_MNEMONIC_XSAVES, + ZYDIS_MNEMONIC_XSAVES64, + ZYDIS_MNEMONIC_XSETBV, + ZYDIS_MNEMONIC_XSHA1, + ZYDIS_MNEMONIC_XSHA256, + ZYDIS_MNEMONIC_XSTORE, + ZYDIS_MNEMONIC_XSUSLDTRK, + ZYDIS_MNEMONIC_XTEST, + + /** + * Maximum value of this enum. + */ + ZYDIS_MNEMONIC_MAX_VALUE = ZYDIS_MNEMONIC_XTEST, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_MNEMONIC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MNEMONIC_MAX_VALUE) +} ZydisMnemonic; diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumRegister.h b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumRegister.h new file mode 100755 index 000000000..3135fe0f9 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Generated/EnumRegister.h @@ -0,0 +1,301 @@ +/** + * Defines the `ZydisRegister` enum. + */ +typedef enum ZydisRegister_ +{ + ZYDIS_REGISTER_NONE, + + // General purpose registers 8-bit + ZYDIS_REGISTER_AL, + ZYDIS_REGISTER_CL, + ZYDIS_REGISTER_DL, + ZYDIS_REGISTER_BL, + ZYDIS_REGISTER_AH, + ZYDIS_REGISTER_CH, + ZYDIS_REGISTER_DH, + ZYDIS_REGISTER_BH, + ZYDIS_REGISTER_SPL, + ZYDIS_REGISTER_BPL, + ZYDIS_REGISTER_SIL, + ZYDIS_REGISTER_DIL, + ZYDIS_REGISTER_R8B, + ZYDIS_REGISTER_R9B, + ZYDIS_REGISTER_R10B, + ZYDIS_REGISTER_R11B, + ZYDIS_REGISTER_R12B, + ZYDIS_REGISTER_R13B, + ZYDIS_REGISTER_R14B, + ZYDIS_REGISTER_R15B, + // General purpose registers 16-bit + ZYDIS_REGISTER_AX, + ZYDIS_REGISTER_CX, + ZYDIS_REGISTER_DX, + ZYDIS_REGISTER_BX, + ZYDIS_REGISTER_SP, + ZYDIS_REGISTER_BP, + ZYDIS_REGISTER_SI, + ZYDIS_REGISTER_DI, + ZYDIS_REGISTER_R8W, + ZYDIS_REGISTER_R9W, + ZYDIS_REGISTER_R10W, + ZYDIS_REGISTER_R11W, + ZYDIS_REGISTER_R12W, + ZYDIS_REGISTER_R13W, + ZYDIS_REGISTER_R14W, + ZYDIS_REGISTER_R15W, + // General purpose registers 32-bit + ZYDIS_REGISTER_EAX, + ZYDIS_REGISTER_ECX, + ZYDIS_REGISTER_EDX, + ZYDIS_REGISTER_EBX, + ZYDIS_REGISTER_ESP, + ZYDIS_REGISTER_EBP, + ZYDIS_REGISTER_ESI, + ZYDIS_REGISTER_EDI, + ZYDIS_REGISTER_R8D, + ZYDIS_REGISTER_R9D, + ZYDIS_REGISTER_R10D, + ZYDIS_REGISTER_R11D, + ZYDIS_REGISTER_R12D, + ZYDIS_REGISTER_R13D, + ZYDIS_REGISTER_R14D, + ZYDIS_REGISTER_R15D, + // General purpose registers 64-bit + ZYDIS_REGISTER_RAX, + ZYDIS_REGISTER_RCX, + ZYDIS_REGISTER_RDX, + ZYDIS_REGISTER_RBX, + ZYDIS_REGISTER_RSP, + ZYDIS_REGISTER_RBP, + ZYDIS_REGISTER_RSI, + ZYDIS_REGISTER_RDI, + ZYDIS_REGISTER_R8, + ZYDIS_REGISTER_R9, + ZYDIS_REGISTER_R10, + ZYDIS_REGISTER_R11, + ZYDIS_REGISTER_R12, + ZYDIS_REGISTER_R13, + ZYDIS_REGISTER_R14, + ZYDIS_REGISTER_R15, + // Floating point legacy registers + ZYDIS_REGISTER_ST0, + ZYDIS_REGISTER_ST1, + ZYDIS_REGISTER_ST2, + ZYDIS_REGISTER_ST3, + ZYDIS_REGISTER_ST4, + ZYDIS_REGISTER_ST5, + ZYDIS_REGISTER_ST6, + ZYDIS_REGISTER_ST7, + ZYDIS_REGISTER_X87CONTROL, + ZYDIS_REGISTER_X87STATUS, + ZYDIS_REGISTER_X87TAG, + // Floating point multimedia registers + ZYDIS_REGISTER_MM0, + ZYDIS_REGISTER_MM1, + ZYDIS_REGISTER_MM2, + ZYDIS_REGISTER_MM3, + ZYDIS_REGISTER_MM4, + ZYDIS_REGISTER_MM5, + ZYDIS_REGISTER_MM6, + ZYDIS_REGISTER_MM7, + // Floating point vector registers 128-bit + ZYDIS_REGISTER_XMM0, + ZYDIS_REGISTER_XMM1, + ZYDIS_REGISTER_XMM2, + ZYDIS_REGISTER_XMM3, + ZYDIS_REGISTER_XMM4, + ZYDIS_REGISTER_XMM5, + ZYDIS_REGISTER_XMM6, + ZYDIS_REGISTER_XMM7, + ZYDIS_REGISTER_XMM8, + ZYDIS_REGISTER_XMM9, + ZYDIS_REGISTER_XMM10, + ZYDIS_REGISTER_XMM11, + ZYDIS_REGISTER_XMM12, + ZYDIS_REGISTER_XMM13, + ZYDIS_REGISTER_XMM14, + ZYDIS_REGISTER_XMM15, + ZYDIS_REGISTER_XMM16, + ZYDIS_REGISTER_XMM17, + ZYDIS_REGISTER_XMM18, + ZYDIS_REGISTER_XMM19, + ZYDIS_REGISTER_XMM20, + ZYDIS_REGISTER_XMM21, + ZYDIS_REGISTER_XMM22, + ZYDIS_REGISTER_XMM23, + ZYDIS_REGISTER_XMM24, + ZYDIS_REGISTER_XMM25, + ZYDIS_REGISTER_XMM26, + ZYDIS_REGISTER_XMM27, + ZYDIS_REGISTER_XMM28, + ZYDIS_REGISTER_XMM29, + ZYDIS_REGISTER_XMM30, + ZYDIS_REGISTER_XMM31, + // Floating point vector registers 256-bit + ZYDIS_REGISTER_YMM0, + ZYDIS_REGISTER_YMM1, + ZYDIS_REGISTER_YMM2, + ZYDIS_REGISTER_YMM3, + ZYDIS_REGISTER_YMM4, + ZYDIS_REGISTER_YMM5, + ZYDIS_REGISTER_YMM6, + ZYDIS_REGISTER_YMM7, + ZYDIS_REGISTER_YMM8, + ZYDIS_REGISTER_YMM9, + ZYDIS_REGISTER_YMM10, + ZYDIS_REGISTER_YMM11, + ZYDIS_REGISTER_YMM12, + ZYDIS_REGISTER_YMM13, + ZYDIS_REGISTER_YMM14, + ZYDIS_REGISTER_YMM15, + ZYDIS_REGISTER_YMM16, + ZYDIS_REGISTER_YMM17, + ZYDIS_REGISTER_YMM18, + ZYDIS_REGISTER_YMM19, + ZYDIS_REGISTER_YMM20, + ZYDIS_REGISTER_YMM21, + ZYDIS_REGISTER_YMM22, + ZYDIS_REGISTER_YMM23, + ZYDIS_REGISTER_YMM24, + ZYDIS_REGISTER_YMM25, + ZYDIS_REGISTER_YMM26, + ZYDIS_REGISTER_YMM27, + ZYDIS_REGISTER_YMM28, + ZYDIS_REGISTER_YMM29, + ZYDIS_REGISTER_YMM30, + ZYDIS_REGISTER_YMM31, + // Floating point vector registers 512-bit + ZYDIS_REGISTER_ZMM0, + ZYDIS_REGISTER_ZMM1, + ZYDIS_REGISTER_ZMM2, + ZYDIS_REGISTER_ZMM3, + ZYDIS_REGISTER_ZMM4, + ZYDIS_REGISTER_ZMM5, + ZYDIS_REGISTER_ZMM6, + ZYDIS_REGISTER_ZMM7, + ZYDIS_REGISTER_ZMM8, + ZYDIS_REGISTER_ZMM9, + ZYDIS_REGISTER_ZMM10, + ZYDIS_REGISTER_ZMM11, + ZYDIS_REGISTER_ZMM12, + ZYDIS_REGISTER_ZMM13, + ZYDIS_REGISTER_ZMM14, + ZYDIS_REGISTER_ZMM15, + ZYDIS_REGISTER_ZMM16, + ZYDIS_REGISTER_ZMM17, + ZYDIS_REGISTER_ZMM18, + ZYDIS_REGISTER_ZMM19, + ZYDIS_REGISTER_ZMM20, + ZYDIS_REGISTER_ZMM21, + ZYDIS_REGISTER_ZMM22, + ZYDIS_REGISTER_ZMM23, + ZYDIS_REGISTER_ZMM24, + ZYDIS_REGISTER_ZMM25, + ZYDIS_REGISTER_ZMM26, + ZYDIS_REGISTER_ZMM27, + ZYDIS_REGISTER_ZMM28, + ZYDIS_REGISTER_ZMM29, + ZYDIS_REGISTER_ZMM30, + ZYDIS_REGISTER_ZMM31, + // Matrix registers + ZYDIS_REGISTER_TMM0, + ZYDIS_REGISTER_TMM1, + ZYDIS_REGISTER_TMM2, + ZYDIS_REGISTER_TMM3, + ZYDIS_REGISTER_TMM4, + ZYDIS_REGISTER_TMM5, + ZYDIS_REGISTER_TMM6, + ZYDIS_REGISTER_TMM7, + // Flags registers + ZYDIS_REGISTER_FLAGS, + ZYDIS_REGISTER_EFLAGS, + ZYDIS_REGISTER_RFLAGS, + // Instruction-pointer registers + ZYDIS_REGISTER_IP, + ZYDIS_REGISTER_EIP, + ZYDIS_REGISTER_RIP, + // Segment registers + ZYDIS_REGISTER_ES, + ZYDIS_REGISTER_CS, + ZYDIS_REGISTER_SS, + ZYDIS_REGISTER_DS, + ZYDIS_REGISTER_FS, + ZYDIS_REGISTER_GS, + // Table registers + ZYDIS_REGISTER_GDTR, + ZYDIS_REGISTER_LDTR, + ZYDIS_REGISTER_IDTR, + ZYDIS_REGISTER_TR, + // Test registers + ZYDIS_REGISTER_TR0, + ZYDIS_REGISTER_TR1, + ZYDIS_REGISTER_TR2, + ZYDIS_REGISTER_TR3, + ZYDIS_REGISTER_TR4, + ZYDIS_REGISTER_TR5, + ZYDIS_REGISTER_TR6, + ZYDIS_REGISTER_TR7, + // Control registers + ZYDIS_REGISTER_CR0, + ZYDIS_REGISTER_CR1, + ZYDIS_REGISTER_CR2, + ZYDIS_REGISTER_CR3, + ZYDIS_REGISTER_CR4, + ZYDIS_REGISTER_CR5, + ZYDIS_REGISTER_CR6, + ZYDIS_REGISTER_CR7, + ZYDIS_REGISTER_CR8, + ZYDIS_REGISTER_CR9, + ZYDIS_REGISTER_CR10, + ZYDIS_REGISTER_CR11, + ZYDIS_REGISTER_CR12, + ZYDIS_REGISTER_CR13, + ZYDIS_REGISTER_CR14, + ZYDIS_REGISTER_CR15, + // Debug registers + ZYDIS_REGISTER_DR0, + ZYDIS_REGISTER_DR1, + ZYDIS_REGISTER_DR2, + ZYDIS_REGISTER_DR3, + ZYDIS_REGISTER_DR4, + ZYDIS_REGISTER_DR5, + ZYDIS_REGISTER_DR6, + ZYDIS_REGISTER_DR7, + ZYDIS_REGISTER_DR8, + ZYDIS_REGISTER_DR9, + ZYDIS_REGISTER_DR10, + ZYDIS_REGISTER_DR11, + ZYDIS_REGISTER_DR12, + ZYDIS_REGISTER_DR13, + ZYDIS_REGISTER_DR14, + ZYDIS_REGISTER_DR15, + // Mask registers + ZYDIS_REGISTER_K0, + ZYDIS_REGISTER_K1, + ZYDIS_REGISTER_K2, + ZYDIS_REGISTER_K3, + ZYDIS_REGISTER_K4, + ZYDIS_REGISTER_K5, + ZYDIS_REGISTER_K6, + ZYDIS_REGISTER_K7, + // Bound registers + ZYDIS_REGISTER_BND0, + ZYDIS_REGISTER_BND1, + ZYDIS_REGISTER_BND2, + ZYDIS_REGISTER_BND3, + ZYDIS_REGISTER_BNDCFG, + ZYDIS_REGISTER_BNDSTATUS, + // Uncategorized + ZYDIS_REGISTER_MXCSR, + ZYDIS_REGISTER_PKRU, + ZYDIS_REGISTER_XCR0, + + /** + * Maximum value of this enum. + */ + ZYDIS_REGISTER_MAX_VALUE = ZYDIS_REGISTER_XCR0, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_REGISTER_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGISTER_MAX_VALUE) +} ZydisRegister; diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Internal/DecoderData.h b/externals/dynarmic/externals/zydis/include/Zydis/Internal/DecoderData.h new file mode 100755 index 000000000..db6cf53a7 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Internal/DecoderData.h @@ -0,0 +1,331 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#ifndef ZYDIS_INTERNAL_DECODERDATA_H +#define ZYDIS_INTERNAL_DECODERDATA_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +// MSVC does not like types other than (un-)signed int for bit-fields +#ifdef ZYAN_MSVC +# pragma warning(push) +# pragma warning(disable:4214) +#endif + +#pragma pack(push, 1) + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoder tree */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisDecoderTreeNodeType` data-type. + */ +typedef ZyanU8 ZydisDecoderTreeNodeType; + +/** + * Values that represent zydis decoder tree node types. + */ +enum ZydisDecoderTreeNodeTypes +{ + ZYDIS_NODETYPE_INVALID = 0x00, + /** + * Reference to an instruction-definition. + */ + ZYDIS_NODETYPE_DEFINITION_MASK = 0x80, + /** + * Reference to an XOP-map filter. + */ + ZYDIS_NODETYPE_FILTER_XOP = 0x01, + /** + * Reference to an VEX-map filter. + */ + ZYDIS_NODETYPE_FILTER_VEX = 0x02, + /** + * Reference to an EVEX/MVEX-map filter. + */ + ZYDIS_NODETYPE_FILTER_EMVEX = 0x03, + /** + * Reference to an opcode filter. + */ + ZYDIS_NODETYPE_FILTER_OPCODE = 0x04, + /** + * Reference to an instruction-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE = 0x05, + /** + * Reference to an compacted instruction-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_COMPACT = 0x06, + /** + * Reference to a ModRM.mod filter. + */ + ZYDIS_NODETYPE_FILTER_MODRM_MOD = 0x07, + /** + * Reference to a compacted ModRM.mod filter. + */ + ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT = 0x08, + /** + * Reference to a ModRM.reg filter. + */ + ZYDIS_NODETYPE_FILTER_MODRM_REG = 0x09, + /** + * Reference to a ModRM.rm filter. + */ + ZYDIS_NODETYPE_FILTER_MODRM_RM = 0x0A, + /** + * Reference to a PrefixGroup1 filter. + */ + ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1 = 0x0B, + /** + * Reference to a mandatory-prefix filter. + */ + ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX = 0x0C, + /** + * Reference to an operand-size filter. + */ + ZYDIS_NODETYPE_FILTER_OPERAND_SIZE = 0x0D, + /** + * Reference to an address-size filter. + */ + ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE = 0x0E, + /** + * Reference to a vector-length filter. + */ + ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH = 0x0F, + /** + * Reference to an REX/VEX/EVEX.W filter. + */ + ZYDIS_NODETYPE_FILTER_REX_W = 0x10, + /** + * Reference to an REX/VEX/EVEX.B filter. + */ + ZYDIS_NODETYPE_FILTER_REX_B = 0x11, + /** + * Reference to an EVEX.b filter. + */ + ZYDIS_NODETYPE_FILTER_EVEX_B = 0x12, + /** + * Reference to an MVEX.E filter. + */ + ZYDIS_NODETYPE_FILTER_MVEX_E = 0x13, + /** + * Reference to a AMD-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_AMD = 0x14, + /** + * Reference to a KNC-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_KNC = 0x15, + /** + * Reference to a MPX-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_MPX = 0x16, + /** + * Reference to a CET-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_CET = 0x17, + /** + * Reference to a LZCNT-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_LZCNT = 0x18, + /** + * Reference to a TZCNT-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_TZCNT = 0x19, + /** + * Reference to a WBNOINVD-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_WBNOINVD = 0x1A, + /** + * Reference to a CLDEMOTE-mode filter. + */ + ZYDIS_NODETYPE_FILTER_MODE_CLDEMOTE = 0x1B +}; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisDecoderTreeNodeValue` data-type. + */ +typedef ZyanU16 ZydisDecoderTreeNodeValue; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisDecoderTreeNode` struct. + */ +typedef struct ZydisDecoderTreeNode_ +{ + ZydisDecoderTreeNodeType type; + ZydisDecoderTreeNodeValue value; +} ZydisDecoderTreeNode; + +/* ---------------------------------------------------------------------------------------------- */ + +#pragma pack(pop) + +#ifdef ZYAN_MSVC +# pragma warning(pop) +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Physical instruction encoding info */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisInstructionEncodingFlags` data-type. + */ +typedef ZyanU8 ZydisInstructionEncodingFlags; + +/** + * The instruction has an optional modrm byte. + */ +#define ZYDIS_INSTR_ENC_FLAG_HAS_MODRM 0x01 + +/** + * The instruction has an optional displacement value. + */ +#define ZYDIS_INSTR_ENC_FLAG_HAS_DISP 0x02 + +/** + * The instruction has an optional immediate value. + */ +#define ZYDIS_INSTR_ENC_FLAG_HAS_IMM0 0x04 + +/** + * The instruction has a second optional immediate value. + */ +#define ZYDIS_INSTR_ENC_FLAG_HAS_IMM1 0x08 + +/** + * The instruction ignores the value of `modrm.mod` and always assumes `modrm.mod == 3` + * ("reg, reg" - form). + * + * Instructions with this flag can't have a SIB byte or a displacement value. + */ +#define ZYDIS_INSTR_ENC_FLAG_FORCE_REG_FORM 0x10 + +/** + * Defines the `ZydisInstructionEncodingInfo` struct. + */ +typedef struct ZydisInstructionEncodingInfo_ +{ + /** + * Contains flags with information about the physical instruction-encoding. + */ + ZydisInstructionEncodingFlags flags; + /** + * Displacement info. + */ + struct + { + /** + * The size of the displacement value. + */ + ZyanU8 size[3]; + } disp; + /** + * Immediate info. + */ + struct + { + /** + * The size of the immediate value. + */ + ZyanU8 size[3]; + /** + * Signals, if the value is signed. + */ + ZyanBool is_signed; + /** + * Signals, if the value is a relative offset. + */ + ZyanBool is_relative; + } imm[2]; +} ZydisInstructionEncodingInfo; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoder tree */ +/* ---------------------------------------------------------------------------------------------- */ + +extern const ZydisDecoderTreeNode zydis_decoder_tree_root; + +/** + * Returns the root node of the instruction tree. + * + * @return The root node of the instruction tree. + */ +ZYAN_INLINE const ZydisDecoderTreeNode* ZydisDecoderTreeGetRootNode(void) +{ + return &zydis_decoder_tree_root; +} + +/** + * Returns the child node of `parent` specified by `index`. + * + * @param parent The parent node. + * @param index The index of the child node to retrieve. + * + * @return The specified child node. + */ +ZYDIS_NO_EXPORT const ZydisDecoderTreeNode* ZydisDecoderTreeGetChildNode( + const ZydisDecoderTreeNode* parent, ZyanU16 index); + +/** + * Returns information about optional instruction parts (like modrm, displacement or + * immediates) for the instruction that is linked to the given `node`. + * + * @param node The instruction definition node. + * @param info A pointer to the `ZydisInstructionParts` struct. + */ +ZYDIS_NO_EXPORT void ZydisGetInstructionEncodingInfo(const ZydisDecoderTreeNode* node, + const ZydisInstructionEncodingInfo** info); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_INTERNAL_DECODERDATA_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterATT.h b/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterATT.h new file mode 100755 index 000000000..08b7134fe --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterATT.h @@ -0,0 +1,178 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Implements the `AT&T` style instruction-formatter. + */ + +#ifndef ZYDIS_FORMATTER_ATT_H +#define ZYDIS_FORMATTER_ATT_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Formatter functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterATTFormatInstruction(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +/* ---------------------------------------------------------------------------------------------- */ +/* Operands */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterATTFormatOperandMEM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +/* ---------------------------------------------------------------------------------------------- */ +/* Elemental tokens */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterATTPrintMnemonic(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterATTPrintRegister(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg); + +ZyanStatus ZydisFormatterATTPrintDISP(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterATTPrintIMM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Fomatter presets */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* AT&T */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * The default formatter configuration for `AT&T` style disassembly. + */ +static const ZydisFormatter FORMATTER_ATT = +{ + /* style */ ZYDIS_FORMATTER_STYLE_ATT, + /* force_memory_size */ ZYAN_FALSE, + /* force_memory_seg */ ZYAN_FALSE, + /* force_relative_branches */ ZYAN_FALSE, + /* force_relative_riprel */ ZYAN_FALSE, + /* print_branch_size */ ZYAN_FALSE, + /* detailed_prefixes */ ZYAN_FALSE, + /* addr_base */ ZYDIS_NUMERIC_BASE_HEX, + /* addr_signedness */ ZYDIS_SIGNEDNESS_SIGNED, + /* addr_padding_absolute */ ZYDIS_PADDING_AUTO, + /* addr_padding_relative */ 2, + /* disp_base */ ZYDIS_NUMERIC_BASE_HEX, + /* disp_signedness */ ZYDIS_SIGNEDNESS_SIGNED, + /* disp_padding */ 2, + /* imm_base */ ZYDIS_NUMERIC_BASE_HEX, + /* imm_signedness */ ZYDIS_SIGNEDNESS_AUTO, + /* imm_padding */ 2, + /* case_prefixes */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_mnemonic */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_registers */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_typecasts */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_decorators */ ZYDIS_LETTER_CASE_DEFAULT, + /* hex_uppercase */ ZYAN_TRUE, + /* number_format */ + { + // ZYDIS_NUMERIC_BASE_DEC + { + // Prefix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + }, + // Suffix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + } + }, + // ZYDIS_NUMERIC_BASE_HEX + { + // Prefix + { + /* string */ &FORMATTER_ATT.number_format[ + ZYDIS_NUMERIC_BASE_HEX][0].string_data, + /* string_data */ ZYAN_DEFINE_STRING_VIEW("0x"), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + }, + // Suffix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + } + } + }, + /* func_pre_instruction */ ZYAN_NULL, + /* func_post_instruction */ ZYAN_NULL, + /* func_format_instruction */ &ZydisFormatterATTFormatInstruction, + /* func_pre_operand */ ZYAN_NULL, + /* func_post_operand */ ZYAN_NULL, + /* func_format_operand_reg */ &ZydisFormatterBaseFormatOperandREG, + /* func_format_operand_mem */ &ZydisFormatterATTFormatOperandMEM, + /* func_format_operand_ptr */ &ZydisFormatterBaseFormatOperandPTR, + /* func_format_operand_imm */ &ZydisFormatterBaseFormatOperandIMM, + /* func_print_mnemonic */ &ZydisFormatterATTPrintMnemonic, + /* func_print_register */ &ZydisFormatterATTPrintRegister, + /* func_print_address_abs */ &ZydisFormatterBasePrintAddressABS, + /* func_print_address_rel */ &ZydisFormatterBasePrintAddressREL, + /* func_print_disp */ &ZydisFormatterATTPrintDISP, + /* func_print_imm */ &ZydisFormatterATTPrintIMM, + /* func_print_typecast */ ZYAN_NULL, + /* func_print_segment */ &ZydisFormatterBasePrintSegment, + /* func_print_prefixes */ &ZydisFormatterBasePrintPrefixes, + /* func_print_decorator */ &ZydisFormatterBasePrintDecorator +}; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif // ZYDIS_FORMATTER_ATT_H diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterBase.h b/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterBase.h new file mode 100755 index 000000000..0a6174717 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterBase.h @@ -0,0 +1,318 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Provides formatter functions that are shared between the different formatters. + */ + +#ifndef ZYDIS_FORMATTER_BASE_H +#define ZYDIS_FORMATTER_BASE_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* String */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Appends an unsigned numeric value to the given string. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param base The numeric base. + * @param str The destination string. + * @param value The value. + * @param padding_length The padding length. + */ +#define ZYDIS_STRING_APPEND_NUM_U(formatter, base, str, value, padding_length) \ + switch (base) \ + { \ + case ZYDIS_NUMERIC_BASE_DEC: \ + ZYAN_CHECK(ZydisStringAppendDecU(str, value, padding_length, \ + (formatter)->number_format[base][0].string, \ + (formatter)->number_format[base][1].string)); \ + break; \ + case ZYDIS_NUMERIC_BASE_HEX: \ + ZYAN_CHECK(ZydisStringAppendHexU(str, value, padding_length, \ + (formatter)->hex_uppercase, \ + (formatter)->number_format[base][0].string, \ + (formatter)->number_format[base][1].string)); \ + break; \ + default: \ + return ZYAN_STATUS_INVALID_ARGUMENT; \ + } + +/** + * Appends a signed numeric value to the given string. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param base The numeric base. + * @param str The destination string. + * @param value The value. + * @param padding_length The padding length. + * @param force_sign Forces printing of the '+' sign for positive numbers. + */ +#define ZYDIS_STRING_APPEND_NUM_S(formatter, base, str, value, padding_length, force_sign) \ + switch (base) \ + { \ + case ZYDIS_NUMERIC_BASE_DEC: \ + ZYAN_CHECK(ZydisStringAppendDecS(str, value, padding_length, force_sign, \ + (formatter)->number_format[base][0].string, \ + (formatter)->number_format[base][1].string)); \ + break; \ + case ZYDIS_NUMERIC_BASE_HEX: \ + ZYAN_CHECK(ZydisStringAppendHexS(str, value, padding_length, \ + (formatter)->hex_uppercase, force_sign, \ + (formatter)->number_format[base][0].string, \ + (formatter)->number_format[base][1].string)); \ + break; \ + default: \ + return ZYAN_STATUS_INVALID_ARGUMENT; \ + } + +/* ---------------------------------------------------------------------------------------------- */ +/* Buffer */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Invokes the `ZydisFormatterBufferAppend` routine, if tokenization is enabled for the + * current pass. + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param type The token type. + * + * Using this macro instead of direct calls to `ZydisFormatterBufferAppend` greatly improves the + * performance for non-tokenizing passes. + */ +#define ZYDIS_BUFFER_APPEND_TOKEN(buffer, type) \ + if ((buffer)->is_token_list) \ + { \ + ZYAN_CHECK(ZydisFormatterBufferAppend(buffer, type)); \ + } + +/** + * Returns a snapshot of the buffer-state. + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param state Receives a snapshot of the buffer-state. + * + * Using this macro instead of direct calls to `ZydisFormatterBufferRemember` improves the + * performance for non-tokenizing passes. + */ +#define ZYDIS_BUFFER_REMEMBER(buffer, state) \ + if ((buffer)->is_token_list) \ + { \ + (state) = (ZyanUPointer)(buffer)->string.vector.data; \ + } else \ + { \ + (state) = (ZyanUPointer)(buffer)->string.vector.size; \ + } + +/** + * Appends a string (`STR_`-prefix) or a predefined token-list (`TOK_`-prefix). + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param name The base name (without prefix) of the string- or token. + */ +#define ZYDIS_BUFFER_APPEND(buffer, name) \ + if ((buffer)->is_token_list) \ + { \ + ZYAN_CHECK(ZydisFormatterBufferAppendPredefined(buffer, TOK_ ## name)); \ + } else \ + { \ + ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_ ## name)); \ + } + +// TODO: Implement `letter_case` for predefined tokens + +/** + * Appends a string (`STR_`-prefix) or a predefined token-list (`TOK_`-prefix). + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param name The base name (without prefix) of the string- or token. + * @param letter-case The desired letter-case. + */ +#define ZYDIS_BUFFER_APPEND_CASE(buffer, name, letter_case) \ + if ((buffer)->is_token_list) \ + { \ + ZYAN_CHECK(ZydisFormatterBufferAppendPredefined(buffer, TOK_ ## name)); \ + } else \ + { \ + ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, &STR_ ## name, letter_case)); \ + } + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Buffer */ +/* ---------------------------------------------------------------------------------------------- */ + +// MSVC does not like the C99 flexible-array extension +#ifdef ZYAN_MSVC +# pragma warning(push) +# pragma warning(disable:4200) +#endif + +#pragma pack(push, 1) + +typedef struct ZydisPredefinedToken_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[]; +} ZydisPredefinedToken; + +#pragma pack(pop) + +#ifdef ZYAN_MSVC +# pragma warning(pop) +#endif + +/** + * Appends a predefined token-list to the `buffer`. + * + * @param buffer A pointer to the `ZydisFormatterBuffer` struct. + * @param data A pointer to the `ZydisPredefinedToken` struct. + * + * @return A zycore status code. + * + * This function is internally used to improve performance while adding static strings or multiple + * tokens at once. + */ +ZYAN_INLINE ZyanStatus ZydisFormatterBufferAppendPredefined(ZydisFormatterBuffer* buffer, + const ZydisPredefinedToken* data) +{ + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(data); + + const ZyanUSize len = buffer->string.vector.size; + ZYAN_ASSERT((len > 0) && (len < 256)); + if (buffer->capacity <= len + data->size) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZydisFormatterToken* const last = (ZydisFormatterToken*)buffer->string.vector.data - 1; + last->next = (ZyanU8)len; + + ZYAN_MEMCPY((ZyanU8*)buffer->string.vector.data + len, &data->data[0], data->size); + + const ZyanUSize delta = len + data->next; + buffer->capacity -= delta; + buffer->string.vector.data = (ZyanU8*)buffer->string.vector.data + delta; + buffer->string.vector.size = data->size - data->next; + buffer->string.vector.capacity = ZYAN_MIN(buffer->capacity, 255); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the size to be used as explicit size suffix (`AT&T`) or explicit typecast + * (`INTEL`), if required. + * + * @param formatter A pointer to the `ZydisFormatter` instance. + * @param context A pointer to the `ZydisFormatterContext` struct. + * @param memop_id The operand-id of the instructions first memory operand. + * + * @return Returns the explicit size, if required, or `0`, if not needed. + * + * This function always returns a size different to `0`, if the `ZYDIS_FORMATTER_PROP_FORCE_SIZE` + * is set to `ZYAN_TRUE`. + */ +ZyanU32 ZydisFormatterHelperGetExplicitSize(const ZydisFormatter* formatter, + ZydisFormatterContext* context, ZyanU8 memop_id); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Formatter functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Operands */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterBaseFormatOperandREG(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterBaseFormatOperandPTR(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterBaseFormatOperandIMM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +/* ---------------------------------------------------------------------------------------------- */ +/* Elemental tokens */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterBasePrintAddressABS(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterBasePrintAddressREL(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterBasePrintIMM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +/* ---------------------------------------------------------------------------------------------- */ +/* Optional tokens */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterBasePrintSegment(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterBasePrintPrefixes(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterBasePrintDecorator(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisDecorator decorator); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif // ZYDIS_FORMATTER_BASE_H diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterIntel.h b/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterIntel.h new file mode 100755 index 000000000..cd12d38af --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Internal/FormatterIntel.h @@ -0,0 +1,267 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Implements the `INTEL` style instruction-formatter. + */ + +#ifndef ZYDIS_FORMATTER_INTEL_H +#define ZYDIS_FORMATTER_INTEL_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Formatter functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Intel */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterIntelFormatInstruction(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterIntelFormatOperandMEM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterIntelPrintMnemonic(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterIntelPrintRegister(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg); + +ZyanStatus ZydisFormatterIntelPrintDISP(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterIntelPrintTypecast(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +/* ---------------------------------------------------------------------------------------------- */ +/* MASM */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterIntelFormatInstructionMASM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +ZyanStatus ZydisFormatterIntelPrintAddressMASM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Fomatter presets */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* INTEL */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * The default formatter configuration for `INTEL` style disassembly. + */ +static const ZydisFormatter FORMATTER_INTEL = +{ + /* style */ ZYDIS_FORMATTER_STYLE_INTEL, + /* force_memory_size */ ZYAN_FALSE, + /* force_memory_seg */ ZYAN_FALSE, + /* force_relative_branches */ ZYAN_FALSE, + /* force_relative_riprel */ ZYAN_FALSE, + /* print_branch_size */ ZYAN_FALSE, + /* detailed_prefixes */ ZYAN_FALSE, + /* addr_base */ ZYDIS_NUMERIC_BASE_HEX, + /* addr_signedness */ ZYDIS_SIGNEDNESS_SIGNED, + /* addr_padding_absolute */ ZYDIS_PADDING_AUTO, + /* addr_padding_relative */ 2, + /* disp_base */ ZYDIS_NUMERIC_BASE_HEX, + /* disp_signedness */ ZYDIS_SIGNEDNESS_SIGNED, + /* disp_padding */ 2, + /* imm_base */ ZYDIS_NUMERIC_BASE_HEX, + /* imm_signedness */ ZYDIS_SIGNEDNESS_UNSIGNED, + /* imm_padding */ 2, + /* case_prefixes */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_mnemonic */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_registers */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_typecasts */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_decorators */ ZYDIS_LETTER_CASE_DEFAULT, + /* hex_uppercase */ ZYAN_TRUE, + /* number_format */ + { + // ZYDIS_NUMERIC_BASE_DEC + { + // Prefix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + }, + // Suffix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + } + }, + // ZYDIS_NUMERIC_BASE_HEX + { + // Prefix + { + /* string */ &FORMATTER_INTEL.number_format[ + ZYDIS_NUMERIC_BASE_HEX][0].string_data, + /* string_data */ ZYAN_DEFINE_STRING_VIEW("0x"), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + }, + // Suffix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + } + } + }, + /* func_pre_instruction */ ZYAN_NULL, + /* func_post_instruction */ ZYAN_NULL, + /* func_format_instruction */ &ZydisFormatterIntelFormatInstruction, + /* func_pre_operand */ ZYAN_NULL, + /* func_post_operand */ ZYAN_NULL, + /* func_format_operand_reg */ &ZydisFormatterBaseFormatOperandREG, + /* func_format_operand_mem */ &ZydisFormatterIntelFormatOperandMEM, + /* func_format_operand_ptr */ &ZydisFormatterBaseFormatOperandPTR, + /* func_format_operand_imm */ &ZydisFormatterBaseFormatOperandIMM, + /* func_print_mnemonic */ &ZydisFormatterIntelPrintMnemonic, + /* func_print_register */ &ZydisFormatterIntelPrintRegister, + /* func_print_address_abs */ &ZydisFormatterBasePrintAddressABS, + /* func_print_address_rel */ &ZydisFormatterBasePrintAddressREL, + /* func_print_disp */ &ZydisFormatterIntelPrintDISP, + /* func_print_imm */ &ZydisFormatterBasePrintIMM, + /* func_print_typecast */ &ZydisFormatterIntelPrintTypecast, + /* func_print_segment */ &ZydisFormatterBasePrintSegment, + /* func_print_prefixes */ &ZydisFormatterBasePrintPrefixes, + /* func_print_decorator */ &ZydisFormatterBasePrintDecorator +}; + +/* ---------------------------------------------------------------------------------------------- */ +/* MASM */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * The default formatter configuration for `MASM` style disassembly. + */ +static const ZydisFormatter FORMATTER_INTEL_MASM = +{ + /* style */ ZYDIS_FORMATTER_STYLE_INTEL_MASM, + /* force_memory_size */ ZYAN_TRUE, + /* force_memory_seg */ ZYAN_FALSE, + /* force_relative_branches */ ZYAN_FALSE, + /* force_relative_riprel */ ZYAN_FALSE, + /* print_branch_size */ ZYAN_FALSE, + /* detailed_prefixes */ ZYAN_FALSE, + /* addr_base */ ZYDIS_NUMERIC_BASE_HEX, + /* addr_signedness */ ZYDIS_SIGNEDNESS_SIGNED, + /* addr_padding_absolute */ ZYDIS_PADDING_DISABLED, + /* addr_padding_relative */ ZYDIS_PADDING_DISABLED, + /* disp_base */ ZYDIS_NUMERIC_BASE_HEX, + /* disp_signedness */ ZYDIS_SIGNEDNESS_SIGNED, + /* disp_padding */ ZYDIS_PADDING_DISABLED, + /* imm_base */ ZYDIS_NUMERIC_BASE_HEX, + /* imm_signedness */ ZYDIS_SIGNEDNESS_AUTO, + /* imm_padding */ ZYDIS_PADDING_DISABLED, + /* case_prefixes */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_mnemonic */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_registers */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_typecasts */ ZYDIS_LETTER_CASE_DEFAULT, + /* case_decorators */ ZYDIS_LETTER_CASE_DEFAULT, + /* hex_uppercase */ ZYAN_TRUE, + /* number_format */ + { + // ZYDIS_NUMERIC_BASE_DEC + { + // Prefix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + }, + // Suffix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + } + }, + // ZYDIS_NUMERIC_BASE_HEX + { + // Prefix + { + /* string */ ZYAN_NULL, + /* string_data */ ZYAN_DEFINE_STRING_VIEW(""), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + }, + // Suffix + { + /* string */ &FORMATTER_INTEL_MASM.number_format[ + ZYDIS_NUMERIC_BASE_HEX][1].string_data, + /* string_data */ ZYAN_DEFINE_STRING_VIEW("h"), + /* buffer */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, + } + } + }, + /* func_pre_instruction */ ZYAN_NULL, + /* func_post_instruction */ ZYAN_NULL, + /* func_format_instruction */ &ZydisFormatterIntelFormatInstructionMASM, + /* func_pre_operand */ ZYAN_NULL, + /* func_post_operand */ ZYAN_NULL, + /* func_format_operand_reg */ &ZydisFormatterBaseFormatOperandREG, + /* func_format_operand_mem */ &ZydisFormatterIntelFormatOperandMEM, + /* func_format_operand_ptr */ &ZydisFormatterBaseFormatOperandPTR, + /* func_format_operand_imm */ &ZydisFormatterBaseFormatOperandIMM, + /* func_print_mnemonic */ &ZydisFormatterIntelPrintMnemonic, + /* func_print_register */ &ZydisFormatterIntelPrintRegister, + /* func_print_address_abs */ &ZydisFormatterIntelPrintAddressMASM, + /* func_print_address_rel */ &ZydisFormatterIntelPrintAddressMASM, + /* func_print_disp */ &ZydisFormatterIntelPrintDISP, + /* func_print_imm */ &ZydisFormatterBasePrintIMM, + /* func_print_typecast */ &ZydisFormatterIntelPrintTypecast, + /* func_print_segment */ &ZydisFormatterBasePrintSegment, + /* func_print_prefixes */ &ZydisFormatterBasePrintPrefixes, + /* func_print_decorator */ &ZydisFormatterBasePrintDecorator +}; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif // ZYDIS_FORMATTER_INTEL_H diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Internal/SharedData.h b/externals/dynarmic/externals/zydis/include/Zydis/Internal/SharedData.h new file mode 100755 index 000000000..6f7cbaca5 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Internal/SharedData.h @@ -0,0 +1,975 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#ifndef ZYDIS_INTERNAL_SHAREDDATA_H +#define ZYDIS_INTERNAL_SHAREDDATA_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +// MSVC does not like types other than (un-)signed int for bit-fields +#ifdef ZYAN_MSVC +# pragma warning(push) +# pragma warning(disable:4214) +#endif + +#pragma pack(push, 1) + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand definition */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisSemanticOperandType` enum. + */ +typedef enum ZydisSemanticOperandType_ +{ + ZYDIS_SEMANTIC_OPTYPE_UNUSED, + ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, + ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, + ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, + ZYDIS_SEMANTIC_OPTYPE_GPR8, + ZYDIS_SEMANTIC_OPTYPE_GPR16, + ZYDIS_SEMANTIC_OPTYPE_GPR32, + ZYDIS_SEMANTIC_OPTYPE_GPR64, + ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, + ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, + ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, + ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, + ZYDIS_SEMANTIC_OPTYPE_FPR, + ZYDIS_SEMANTIC_OPTYPE_MMX, + ZYDIS_SEMANTIC_OPTYPE_XMM, + ZYDIS_SEMANTIC_OPTYPE_YMM, + ZYDIS_SEMANTIC_OPTYPE_ZMM, + ZYDIS_SEMANTIC_OPTYPE_TMM, + ZYDIS_SEMANTIC_OPTYPE_BND, + ZYDIS_SEMANTIC_OPTYPE_SREG, + ZYDIS_SEMANTIC_OPTYPE_CR, + ZYDIS_SEMANTIC_OPTYPE_DR, + ZYDIS_SEMANTIC_OPTYPE_MASK, + ZYDIS_SEMANTIC_OPTYPE_MEM, + ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, + ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, + ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, + ZYDIS_SEMANTIC_OPTYPE_IMM, + ZYDIS_SEMANTIC_OPTYPE_REL, + ZYDIS_SEMANTIC_OPTYPE_PTR, + ZYDIS_SEMANTIC_OPTYPE_AGEN, + ZYDIS_SEMANTIC_OPTYPE_MOFFS, + ZYDIS_SEMANTIC_OPTYPE_MIB, + + /** + * Maximum value of this enum. + */ + ZYDIS_SEMANTIC_OPTYPE_MAX_VALUE = ZYDIS_SEMANTIC_OPTYPE_MIB, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_SEMANTIC_OPTYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_SEMANTIC_OPTYPE_MAX_VALUE) +} ZydisSemanticOperandType; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisInternalElementType` enum. + */ +typedef enum ZydisInternalElementType_ +{ + ZYDIS_IELEMENT_TYPE_INVALID, + ZYDIS_IELEMENT_TYPE_VARIABLE, + ZYDIS_IELEMENT_TYPE_STRUCT, + ZYDIS_IELEMENT_TYPE_INT, + ZYDIS_IELEMENT_TYPE_UINT, + ZYDIS_IELEMENT_TYPE_INT1, + ZYDIS_IELEMENT_TYPE_INT8, + ZYDIS_IELEMENT_TYPE_INT16, + ZYDIS_IELEMENT_TYPE_INT32, + ZYDIS_IELEMENT_TYPE_INT64, + ZYDIS_IELEMENT_TYPE_UINT8, + ZYDIS_IELEMENT_TYPE_UINT16, + ZYDIS_IELEMENT_TYPE_UINT32, + ZYDIS_IELEMENT_TYPE_UINT64, + ZYDIS_IELEMENT_TYPE_UINT128, + ZYDIS_IELEMENT_TYPE_UINT256, + ZYDIS_IELEMENT_TYPE_FLOAT16, + ZYDIS_IELEMENT_TYPE_FLOAT32, + ZYDIS_IELEMENT_TYPE_FLOAT64, + ZYDIS_IELEMENT_TYPE_FLOAT80, + ZYDIS_IELEMENT_TYPE_BCD80, + ZYDIS_IELEMENT_TYPE_CC3, + ZYDIS_IELEMENT_TYPE_CC5, + + /** + * Maximum value of this enum. + */ + ZYDIS_IELEMENT_TYPE_MAX_VALUE = ZYDIS_IELEMENT_TYPE_CC5, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_IELEMENT_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IELEMENT_TYPE_MAX_VALUE) +} ZydisInternalElementType; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisImplicitRegisterType` enum. + */ +typedef enum ZydisImplicitRegisterType_ +{ + ZYDIS_IMPLREG_TYPE_STATIC, + ZYDIS_IMPLREG_TYPE_GPR_OSZ, + ZYDIS_IMPLREG_TYPE_GPR_ASZ, + ZYDIS_IMPLREG_TYPE_GPR_SSZ, + ZYDIS_IMPLREG_TYPE_IP_ASZ, + ZYDIS_IMPLREG_TYPE_IP_SSZ, + ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, + + /** + * Maximum value of this enum. + */ + ZYDIS_IMPLREG_TYPE_MAX_VALUE = ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_IMPLREG_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IMPLREG_TYPE_MAX_VALUE) +} ZydisImplicitRegisterType; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisImplicitMemBase` enum. + */ +typedef enum ZydisImplicitMemBase_ +{ + ZYDIS_IMPLMEM_BASE_AGPR_REG, + ZYDIS_IMPLMEM_BASE_AGPR_RM, + ZYDIS_IMPLMEM_BASE_AAX, + ZYDIS_IMPLMEM_BASE_ADX, + ZYDIS_IMPLMEM_BASE_ABX, + ZYDIS_IMPLMEM_BASE_ASP, + ZYDIS_IMPLMEM_BASE_ABP, + ZYDIS_IMPLMEM_BASE_ASI, + ZYDIS_IMPLMEM_BASE_ADI, + + /** + * Maximum value of this enum. + */ + ZYDIS_IMPLMEM_BASE_MAX_VALUE = ZYDIS_IMPLMEM_BASE_ADI, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_IMPLMEM_BASE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IMPLMEM_BASE_MAX_VALUE) +} ZydisImplicitMemBase; + +/* ---------------------------------------------------------------------------------------------- */ + +// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct +// enum types +ZYAN_STATIC_ASSERT(ZYDIS_SEMANTIC_OPTYPE_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_OPERAND_VISIBILITY_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_OPERAND_ACTION_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_IELEMENT_TYPE_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_OPERAND_ENCODING_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_IMPLREG_TYPE_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_REGISTER_REQUIRED_BITS <= 16); +ZYAN_STATIC_ASSERT(ZYDIS_IMPLMEM_BASE_REQUIRED_BITS <= 8); + +/** + * Defines the `ZydisOperandDefinition` struct. + */ +typedef struct ZydisOperandDefinition_ +{ + ZyanU8 type ZYAN_BITFIELD(ZYDIS_SEMANTIC_OPTYPE_REQUIRED_BITS); + ZyanU8 visibility ZYAN_BITFIELD(ZYDIS_OPERAND_VISIBILITY_REQUIRED_BITS); + ZyanU8 actions ZYAN_BITFIELD(ZYDIS_OPERAND_ACTION_REQUIRED_BITS); + ZyanU16 size[3]; + ZyanU8 element_type ZYAN_BITFIELD(ZYDIS_IELEMENT_TYPE_REQUIRED_BITS); + union + { + ZyanU8 encoding ZYAN_BITFIELD(ZYDIS_OPERAND_ENCODING_REQUIRED_BITS); + struct + { + ZyanU8 type ZYAN_BITFIELD(ZYDIS_IMPLREG_TYPE_REQUIRED_BITS); + union + { + ZyanU16 reg ZYAN_BITFIELD(ZYDIS_REGISTER_REQUIRED_BITS); + ZyanU8 id ZYAN_BITFIELD(6); + } reg; + } reg; + struct + { + ZyanU8 seg ZYAN_BITFIELD(3); + ZyanU8 base ZYAN_BITFIELD(ZYDIS_IMPLMEM_BASE_REQUIRED_BITS); + } mem; + } op; + ZyanBool is_multisource4 ZYAN_BITFIELD(1); +} ZydisOperandDefinition; + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction definition */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisReadWriteAction` enum. + */ +typedef enum ZydisReadWriteAction_ +{ + ZYDIS_RW_ACTION_NONE, + ZYDIS_RW_ACTION_READ, + ZYDIS_RW_ACTION_WRITE, + ZYDIS_RW_ACTION_READWRITE, + + /** + * Maximum value of this enum. + */ + ZYDIS_RW_ACTION_MAX_VALUE = ZYDIS_RW_ACTION_READWRITE, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_RW_ACTION_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_RW_ACTION_MAX_VALUE) +} ZydisReadWriteAction; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisRegisterConstraint` enum. + */ +typedef enum ZydisRegisterConstraint_ +{ + ZYDIS_REG_CONSTRAINTS_UNUSED, + ZYDIS_REG_CONSTRAINTS_NONE, + ZYDIS_REG_CONSTRAINTS_GPR, + ZYDIS_REG_CONSTRAINTS_SR_DEST, + ZYDIS_REG_CONSTRAINTS_SR, + ZYDIS_REG_CONSTRAINTS_CR, + ZYDIS_REG_CONSTRAINTS_DR, + ZYDIS_REG_CONSTRAINTS_MASK, + ZYDIS_REG_CONSTRAINTS_BND, + ZYDIS_REG_CONSTRAINTS_VSIB, + ZYDIS_REG_CONSTRAINTS_NO_REL, + + /** + * Maximum value of this enum. + */ + ZYDIS_REG_CONSTRAINTS_MAX_VALUE = ZYDIS_REG_CONSTRAINTS_NO_REL, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REG_CONSTRAINTS_MAX_VALUE) +} ZydisRegisterConstraint; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisInternalVectorLength` enum. + */ +typedef enum ZydisInternalVectorLength_ +{ + ZYDIS_IVECTOR_LENGTH_DEFAULT, + ZYDIS_IVECTOR_LENGTH_FIXED_128, + ZYDIS_IVECTOR_LENGTH_FIXED_256, + ZYDIS_IVECTOR_LENGTH_FIXED_512, + + /** + * Maximum value of this enum. + */ + ZYDIS_IVECTOR_LENGTH_MAX_VALUE = ZYDIS_IVECTOR_LENGTH_FIXED_512, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IVECTOR_LENGTH_MAX_VALUE) +} ZydisInternalVectorLength; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisInternalElementSize` enum. + */ +typedef enum ZydisInternalElementSize_ +{ + ZYDIS_IELEMENT_SIZE_INVALID, + ZYDIS_IELEMENT_SIZE_8, + ZYDIS_IELEMENT_SIZE_16, + ZYDIS_IELEMENT_SIZE_32, + ZYDIS_IELEMENT_SIZE_64, + ZYDIS_IELEMENT_SIZE_128, + + /** + * Maximum value of this enum. + */ + ZYDIS_IELEMENT_SIZE_MAX_VALUE = ZYDIS_IELEMENT_SIZE_128, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_IELEMENT_SIZE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IELEMENT_SIZE_MAX_VALUE) +} ZydisInternalElementSize; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisEVEXFunctionality` enum. + */ +typedef enum ZydisEVEXFunctionality_ +{ + ZYDIS_EVEX_FUNC_INVALID, + /** + * `EVEX.b` enables broadcast functionality. + */ + ZYDIS_EVEX_FUNC_BC, + /** + * `EVEX.b` enables embedded-rounding functionality. + */ + ZYDIS_EVEX_FUNC_RC, + /** + * `EVEX.b` enables sae functionality. + */ + ZYDIS_EVEX_FUNC_SAE, + + /** + * Maximum value of this enum. + */ + ZYDIS_EVEX_FUNC_MAX_VALUE = ZYDIS_EVEX_FUNC_SAE, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_EVEX_FUNC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_EVEX_FUNC_MAX_VALUE) +} ZydisEVEXFunctionality; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisEVEXTupleType` enum. + */ +typedef enum ZydisEVEXTupleType_ +{ + ZYDIS_TUPLETYPE_INVALID, + /** + * Full Vector + */ + ZYDIS_TUPLETYPE_FV, + /** + * Half Vector + */ + ZYDIS_TUPLETYPE_HV, + /** + * Full Vector Mem + */ + ZYDIS_TUPLETYPE_FVM, + /** + * Tuple1 Scalar + */ + ZYDIS_TUPLETYPE_T1S, + /** + * Tuple1 Fixed + */ + ZYDIS_TUPLETYPE_T1F, + /** + * Tuple1 4x32 + */ + ZYDIS_TUPLETYPE_T1_4X, + /** + * Gather / Scatter + */ + ZYDIS_TUPLETYPE_GSCAT, + /** + * Tuple2 + */ + ZYDIS_TUPLETYPE_T2, + /** + * Tuple4 + */ + ZYDIS_TUPLETYPE_T4, + /** + * Tuple8 + */ + ZYDIS_TUPLETYPE_T8, + /** + * Half Mem + */ + ZYDIS_TUPLETYPE_HVM, + /** + * QuarterMem + */ + ZYDIS_TUPLETYPE_QVM, + /** + * OctMem + */ + ZYDIS_TUPLETYPE_OVM, + /** + * Mem128 + */ + ZYDIS_TUPLETYPE_M128, + /** + * MOVDDUP + */ + ZYDIS_TUPLETYPE_DUP, + + /** + * Maximum value of this enum. + */ + ZYDIS_TUPLETYPE_MAX_VALUE = ZYDIS_TUPLETYPE_DUP, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_TUPLETYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_TUPLETYPE_MAX_VALUE) +} ZydisEVEXTupleType; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisMVEXFunctionality` enum. + */ +typedef enum ZydisMVEXFunctionality_ +{ + /** + * The `MVEX.SSS` value is ignored. + */ + ZYDIS_MVEX_FUNC_IGNORED, + /** + * `MVEX.SSS` must be `000b`. + */ + ZYDIS_MVEX_FUNC_INVALID, + /** + * `MVEX.SSS` controls embedded-rounding functionality. + */ + ZYDIS_MVEX_FUNC_RC, + /** + * `MVEX.SSS` controls sae functionality. + */ + ZYDIS_MVEX_FUNC_SAE, + /** + * No special operation (32bit float elements). + */ + ZYDIS_MVEX_FUNC_F_32, + /** + * No special operation (32bit uint elements). + */ + ZYDIS_MVEX_FUNC_I_32, + /** + * No special operation (64bit float elements). + */ + ZYDIS_MVEX_FUNC_F_64, + /** + * No special operation (64bit uint elements). + */ + ZYDIS_MVEX_FUNC_I_64, + /** + * Sf32(reg) or Si32(reg). + */ + ZYDIS_MVEX_FUNC_SWIZZLE_32, + /** + * Sf64(reg) or Si64(reg). + */ + ZYDIS_MVEX_FUNC_SWIZZLE_64, + /** + * Sf32(mem). + */ + ZYDIS_MVEX_FUNC_SF_32, + /** + * Sf32(mem) broadcast only. + */ + ZYDIS_MVEX_FUNC_SF_32_BCST, + /** + * Sf32(mem) broadcast 4to16 only. + */ + ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16, + /** + * Sf64(mem). + */ + ZYDIS_MVEX_FUNC_SF_64, + /** + * Si32(mem). + */ + ZYDIS_MVEX_FUNC_SI_32, + /** + * Si32(mem) broadcast only. + */ + ZYDIS_MVEX_FUNC_SI_32_BCST, + /** + * Si32(mem) broadcast 4to16 only. + */ + ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16, + /** + * Si64(mem). + */ + ZYDIS_MVEX_FUNC_SI_64, + /** + * Uf32. + */ + ZYDIS_MVEX_FUNC_UF_32, + /** + * Uf64. + */ + ZYDIS_MVEX_FUNC_UF_64, + /** + * Ui32. + */ + ZYDIS_MVEX_FUNC_UI_32, + /** + * Ui64. + */ + ZYDIS_MVEX_FUNC_UI_64, + /** + * Df32. + */ + ZYDIS_MVEX_FUNC_DF_32, + /** + * Df64. + */ + ZYDIS_MVEX_FUNC_DF_64, + /** + * Di32. + */ + ZYDIS_MVEX_FUNC_DI_32, + /** + * Di64. + */ + ZYDIS_MVEX_FUNC_DI_64, + + /** + * Maximum value of this enum. + */ + ZYDIS_MVEX_FUNC_MAX_VALUE = ZYDIS_MVEX_FUNC_DI_64, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_MVEX_FUNC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MVEX_FUNC_MAX_VALUE) +} ZydisMVEXFunctionality; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisVEXStaticBroadcast` enum. + */ +typedef enum ZydisVEXStaticBroadcast +{ + ZYDIS_VEX_STATIC_BROADCAST_NONE, + ZYDIS_VEX_STATIC_BROADCAST_1_TO_2, + ZYDIS_VEX_STATIC_BROADCAST_1_TO_4, + ZYDIS_VEX_STATIC_BROADCAST_1_TO_8, + ZYDIS_VEX_STATIC_BROADCAST_1_TO_16, + ZYDIS_VEX_STATIC_BROADCAST_1_TO_32, + ZYDIS_VEX_STATIC_BROADCAST_2_TO_4, + + /** + * Maximum value of this enum. + */ + ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE = ZYDIS_VEX_STATIC_BROADCAST_2_TO_4, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS = + ZYAN_BITS_TO_REPRESENT(ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE) +} ZydisVEXStaticBroadcast; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisEVEXStaticBroadcast` enum. + */ +typedef enum ZydisEVEXStaticBroadcast_ +{ + ZYDIS_EVEX_STATIC_BROADCAST_NONE, + ZYDIS_EVEX_STATIC_BROADCAST_1_TO_2, + ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4, + ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8, + ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16, + ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32, + ZYDIS_EVEX_STATIC_BROADCAST_1_TO_64, + ZYDIS_EVEX_STATIC_BROADCAST_2_TO_4, + ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8, + ZYDIS_EVEX_STATIC_BROADCAST_2_TO_16, + ZYDIS_EVEX_STATIC_BROADCAST_4_TO_8, + ZYDIS_EVEX_STATIC_BROADCAST_4_TO_16, + ZYDIS_EVEX_STATIC_BROADCAST_8_TO_16, + + /** + * Maximum value of this enum. + */ + ZYDIS_EVEX_STATIC_BROADCAST_MAX_VALUE = ZYDIS_EVEX_STATIC_BROADCAST_8_TO_16, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS = + ZYAN_BITS_TO_REPRESENT(ZYDIS_EVEX_STATIC_BROADCAST_MAX_VALUE) +} ZydisEVEXStaticBroadcast; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisMVEXStaticBroadcast` enum. + */ +typedef enum ZydisMVEXStaticBroadcast_ +{ + ZYDIS_MVEX_STATIC_BROADCAST_NONE, + ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8, + ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16, + ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8, + ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16, + + /** + * Maximum value of this enum. + */ + ZYDIS_MVEX_STATIC_BROADCAST_MAX_VALUE = ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS = + ZYAN_BITS_TO_REPRESENT(ZYDIS_MVEX_STATIC_BROADCAST_MAX_VALUE) +} ZydisMVEXStaticBroadcast; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisMaskPolicy` enum. + */ +typedef enum ZydisMaskPolicy_ +{ + ZYDIS_MASK_POLICY_INVALID, + /** + * The instruction accepts mask-registers other than the default-mask (K0), but + * does not require them. + */ + ZYDIS_MASK_POLICY_ALLOWED, + /** + * The instruction requires a mask-register other than the default-mask (K0). + */ + ZYDIS_MASK_POLICY_REQUIRED, + /** + * The instruction does not allow a mask-register other than the default-mask (K0). + */ + ZYDIS_MASK_POLICY_FORBIDDEN, + + /** + * Maximum value of this enum. + */ + ZYDIS_MASK_POLICY_MAX_VALUE = ZYDIS_MASK_POLICY_FORBIDDEN, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_MASK_POLICY_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MASK_POLICY_MAX_VALUE) +} ZydisMaskPolicy; + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisMaskOverride` enum. + */ +typedef enum ZydisMaskOverride_ +{ + ZYDIS_MASK_OVERRIDE_DEFAULT, + ZYDIS_MASK_OVERRIDE_ZEROING, + ZYDIS_MASK_OVERRIDE_CONTROL, + + /** + * Maximum value of this enum. + */ + ZYDIS_MASK_OVERRIDE_MAX_VALUE = ZYDIS_MASK_OVERRIDE_CONTROL, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_MASK_OVERRIDE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MASK_OVERRIDE_MAX_VALUE) +} ZydisMaskOverride; + +/* ---------------------------------------------------------------------------------------------- */ + +// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct +// enum types +ZYAN_STATIC_ASSERT(ZYDIS_MNEMONIC_REQUIRED_BITS <= 16); +ZYAN_STATIC_ASSERT(ZYDIS_CATEGORY_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_ISA_SET_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_ISA_EXT_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_BRANCH_TYPE_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_RW_ACTION_REQUIRED_BITS <= 8); + +#ifndef ZYDIS_MINIMAL_MODE +# define ZYDIS_INSTRUCTION_DEFINITION_BASE \ + ZyanU16 mnemonic ZYAN_BITFIELD(ZYDIS_MNEMONIC_REQUIRED_BITS); \ + ZyanU8 operand_count ZYAN_BITFIELD( 4); \ + ZyanU16 operand_reference ZYAN_BITFIELD(15); \ + ZyanU8 operand_size_map ZYAN_BITFIELD( 3); \ + ZyanU8 address_size_map ZYAN_BITFIELD( 2); \ + ZyanU8 flags_reference ZYAN_BITFIELD( 7); \ + ZyanBool requires_protected_mode ZYAN_BITFIELD( 1); \ + ZyanU8 category ZYAN_BITFIELD(ZYDIS_CATEGORY_REQUIRED_BITS); \ + ZyanU8 isa_set ZYAN_BITFIELD(ZYDIS_ISA_SET_REQUIRED_BITS); \ + ZyanU8 isa_ext ZYAN_BITFIELD(ZYDIS_ISA_EXT_REQUIRED_BITS); \ + ZyanU8 branch_type ZYAN_BITFIELD(ZYDIS_BRANCH_TYPE_REQUIRED_BITS); \ + ZyanU8 exception_class ZYAN_BITFIELD(ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS); \ + ZyanU8 constr_REG ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS); \ + ZyanU8 constr_RM ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS); \ + ZyanU8 cpu_state ZYAN_BITFIELD(ZYDIS_RW_ACTION_REQUIRED_BITS); \ + ZyanU8 fpu_state ZYAN_BITFIELD(ZYDIS_RW_ACTION_REQUIRED_BITS); \ + ZyanU8 xmm_state ZYAN_BITFIELD(ZYDIS_RW_ACTION_REQUIRED_BITS) +#else +# define ZYDIS_INSTRUCTION_DEFINITION_BASE \ + ZyanU16 mnemonic ZYAN_BITFIELD(ZYDIS_MNEMONIC_REQUIRED_BITS); \ + ZyanU8 operand_size_map ZYAN_BITFIELD( 3); \ + ZyanU8 address_size_map ZYAN_BITFIELD( 2); \ + ZyanBool requires_protected_mode ZYAN_BITFIELD( 1); \ + ZyanU8 constr_REG ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS); \ + ZyanU8 constr_RM ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS) +#endif + +#define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR \ + ZYDIS_INSTRUCTION_DEFINITION_BASE; \ + ZyanU8 constr_NDSNDD ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS) + +#define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL \ + ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR; \ + ZyanBool is_gather ZYAN_BITFIELD( 1) + +/** + * Defines the `ZydisInstructionDefinition` struct. + */ +typedef struct ZydisInstructionDefinition_ +{ + ZYDIS_INSTRUCTION_DEFINITION_BASE; +} ZydisInstructionDefinition; + +/** + * Defines the `ZydisInstructionDefinitionLEGACY` struct. + */ +typedef struct ZydisInstructionDefinitionLEGACY_ +{ + ZYDIS_INSTRUCTION_DEFINITION_BASE; +#ifndef ZYDIS_MINIMAL_MODE + ZyanBool is_privileged ZYAN_BITFIELD( 1); +#endif + ZyanBool accepts_LOCK ZYAN_BITFIELD( 1); +#ifndef ZYDIS_MINIMAL_MODE + ZyanBool accepts_REP ZYAN_BITFIELD( 1); + ZyanBool accepts_REPEREPZ ZYAN_BITFIELD( 1); + ZyanBool accepts_REPNEREPNZ ZYAN_BITFIELD( 1); + ZyanBool accepts_BOUND ZYAN_BITFIELD( 1); + ZyanBool accepts_XACQUIRE ZYAN_BITFIELD( 1); + ZyanBool accepts_XRELEASE ZYAN_BITFIELD( 1); + ZyanBool accepts_hle_without_lock ZYAN_BITFIELD( 1); + ZyanBool accepts_branch_hints ZYAN_BITFIELD( 1); + ZyanBool accepts_segment ZYAN_BITFIELD( 1); +#endif +} ZydisInstructionDefinitionLEGACY; + +/** + * Defines the `ZydisInstructionDefinition3DNOW` struct. + */ +typedef struct ZydisInstructionDefinition3DNOW_ +{ + ZYDIS_INSTRUCTION_DEFINITION_BASE; +} ZydisInstructionDefinition3DNOW; + +/** + * Defines the `ZydisInstructionDefinitionXOP` struct. + */ +typedef struct ZydisInstructionDefinitionXOP_ +{ + ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR; +} ZydisInstructionDefinitionXOP; + +// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct +// enum types +ZYAN_STATIC_ASSERT(ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS <= 8); + +/** + * Defines the `ZydisInstructionDefinitionVEX` struct. + */ +typedef struct ZydisInstructionDefinitionVEX_ +{ + ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL; +#ifndef ZYDIS_MINIMAL_MODE + ZyanU8 broadcast ZYAN_BITFIELD(ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS); +#endif +} ZydisInstructionDefinitionVEX; + +#ifndef ZYDIS_DISABLE_AVX512 + +// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct +// enum types +ZYAN_STATIC_ASSERT(ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_TUPLETYPE_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_IELEMENT_SIZE_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_EVEX_FUNC_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_MASK_POLICY_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_MASK_OVERRIDE_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS <= 8); + +/** + * Defines the `ZydisInstructionDefinitionEVEX` struct. + */ +typedef struct ZydisInstructionDefinitionEVEX_ +{ + ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL; +#ifndef ZYDIS_MINIMAL_MODE + ZyanU8 vector_length ZYAN_BITFIELD(ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS); + ZyanU8 tuple_type ZYAN_BITFIELD(ZYDIS_TUPLETYPE_REQUIRED_BITS); + ZyanU8 element_size ZYAN_BITFIELD(ZYDIS_IELEMENT_SIZE_REQUIRED_BITS); + ZyanU8 functionality ZYAN_BITFIELD(ZYDIS_EVEX_FUNC_REQUIRED_BITS); +#endif + ZyanU8 mask_policy ZYAN_BITFIELD(ZYDIS_MASK_POLICY_REQUIRED_BITS); + ZyanBool accepts_zero_mask ZYAN_BITFIELD( 1); +#ifndef ZYDIS_MINIMAL_MODE + ZyanU8 mask_override ZYAN_BITFIELD(ZYDIS_MASK_OVERRIDE_REQUIRED_BITS); + ZyanU8 broadcast ZYAN_BITFIELD(ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS); +#endif +} ZydisInstructionDefinitionEVEX; +#endif + +#ifndef ZYDIS_DISABLE_KNC + +// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct +// enum types +ZYAN_STATIC_ASSERT(ZYDIS_MVEX_FUNC_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_MASK_POLICY_REQUIRED_BITS <= 8); +ZYAN_STATIC_ASSERT(ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS <= 8); + +/** + * Defines the `ZydisInstructionDefinitionMVEX` struct. + */ +typedef struct ZydisInstructionDefinitionMVEX_ +{ + ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL; + ZyanU8 functionality ZYAN_BITFIELD(ZYDIS_MVEX_FUNC_REQUIRED_BITS); + ZyanU8 mask_policy ZYAN_BITFIELD(ZYDIS_MASK_POLICY_REQUIRED_BITS); +#ifndef ZYDIS_MINIMAL_MODE + ZyanBool has_element_granularity ZYAN_BITFIELD( 1); + ZyanU8 broadcast ZYAN_BITFIELD(ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS); +#endif +} ZydisInstructionDefinitionMVEX; +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Accessed CPU flags */ +/* ---------------------------------------------------------------------------------------------- */ + +typedef struct ZydisAccessedFlags_ +{ + ZydisCPUFlagAction action[ZYDIS_CPUFLAG_MAX_VALUE + 1]; + ZyanU32 cpu_flags_read ZYAN_BITFIELD(22); + ZyanU32 cpu_flags_written ZYAN_BITFIELD(22); + ZyanU8 fpu_flags_read ZYAN_BITFIELD( 4); + ZyanU8 fpu_flags_written ZYAN_BITFIELD( 4); +} ZydisAccessedFlags; + +/* ---------------------------------------------------------------------------------------------- */ + +#pragma pack(pop) + +#ifdef ZYAN_MSVC +# pragma warning(pop) +#endif + +/* ============================================================================================== */ +/* Functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction definition */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the instruction-definition with the given `encoding` and `id`. + * + * @param encoding The instruction-encoding. + * @param id The definition-id. + * @param definition A pointer to the variable that receives a pointer to the instruction- + * definition. + */ +ZYDIS_NO_EXPORT void ZydisGetInstructionDefinition(ZydisInstructionEncoding encoding, + ZyanU16 id, const ZydisInstructionDefinition** definition); + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand definition */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Returns the the operand-definitions for the given instruction-`definition`. + * + * @param definition A pointer to the instruction-definition. + * @param operand A pointer to the variable that receives a pointer to the first operand- + * definition of the instruction. + * + * @return The number of operands for the given instruction-definition. + */ +ZYDIS_NO_EXPORT ZyanU8 ZydisGetOperandDefinitions(const ZydisInstructionDefinition* definition, + const ZydisOperandDefinition** operand); +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Element info */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Returns the actual type and size of an internal element-type. + * + * @param element The internal element type. + * @param type The actual element type. + * @param size The element size. + */ +ZYDIS_NO_EXPORT void ZydisGetElementInfo(ZydisInternalElementType element, ZydisElementType* type, + ZydisElementSize* size); +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Accessed CPU flags */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Returns the the operand-definitions for the given instruction-`definition`. + * + * @param definition A pointer to the instruction-definition. + * @param flags A pointer to the variable that receives the `ZydisAccessedFlags` struct. + * + * @return `ZYAN_TRUE`, if the instruction accesses any flags, or `ZYAN_FALSE`, if not. + */ +ZYDIS_NO_EXPORT ZyanBool ZydisGetAccessedFlags(const ZydisInstructionDefinition* definition, + const ZydisAccessedFlags** flags); +#endif + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_INTERNAL_SHAREDDATA_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Internal/String.h b/externals/dynarmic/externals/zydis/include/Zydis/Internal/String.h new file mode 100755 index 000000000..18ed812dc --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Internal/String.h @@ -0,0 +1,464 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Provides some internal, more performant, but unsafe helper functions for the `ZyanString` + * data-type. + * + * Most of these functions are very similar to the ones in `Zycore/String.h`, but inlined and + * without optional overhead like parameter-validation checks, etc ... + * + * The `ZyanString` data-type is able to dynamically allocate memory on the heap, but as `Zydis` is + * designed to be a non-'malloc'ing library, all functions in this file assume that the instances + * they are operating on are created with a user-defined static-buffer. + */ + +#ifndef ZYDIS_INTERNAL_STRING_H +#define ZYDIS_INTERNAL_STRING_H + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Letter Case */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisLetterCase` enum. + */ +typedef enum ZydisLetterCase_ +{ + /** + * Uses the given text "as is". + */ + ZYDIS_LETTER_CASE_DEFAULT, + /** + * Converts the given text to lowercase letters. + */ + ZYDIS_LETTER_CASE_LOWER, + /** + * Converts the given text to uppercase letters. + */ + ZYDIS_LETTER_CASE_UPPER, + + /** + * Maximum value of this enum. + */ + ZYDIS_LETTER_CASE_MAX_VALUE = ZYDIS_LETTER_CASE_UPPER, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_LETTER_CASE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_LETTER_CASE_MAX_VALUE) +} ZydisLetterCase; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Internal macros */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Checks for a terminating '\0' character at the end of the string data. + */ +#define ZYDIS_STRING_ASSERT_NULLTERMINATION(string) \ + ZYAN_ASSERT(*(char*)((ZyanU8*)(string)->vector.data + (string)->vector.size - 1) == '\0'); + +/** + * Writes a terminating '\0' character at the end of the string data. + */ +#define ZYDIS_STRING_NULLTERMINATE(string) \ + *(char*)((ZyanU8*)(string)->vector.data + (string)->vector.size - 1) = '\0'; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Internal Functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Appending */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Appends the content of the source string to the end of the destination string. + * + * @param destination The destination string. + * @param source The source string. + * + * @return A zyan status code. + */ +ZYAN_INLINE ZyanStatus ZydisStringAppend(ZyanString* destination, const ZyanStringView* source) +{ + ZYAN_ASSERT(destination && source); + ZYAN_ASSERT(!destination->vector.allocator); + ZYAN_ASSERT(destination->vector.size && source->string.vector.size); + + if (destination->vector.size + source->string.vector.size - 1 > destination->vector.capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_MEMCPY((char*)destination->vector.data + destination->vector.size - 1, + source->string.vector.data, source->string.vector.size - 1); + + destination->vector.size += source->string.vector.size - 1; + ZYDIS_STRING_NULLTERMINATE(destination); + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Appends the content of the source string to the end of the destination + * string, converting the characters to the specified letter-case. + * + * @param destination The destination string. + * @param source The source string. + * @param letter_case The desired letter-case. + * + * @return A zyan status code. + */ +ZYAN_INLINE ZyanStatus ZydisStringAppendCase(ZyanString* destination, const ZyanStringView* source, + ZydisLetterCase letter_case) +{ + ZYAN_ASSERT(destination && source); + ZYAN_ASSERT(!destination->vector.allocator); + ZYAN_ASSERT(destination->vector.size && source->string.vector.size); + + if (destination->vector.size + source->string.vector.size - 1 > destination->vector.capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_MEMCPY((char*)destination->vector.data + destination->vector.size - 1, + source->string.vector.data, source->string.vector.size - 1); + + switch (letter_case) + { + case ZYDIS_LETTER_CASE_DEFAULT: + break; + case ZYDIS_LETTER_CASE_LOWER: + { + const ZyanUSize index = destination->vector.size - 1; + const ZyanUSize count = source->string.vector.size - 1; + char* s = (char*)destination->vector.data + index; + for (ZyanUSize i = index; i < index + count; ++i) + { + const char c = *s; + if ((c >= 'A') && (c <= 'Z')) + { + *s = c | 32; + } + ++s; + } + break; + } + case ZYDIS_LETTER_CASE_UPPER: + { + const ZyanUSize index = destination->vector.size - 1; + const ZyanUSize count = source->string.vector.size - 1; + char* s = (char*)destination->vector.data + index; + for (ZyanUSize i = index; i < index + count; ++i) + { + const char c = *s; + if ((c >= 'a') && (c <= 'z')) + { + *s = c & ~32; + } + ++s; + } + break; + } + default: + ZYAN_UNREACHABLE; + } + + destination->vector.size += source->string.vector.size - 1; + ZYDIS_STRING_NULLTERMINATE(destination); + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Appends the content of the source short-string to the end of the destination string. + * + * @param destination The destination string. + * @param source The source string. + * + * @return A zyan status code. + */ +ZYAN_INLINE ZyanStatus ZydisStringAppendShort(ZyanString* destination, + const ZydisShortString* source) +{ + ZYAN_ASSERT(destination && source); + ZYAN_ASSERT(!destination->vector.allocator); + ZYAN_ASSERT(destination->vector.size && source->size); + + if (destination->vector.size + source->size > destination->vector.capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_MEMCPY((char*)destination->vector.data + destination->vector.size - 1, source->data, + (ZyanUSize)source->size + 1); + + destination->vector.size += source->size; + ZYDIS_STRING_ASSERT_NULLTERMINATION(destination); + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Appends the content of the source short-string to the end of the destination string, + * converting the characters to the specified letter-case. + * + * @param destination The destination string. + * @param source The source string. + * @param letter_case The desired letter-case. + * + * @return A zyan status code. + */ +ZYAN_INLINE ZyanStatus ZydisStringAppendShortCase(ZyanString* destination, + const ZydisShortString* source, ZydisLetterCase letter_case) +{ + ZYAN_ASSERT(destination && source); + ZYAN_ASSERT(!destination->vector.allocator); + ZYAN_ASSERT(destination->vector.size && source->size); + + if (destination->vector.size + source->size > destination->vector.capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_MEMCPY((char*)destination->vector.data + destination->vector.size - 1, source->data, + (ZyanUSize)source->size + 1); + + switch (letter_case) + { + case ZYDIS_LETTER_CASE_DEFAULT: + break; + case ZYDIS_LETTER_CASE_LOWER: + { + const ZyanUSize index = destination->vector.size - 1; + const ZyanUSize count = source->size; + char* s = (char*)destination->vector.data + index; + for (ZyanUSize i = index; i < index + count; ++i) + { + const char c = *s; + if ((c >= 'A') && (c <= 'Z')) + { + *s = c | 32; + } + ++s; + } + break; + } + case ZYDIS_LETTER_CASE_UPPER: + { + const ZyanUSize index = destination->vector.size - 1; + const ZyanUSize count = source->size; + char* s = (char*)destination->vector.data + index; + for (ZyanUSize i = index; i < index + count; ++i) + { + const char c = *s; + if ((c >= 'a') && (c <= 'z')) + { + *s = c & ~32; + } + ++s; + } + break; + } + default: + ZYAN_UNREACHABLE; + } + + destination->vector.size += source->size; + ZYDIS_STRING_ASSERT_NULLTERMINATION(destination); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatting */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Formats the given unsigned ordinal `value` to its decimal text-representation and + * appends it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param prefix The string to use as prefix or `ZYAN_NULL`, if not needed. + * @param suffix The string to use as suffix or `ZYAN_NULL`, if not needed. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZyanStatus ZydisStringAppendDecU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length, + const ZyanStringView* prefix, const ZyanStringView* suffix); + +/** + * Formats the given signed ordinal `value` to its decimal text-representation and + * appends it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param force_sign Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers. + * @param prefix The string to use as prefix or `ZYAN_NULL`, if not needed. + * @param suffix The string to use as suffix or `ZYAN_NULL`, if not needed. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZYAN_INLINE ZyanStatus ZydisStringAppendDecS(ZyanString* string, ZyanI64 value, + ZyanU8 padding_length, ZyanBool force_sign, const ZyanStringView* prefix, + const ZyanStringView* suffix) +{ + static const ZydisShortString str_add = ZYDIS_MAKE_SHORTSTRING("+"); + static const ZydisShortString str_sub = ZYDIS_MAKE_SHORTSTRING("-"); + + if (value < 0) + { + ZYAN_CHECK(ZydisStringAppendShort(string, &str_sub)); + if (prefix) + { + ZYAN_CHECK(ZydisStringAppend(string, prefix)); + } + return ZydisStringAppendDecU(string, ZyanAbsI64(value), padding_length, + (const ZyanStringView*)ZYAN_NULL, suffix); + } + + if (force_sign) + { + ZYAN_ASSERT(value >= 0); + ZYAN_CHECK(ZydisStringAppendShort(string, &str_add)); + } + return ZydisStringAppendDecU(string, value, padding_length, prefix, suffix); +} + +/** + * Formats the given unsigned ordinal `value` to its hexadecimal text-representation and + * appends it to the `string`. + * + * @param string A pointer to the `ZyanString` instance. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length`. + * @param uppercase Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase + * ones ('a'-'f'). + * @param prefix The string to use as prefix or `ZYAN_NULL`, if not needed. + * @param suffix The string to use as suffix or `ZYAN_NULL`, if not needed. + * + * @return A zyan status code. + * + * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified + * `ZyanString` instance. + */ +ZyanStatus ZydisStringAppendHexU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length, + ZyanBool uppercase, const ZyanStringView* prefix, const ZyanStringView* suffix); + +/** + * Formats the given signed ordinal `value` to its hexadecimal text-representation and + * appends it to the `string`. + * + * @param string A pointer to the string. + * @param value The value. + * @param padding_length Padds the converted value with leading zeros, if the number of chars is + * less than the `padding_length` (the sign char is ignored). + * @param uppercase Set `ZYAN_TRUE` to print the hexadecimal value in uppercase letters + * instead of lowercase ones. + * @param force_sign Set to `ZYAN_TRUE`, to force printing of the `+` sign for positive + * numbers. + * @param prefix The string to use as prefix or `NULL`, if not needed. + * @param suffix The string to use as suffix or `NULL`, if not needed. + * + * @return `ZYAN_STATUS_SUCCESS`, if the function succeeded, or + * `ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE`, if the size of the buffer was not + * sufficient to append the given `value`. + * + * The string-buffer pointer is increased by the number of chars written, if the call was + * successful. + */ +ZYAN_INLINE ZyanStatus ZydisStringAppendHexS(ZyanString* string, ZyanI64 value, + ZyanU8 padding_length, ZyanBool uppercase, ZyanBool force_sign, const ZyanStringView* prefix, + const ZyanStringView* suffix) +{ + static const ZydisShortString str_add = ZYDIS_MAKE_SHORTSTRING("+"); + static const ZydisShortString str_sub = ZYDIS_MAKE_SHORTSTRING("-"); + + if (value < 0) + { + ZYAN_CHECK(ZydisStringAppendShort(string, &str_sub)); + if (prefix) + { + ZYAN_CHECK(ZydisStringAppend(string, prefix)); + } + return ZydisStringAppendHexU(string, ZyanAbsI64(value), padding_length, uppercase, + (const ZyanStringView*)ZYAN_NULL, suffix); + } + + if (force_sign) + { + ZYAN_ASSERT(value >= 0); + ZYAN_CHECK(ZydisStringAppendShort(string, &str_add)); + } + return ZydisStringAppendHexU(string, value, padding_length, uppercase, prefix, suffix); +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif // ZYDIS_INTERNAL_STRING_H diff --git a/externals/dynarmic/externals/zydis/include/Zydis/MetaInfo.h b/externals/dynarmic/externals/zydis/include/Zydis/MetaInfo.h new file mode 100755 index 000000000..6867d32d3 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/MetaInfo.h @@ -0,0 +1,88 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * @brief + */ + +#ifndef ZYDIS_METAINFO_H +#define ZYDIS_METAINFO_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +#include +#include +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + + /** + * Returns the specified instruction category string. + * + * @param category The instruction category. + * + * @return The instruction category string or `ZYAN_NULL`, if an invalid category was passed. + */ +ZYDIS_EXPORT const char* ZydisCategoryGetString(ZydisInstructionCategory category); + +/** + * Returns the specified isa-set string. + * + * @param isa_set The isa-set. + * + * @return The isa-set string or `ZYAN_NULL`, if an invalid isa-set was passed. + */ +ZYDIS_EXPORT const char* ZydisISASetGetString(ZydisISASet isa_set); + +/** + * Returns the specified isa-extension string. + * + * @param isa_ext The isa-extension. + * + * @return The isa-extension string or `ZYAN_NULL`, if an invalid isa-extension was passed. + */ +ZYDIS_EXPORT const char* ZydisISAExtGetString(ZydisISAExt isa_ext); + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_METAINFO_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Mnemonic.h b/externals/dynarmic/externals/zydis/include/Zydis/Mnemonic.h new file mode 100755 index 000000000..dd8fec8cf --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Mnemonic.h @@ -0,0 +1,88 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Mnemonic constant definitions and helper functions. + */ + +#ifndef ZYDIS_MNEMONIC_H +#define ZYDIS_MNEMONIC_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * @addtogroup mnemonic Mnemonic + * Functions for retrieving mnemonic names. + * @{ + */ + +/** + * Returns the specified instruction mnemonic string. + * + * @param mnemonic The mnemonic. + * + * @return The instruction mnemonic string or `ZYAN_NULL`, if an invalid mnemonic was passed. + */ +ZYDIS_EXPORT const char* ZydisMnemonicGetString(ZydisMnemonic mnemonic); + +/** + * Returns the specified instruction mnemonic as `ZydisShortString`. + * + * @param mnemonic The mnemonic. + * + * @return The instruction mnemonic string or `ZYAN_NULL`, if an invalid mnemonic was passed. + * + * The `buffer` of the returned struct is guaranteed to be zero-terminated in this special case. + */ +ZYDIS_EXPORT const ZydisShortString* ZydisMnemonicGetStringWrapped(ZydisMnemonic mnemonic); + +/** + * @} + */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_MNEMONIC_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Register.h b/externals/dynarmic/externals/zydis/include/Zydis/Register.h new file mode 100755 index 000000000..0ff955fce --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Register.h @@ -0,0 +1,293 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Utility functions and constants for registers. + */ + +#ifndef ZYDIS_REGISTER_H +#define ZYDIS_REGISTER_H + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Registers */ +/* ---------------------------------------------------------------------------------------------- */ + +#include + +/* ---------------------------------------------------------------------------------------------- */ +/* Register classes */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisRegisterClass` enum. + * + * Please note that this enum does not contain a matching entry for all values of the + * `ZydisRegister` enum, but only for those registers where it makes sense to logically group them + * for decoding/encoding purposes. + * + * These are mainly the registers that can be identified by an id within their corresponding + * register-class. The `IP` and `FLAGS` values are exceptions to this rule. + */ +typedef enum ZydisRegisterClass_ +{ + ZYDIS_REGCLASS_INVALID, + /** + * 8-bit general-purpose registers. + */ + ZYDIS_REGCLASS_GPR8, + /** + * 16-bit general-purpose registers. + */ + ZYDIS_REGCLASS_GPR16, + /** + * 32-bit general-purpose registers. + */ + ZYDIS_REGCLASS_GPR32, + /** + * 64-bit general-purpose registers. + */ + ZYDIS_REGCLASS_GPR64, + /** + * Floating point legacy registers. + */ + ZYDIS_REGCLASS_X87, + /** + * Floating point multimedia registers. + */ + ZYDIS_REGCLASS_MMX, + /** + * 128-bit vector registers. + */ + ZYDIS_REGCLASS_XMM, + /** + * 256-bit vector registers. + */ + ZYDIS_REGCLASS_YMM, + /** + * 512-bit vector registers. + */ + ZYDIS_REGCLASS_ZMM, + /** + * Matrix registers. + */ + ZYDIS_REGCLASS_TMM, + /* + * Flags registers. + */ + ZYDIS_REGCLASS_FLAGS, + /** + * Instruction-pointer registers. + */ + ZYDIS_REGCLASS_IP, + /** + * Segment registers. + */ + ZYDIS_REGCLASS_SEGMENT, + /** + * Test registers. + */ + ZYDIS_REGCLASS_TEST, + /** + * Control registers. + */ + ZYDIS_REGCLASS_CONTROL, + /** + * Debug registers. + */ + ZYDIS_REGCLASS_DEBUG, + /** + * Mask registers. + */ + ZYDIS_REGCLASS_MASK, + /** + * Bound registers. + */ + ZYDIS_REGCLASS_BOUND, + + /** + * Maximum value of this enum. + */ + ZYDIS_REGCLASS_MAX_VALUE = ZYDIS_REGCLASS_BOUND, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_REGCLASS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGCLASS_MAX_VALUE) +} ZydisRegisterClass; + +/* ---------------------------------------------------------------------------------------------- */ +/* Register width */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisRegisterWidth` data-type. + */ +typedef ZyanU16 ZydisRegisterWidth; + +/* ---------------------------------------------------------------------------------------------- */ +/* Register context */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisRegisterContext` struct. + */ +typedef struct ZydisRegisterContext_ +{ + /** + * The values stored in the register context. + */ + ZyanU64 values[ZYDIS_REGISTER_MAX_VALUE + 1]; +} ZydisRegisterContext; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * @addtogroup register Register + * Functions allowing retrieval of information about registers. + * @{ + */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Register */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the register specified by the `register_class` and `id` tuple. + * + * @param register_class The register class. + * @param id The register id. + * + * @return The register specified by the `register_class` and `id` tuple or `ZYDIS_REGISTER_NONE`, + * if an invalid parameter was passed. + */ +ZYDIS_EXPORT ZydisRegister ZydisRegisterEncode(ZydisRegisterClass register_class, ZyanU8 id); + +/** + * Returns the id of the specified register. + * + * @param reg The register. + * + * @return The id of the specified register, or -1 if an invalid parameter was passed. + */ +ZYDIS_EXPORT ZyanI8 ZydisRegisterGetId(ZydisRegister reg); + +/** + * Returns the register-class of the specified register. + * + * @param reg The register. + * + * @return The register-class of the specified register. + */ +ZYDIS_EXPORT ZydisRegisterClass ZydisRegisterGetClass(ZydisRegister reg); + +/** + * Returns the width of the specified register. + * + * @param mode The active machine mode. + * @param reg The register. + * + * @return The width of the specified register, or `ZYDIS_REGISTER_NONE` if the register is + * invalid for the active machine-mode. + */ +ZYDIS_EXPORT ZydisRegisterWidth ZydisRegisterGetWidth(ZydisMachineMode mode, ZydisRegister reg); + +/** + * Returns the largest enclosing register of the given register. + * + * @param mode The active machine mode. + * @param reg The register. + * + * @return The largest enclosing register of the given register, or `ZYDIS_REGISTER_NONE` if the + * register is invalid for the active machine-mode or does not have an enclosing-register. + */ +ZYDIS_EXPORT ZydisRegister ZydisRegisterGetLargestEnclosing(ZydisMachineMode mode, + ZydisRegister reg); + +/** + * Returns the specified register string. + * + * @param reg The register. + * + * @return The register string or `ZYAN_NULL`, if an invalid register was passed. + */ +ZYDIS_EXPORT const char* ZydisRegisterGetString(ZydisRegister reg); + +/** + * Returns the specified register string as `ZydisShortString`. + * + * @param reg The register. + * + * @return The register string or `ZYAN_NULL`, if an invalid register was passed. + * + * The `buffer` of the returned struct is guaranteed to be zero-terminated in this special case. + */ +ZYDIS_EXPORT const ZydisShortString* ZydisRegisterGetStringWrapped(ZydisRegister reg); + +/* ---------------------------------------------------------------------------------------------- */ +/* Register class */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns the width of the specified register-class. + * + * @param mode The active machine mode. + * @param register_class The register class. + * + * @return The width of the specified register. + */ +ZYDIS_EXPORT ZydisRegisterWidth ZydisRegisterClassGetWidth(ZydisMachineMode mode, + ZydisRegisterClass register_class); + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * @} + */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_REGISTER_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/SharedTypes.h b/externals/dynarmic/externals/zydis/include/Zydis/SharedTypes.h new file mode 100755 index 000000000..82a4121ae --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/SharedTypes.h @@ -0,0 +1,480 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Defines decoder/encoder-shared macros and types. + */ + +#ifndef ZYDIS_SHAREDTYPES_H +#define ZYDIS_SHAREDTYPES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constants */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYDIS_MAX_INSTRUCTION_LENGTH 15 +#define ZYDIS_MAX_OPERAND_COUNT 10 + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Machine mode */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisMachineMode` enum. + */ +typedef enum ZydisMachineMode_ +{ + /** + * 64 bit mode. + */ + ZYDIS_MACHINE_MODE_LONG_64, + /** + * 32 bit protected mode. + */ + ZYDIS_MACHINE_MODE_LONG_COMPAT_32, + /** + * 16 bit protected mode. + */ + ZYDIS_MACHINE_MODE_LONG_COMPAT_16, + /** + * 32 bit protected mode. + */ + ZYDIS_MACHINE_MODE_LEGACY_32, + /** + * 16 bit protected mode. + */ + ZYDIS_MACHINE_MODE_LEGACY_16, + /** + * 16 bit real mode. + */ + ZYDIS_MACHINE_MODE_REAL_16, + + /** + * Maximum value of this enum. + */ + ZYDIS_MACHINE_MODE_MAX_VALUE = ZYDIS_MACHINE_MODE_REAL_16, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_MACHINE_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MACHINE_MODE_MAX_VALUE) +} ZydisMachineMode; + +/* ---------------------------------------------------------------------------------------------- */ +/* Address width */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisAddressWidth` enum. + */ +typedef enum ZydisAddressWidth_ +{ + ZYDIS_ADDRESS_WIDTH_16, + ZYDIS_ADDRESS_WIDTH_32, + ZYDIS_ADDRESS_WIDTH_64, + + /** + * Maximum value of this enum. + */ + ZYDIS_ADDRESS_WIDTH_MAX_VALUE = ZYDIS_ADDRESS_WIDTH_64, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_ADDRESS_WIDTH_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ADDRESS_WIDTH_MAX_VALUE) +} ZydisAddressWidth; + +/* ---------------------------------------------------------------------------------------------- */ +/* Element type */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisElementType` enum. + */ +typedef enum ZydisElementType_ +{ + ZYDIS_ELEMENT_TYPE_INVALID, + /** + * A struct type. + */ + ZYDIS_ELEMENT_TYPE_STRUCT, + /** + * Unsigned integer value. + */ + ZYDIS_ELEMENT_TYPE_UINT, + /** + * Signed integer value. + */ + ZYDIS_ELEMENT_TYPE_INT, + /** + * 16-bit floating point value (`half`). + */ + ZYDIS_ELEMENT_TYPE_FLOAT16, + /** + * 32-bit floating point value (`single`). + */ + ZYDIS_ELEMENT_TYPE_FLOAT32, + /** + * 64-bit floating point value (`double`). + */ + ZYDIS_ELEMENT_TYPE_FLOAT64, + /** + * 80-bit floating point value (`extended`). + */ + ZYDIS_ELEMENT_TYPE_FLOAT80, + /** + * Binary coded decimal value. + */ + ZYDIS_ELEMENT_TYPE_LONGBCD, + /** + * A condition code (e.g. used by `CMPPD`, `VCMPPD`, ...). + */ + ZYDIS_ELEMENT_TYPE_CC, + + /** + * Maximum value of this enum. + */ + ZYDIS_ELEMENT_TYPE_MAX_VALUE = ZYDIS_ELEMENT_TYPE_CC, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_ELEMENT_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ELEMENT_TYPE_MAX_VALUE) +} ZydisElementType; + +/* ---------------------------------------------------------------------------------------------- */ +/* Element size */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisElementSize` datatype. + */ +typedef ZyanU16 ZydisElementSize; + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand type */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisOperandType` enum. + */ +typedef enum ZydisOperandType_ +{ + /** + * The operand is not used. + */ + ZYDIS_OPERAND_TYPE_UNUSED, + /** + * The operand is a register operand. + */ + ZYDIS_OPERAND_TYPE_REGISTER, + /** + * The operand is a memory operand. + */ + ZYDIS_OPERAND_TYPE_MEMORY, + /** + * The operand is a pointer operand with a segment:offset lvalue. + */ + ZYDIS_OPERAND_TYPE_POINTER, + /** + * The operand is an immediate operand. + */ + ZYDIS_OPERAND_TYPE_IMMEDIATE, + + /** + * Maximum value of this enum. + */ + ZYDIS_OPERAND_TYPE_MAX_VALUE = ZYDIS_OPERAND_TYPE_IMMEDIATE, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_OPERAND_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_OPERAND_TYPE_MAX_VALUE) +} ZydisOperandType; + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand encoding */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisOperandEncoding` enum. + */ +typedef enum ZydisOperandEncoding_ +{ + ZYDIS_OPERAND_ENCODING_NONE, + ZYDIS_OPERAND_ENCODING_MODRM_REG, + ZYDIS_OPERAND_ENCODING_MODRM_RM, + ZYDIS_OPERAND_ENCODING_OPCODE, + ZYDIS_OPERAND_ENCODING_NDSNDD, + ZYDIS_OPERAND_ENCODING_IS4, + ZYDIS_OPERAND_ENCODING_MASK, + ZYDIS_OPERAND_ENCODING_DISP8, + ZYDIS_OPERAND_ENCODING_DISP16, + ZYDIS_OPERAND_ENCODING_DISP32, + ZYDIS_OPERAND_ENCODING_DISP64, + ZYDIS_OPERAND_ENCODING_DISP16_32_64, + ZYDIS_OPERAND_ENCODING_DISP32_32_64, + ZYDIS_OPERAND_ENCODING_DISP16_32_32, + ZYDIS_OPERAND_ENCODING_UIMM8, + ZYDIS_OPERAND_ENCODING_UIMM16, + ZYDIS_OPERAND_ENCODING_UIMM32, + ZYDIS_OPERAND_ENCODING_UIMM64, + ZYDIS_OPERAND_ENCODING_UIMM16_32_64, + ZYDIS_OPERAND_ENCODING_UIMM32_32_64, + ZYDIS_OPERAND_ENCODING_UIMM16_32_32, + ZYDIS_OPERAND_ENCODING_SIMM8, + ZYDIS_OPERAND_ENCODING_SIMM16, + ZYDIS_OPERAND_ENCODING_SIMM32, + ZYDIS_OPERAND_ENCODING_SIMM64, + ZYDIS_OPERAND_ENCODING_SIMM16_32_64, + ZYDIS_OPERAND_ENCODING_SIMM32_32_64, + ZYDIS_OPERAND_ENCODING_SIMM16_32_32, + ZYDIS_OPERAND_ENCODING_JIMM8, + ZYDIS_OPERAND_ENCODING_JIMM16, + ZYDIS_OPERAND_ENCODING_JIMM32, + ZYDIS_OPERAND_ENCODING_JIMM64, + ZYDIS_OPERAND_ENCODING_JIMM16_32_64, + ZYDIS_OPERAND_ENCODING_JIMM32_32_64, + ZYDIS_OPERAND_ENCODING_JIMM16_32_32, + + /** + * Maximum value of this enum. + */ + ZYDIS_OPERAND_ENCODING_MAX_VALUE = ZYDIS_OPERAND_ENCODING_JIMM16_32_32, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_OPERAND_ENCODING_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_OPERAND_ENCODING_MAX_VALUE) +} ZydisOperandEncoding; + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand visibility */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisOperandVisibility` enum. + */ +typedef enum ZydisOperandVisibility_ +{ + ZYDIS_OPERAND_VISIBILITY_INVALID, + /** + * The operand is explicitly encoded in the instruction. + */ + ZYDIS_OPERAND_VISIBILITY_EXPLICIT, + /** + * The operand is part of the opcode, but listed as an operand. + */ + ZYDIS_OPERAND_VISIBILITY_IMPLICIT, + /** + * The operand is part of the opcode, and not typically listed as an operand. + */ + ZYDIS_OPERAND_VISIBILITY_HIDDEN, + + /** + * Maximum value of this enum. + */ + ZYDIS_OPERAND_VISIBILITY_MAX_VALUE = ZYDIS_OPERAND_VISIBILITY_HIDDEN, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_OPERAND_VISIBILITY_REQUIRED_BITS = + ZYAN_BITS_TO_REPRESENT(ZYDIS_OPERAND_VISIBILITY_MAX_VALUE) +} ZydisOperandVisibility; + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand action */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisOperandAction` enum. + */ +typedef enum ZydisOperandAction_ +{ + /* ------------------------------------------------------------------------------------------ */ + /* Elemental actions */ + /* ------------------------------------------------------------------------------------------ */ + + /** + * The operand is read by the instruction. + */ + ZYDIS_OPERAND_ACTION_READ = 0x01, + /** + * The operand is written by the instruction (must write). + */ + ZYDIS_OPERAND_ACTION_WRITE = 0x02, + /** + * The operand is conditionally read by the instruction. + */ + ZYDIS_OPERAND_ACTION_CONDREAD = 0x04, + /** + * The operand is conditionally written by the instruction (may write). + */ + ZYDIS_OPERAND_ACTION_CONDWRITE = 0x08, + + /* ------------------------------------------------------------------------------------------ */ + /* Combined actions */ + /* ------------------------------------------------------------------------------------------ */ + + /** + * The operand is read (must read) and written by the instruction (must write). + */ + ZYDIS_OPERAND_ACTION_READWRITE = ZYDIS_OPERAND_ACTION_READ | ZYDIS_OPERAND_ACTION_WRITE, + /** + * The operand is conditionally read (may read) and conditionally written by + * the instruction (may write). + */ + ZYDIS_OPERAND_ACTION_CONDREAD_CONDWRITE = + ZYDIS_OPERAND_ACTION_CONDREAD | ZYDIS_OPERAND_ACTION_CONDWRITE, + /** + * The operand is read (must read) and conditionally written by the + * instruction (may write). + */ + ZYDIS_OPERAND_ACTION_READ_CONDWRITE = + ZYDIS_OPERAND_ACTION_READ | ZYDIS_OPERAND_ACTION_CONDWRITE, + /** + * The operand is written (must write) and conditionally read by the + * instruction (may read). + */ + ZYDIS_OPERAND_ACTION_CONDREAD_WRITE = + ZYDIS_OPERAND_ACTION_CONDREAD | ZYDIS_OPERAND_ACTION_WRITE, + + /** + * Mask combining all reading access flags. + */ + ZYDIS_OPERAND_ACTION_MASK_READ = ZYDIS_OPERAND_ACTION_READ | ZYDIS_OPERAND_ACTION_CONDREAD, + /** + * Mask combining all writing access flags. + */ + ZYDIS_OPERAND_ACTION_MASK_WRITE = ZYDIS_OPERAND_ACTION_WRITE | ZYDIS_OPERAND_ACTION_CONDWRITE, + + /* ------------------------------------------------------------------------------------------ */ + + /** + * The minimum number of bits required to represent all values of this bitset. + */ + ZYDIS_OPERAND_ACTION_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_OPERAND_ACTION_CONDWRITE) +} ZydisOperandAction; + +/** + * Defines the `ZydisOperandActions` data-type. + */ +typedef ZyanU8 ZydisOperandActions; + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction encoding */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisInstructionEncoding` enum. + */ +typedef enum ZydisInstructionEncoding_ +{ + /** + * The instruction uses the legacy encoding. + */ + ZYDIS_INSTRUCTION_ENCODING_LEGACY, + /** + * The instruction uses the AMD 3DNow-encoding. + */ + ZYDIS_INSTRUCTION_ENCODING_3DNOW, + /** + * The instruction uses the AMD XOP-encoding. + */ + ZYDIS_INSTRUCTION_ENCODING_XOP, + /** + * The instruction uses the VEX-encoding. + */ + ZYDIS_INSTRUCTION_ENCODING_VEX, + /** + * The instruction uses the EVEX-encoding. + */ + ZYDIS_INSTRUCTION_ENCODING_EVEX, + /** + * The instruction uses the MVEX-encoding. + */ + ZYDIS_INSTRUCTION_ENCODING_MVEX, + + /** + * Maximum value of this enum. + */ + ZYDIS_INSTRUCTION_ENCODING_MAX_VALUE = ZYDIS_INSTRUCTION_ENCODING_MVEX, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_INSTRUCTION_ENCODING_REQUIRED_BITS = + ZYAN_BITS_TO_REPRESENT(ZYDIS_INSTRUCTION_ENCODING_MAX_VALUE) +} ZydisInstructionEncoding; + +/* ---------------------------------------------------------------------------------------------- */ +/* Opcode map */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisOpcodeMap` enum. + */ +typedef enum ZydisOpcodeMap_ +{ + ZYDIS_OPCODE_MAP_DEFAULT, + ZYDIS_OPCODE_MAP_0F, + ZYDIS_OPCODE_MAP_0F38, + ZYDIS_OPCODE_MAP_0F3A, + ZYDIS_OPCODE_MAP_0F0F, + ZYDIS_OPCODE_MAP_XOP8, + ZYDIS_OPCODE_MAP_XOP9, + ZYDIS_OPCODE_MAP_XOPA, + + /** + * Maximum value of this enum. + */ + ZYDIS_OPCODE_MAP_MAX_VALUE = ZYDIS_OPCODE_MAP_XOPA, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_OPCODE_MAP_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_OPCODE_MAP_MAX_VALUE) +} ZydisOpcodeMap; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_SHAREDTYPES_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/ShortString.h b/externals/dynarmic/externals/zydis/include/Zydis/ShortString.h new file mode 100755 index 000000000..bed45af6c --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/ShortString.h @@ -0,0 +1,90 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Defines the immutable and storage-efficient `ZydisShortString` struct, which + * is used to store strings in the generated tables. + */ + +#ifndef ZYDIS_SHORTSTRING_H +#define ZYDIS_SHORTSTRING_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +#pragma pack(push, 1) + +/** + * Defines the `ZydisShortString` struct. + * + * This compact struct is mainly used for internal string-tables to save up some bytes. + * + * All fields in this struct should be considered as "private". Any changes may lead to unexpected + * behavior. + */ +typedef struct ZydisShortString_ +{ + /** + * The buffer that contains the actual (null-terminated) string. + */ + const char* data; + /** + * The length (number of characters) of the string (without 0-termination). + */ + ZyanU8 size; +} ZydisShortString; + +#pragma pack(pop) + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/** + * Declares a `ZydisShortString` from a static C-style string. + * + * @param string The C-string constant. + */ +#define ZYDIS_MAKE_SHORTSTRING(string) \ + { string, sizeof(string) - 1 } + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_SHORTSTRING_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Status.h b/externals/dynarmic/externals/zydis/include/Zydis/Status.h new file mode 100755 index 000000000..d2a75f306 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Status.h @@ -0,0 +1,159 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Status code definitions and check macros. + */ + +#ifndef ZYDIS_STATUS_H +#define ZYDIS_STATUS_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Status codes */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Module IDs */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * The zydis module id. + */ +#define ZYAN_MODULE_ZYDIS 0x002u + +/* ---------------------------------------------------------------------------------------------- */ +/* Status codes */ +/* ---------------------------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoder */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * An attempt was made to read data from an input data-source that has no more + * data available. + */ +#define ZYDIS_STATUS_NO_MORE_DATA \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x00u) + +/** + * An general error occured while decoding the current instruction. The + * instruction might be undefined. + */ +#define ZYDIS_STATUS_DECODING_ERROR \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x01u) + +/** + * The instruction exceeded the maximum length of 15 bytes. + */ +#define ZYDIS_STATUS_INSTRUCTION_TOO_LONG \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x02u) + +/** + * The instruction encoded an invalid register. + */ +#define ZYDIS_STATUS_BAD_REGISTER \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x03u) + +/** + * A lock-prefix (F0) was found while decoding an instruction that does not + * support locking. + */ +#define ZYDIS_STATUS_ILLEGAL_LOCK \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x04u) + +/** + * A legacy-prefix (F2, F3, 66) was found while decoding a XOP/VEX/EVEX/MVEX + * instruction. + */ +#define ZYDIS_STATUS_ILLEGAL_LEGACY_PFX \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x05u) + +/** + * A rex-prefix was found while decoding a XOP/VEX/EVEX/MVEX instruction. + */ +#define ZYDIS_STATUS_ILLEGAL_REX \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x06u) + +/** + * An invalid opcode-map value was found while decoding a XOP/VEX/EVEX/MVEX-prefix. + */ +#define ZYDIS_STATUS_INVALID_MAP \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x07u) + +/** + * An error occured while decoding the EVEX-prefix. + */ +#define ZYDIS_STATUS_MALFORMED_EVEX \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x08u) + +/** + * An error occured while decoding the MVEX-prefix. + */ +#define ZYDIS_STATUS_MALFORMED_MVEX \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x09u) + +/** + * An invalid write-mask was specified for an EVEX/MVEX instruction. + */ +#define ZYDIS_STATUS_INVALID_MASK \ + ZYAN_MAKE_STATUS(1u, ZYAN_MODULE_ZYDIS, 0x0Au) + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatter */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returning this status code in some specified formatter callbacks will cause + * the formatter to omit the corresponding token. + * + * Valid callbacks: + * - `ZYDIS_FORMATTER_FUNC_PRE_OPERAND` + * - `ZYDIS_FORMATTER_FUNC_POST_OPERAND` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR` + * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM` + */ +#define ZYDIS_STATUS_SKIP_TOKEN \ + ZYAN_MAKE_STATUS(0u, ZYAN_MODULE_ZYDIS, 0x0Bu) + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_STATUS_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Utils.h b/externals/dynarmic/externals/zydis/include/Zydis/Utils.h new file mode 100755 index 000000000..aef9e9671 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Utils.h @@ -0,0 +1,275 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Other utility functions. + */ + +#ifndef ZYDIS_UTILS_H +#define ZYDIS_UTILS_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constants */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT 9 + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZydisInstructionSegment` struct. + */ +typedef enum ZydisInstructionSegment_ +{ + ZYDIS_INSTR_SEGMENT_NONE, + /** + * The legacy prefixes (including ignored `REX` prefixes). + */ + ZYDIS_INSTR_SEGMENT_PREFIXES, + /** + * The effective `REX` prefix byte. + */ + ZYDIS_INSTR_SEGMENT_REX, + /** + * The `XOP` prefix bytes. + */ + ZYDIS_INSTR_SEGMENT_XOP, + /** + * The `VEX` prefix bytes. + */ + ZYDIS_INSTR_SEGMENT_VEX, + /** + * The `EVEX` prefix bytes. + */ + ZYDIS_INSTR_SEGMENT_EVEX, + /** + * The `MVEX` prefix bytes. + */ + ZYDIS_INSTR_SEGMENT_MVEX, + /** + * The opcode bytes. + */ + ZYDIS_INSTR_SEGMENT_OPCODE, + /** + * The `ModRM` byte. + */ + ZYDIS_INSTR_SEGMENT_MODRM, + /** + * The `SIB` byte. + */ + ZYDIS_INSTR_SEGMENT_SIB, + /** + * The displacement bytes. + */ + ZYDIS_INSTR_SEGMENT_DISPLACEMENT, + /** + * The immediate bytes. + */ + ZYDIS_INSTR_SEGMENT_IMMEDIATE, + + /** + * Maximum value of this enum. + */ + ZYDIS_INSTR_SEGMENT_MAX_VALUE = ZYDIS_INSTR_SEGMENT_IMMEDIATE, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_INSTR_SEGMENT_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_INSTR_SEGMENT_MAX_VALUE) +} ZydisInstructionSegment; + +/** + * Defines the `ZydisInstructionSegments` struct. + */ +typedef struct ZydisInstructionSegments_ +{ + /** + * The number of logical instruction segments. + */ + ZyanU8 count; + struct + { + /** + * The type of the segment. + */ + ZydisInstructionSegment type; + /** + * The offset of the segment relative to the start of the instruction (in bytes). + */ + ZyanU8 offset; + /** + * The size of the segment, in bytes. + */ + ZyanU8 size; + } segments[ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT]; +} ZydisInstructionSegments; + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * @addtogroup utils Utils + * Miscellaneous utility functions. Address translation and other helpers. + * @{ + */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Address calculation */ +/* ---------------------------------------------------------------------------------------------- */ + +// TODO: Provide a function that works in minimal-mode and does not require a operand parameter + +/** + * Calculates the absolute address value for the given instruction operand. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param operand A pointer to the `ZydisDecodedOperand` struct. + * @param runtime_address The runtime address of the instruction. + * @param result_address A pointer to the memory that receives the absolute address. + * + * @return A zyan status code. + * + * You should use this function in the following cases: + * - `IMM` operands with relative address (e.g. `JMP`, `CALL`, ...) + * - `MEM` operands with `RIP`/`EIP`-relative address (e.g. `MOV RAX, [RIP+0x12345678]`) + * - `MEM` operands with absolute address (e.g. `MOV RAX, [0x12345678]`) + * - The displacement needs to get truncated and zero extended + */ +ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddress(const ZydisDecodedInstruction* instruction, + const ZydisDecodedOperand* operand, ZyanU64 runtime_address, ZyanU64* result_address); + +/** + * Calculates the absolute address value for the given instruction operand. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param operand A pointer to the `ZydisDecodedOperand` struct. + * @param runtime_address The runtime address of the instruction. + * @param register_context A pointer to the `ZydisRegisterContext` struct. + * @param result_address A pointer to the memory that receives the absolute target-address. + * + * @return A zyan status code. + * + * This function behaves like `ZydisCalcAbsoluteAddress` but takes an additional register-context + * argument to allow calculation of addresses depending on runtime register values. + * + * Note that `IP/EIP/RIP` from the register-context will be ignored in favor of the passed + * runtime-address. + */ +ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddressEx(const ZydisDecodedInstruction* instruction, + const ZydisDecodedOperand* operand, ZyanU64 runtime_address, + const ZydisRegisterContext* register_context, ZyanU64* result_address); + +/* ---------------------------------------------------------------------------------------------- */ +/* Accessed CPU flags */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns a mask of accessed CPU-flags matching the given `action`. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param action The CPU-flag action. + * @param flags Receives the flag mask. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisGetAccessedFlagsByAction(const ZydisDecodedInstruction* instruction, + ZydisCPUFlagAction action, ZydisCPUFlags* flags); + +/** + * Returns a mask of accessed CPU-flags that are read (tested) by the current instruction. + * + * DEPRECATED. This function will be removed in the next major release. Please refer to the + * `cpu_flags_read` or `fpu_flags_read` fields of the `ZydisDecodedInstruction` instead. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param flags Receives the flag mask. + * + * @return A zyan status code. + */ +ZYDIS_DEPRECATED_EXPORT ZyanStatus ZydisGetAccessedFlagsRead( + const ZydisDecodedInstruction* instruction, ZydisCPUFlags* flags); + +/** + * Returns a mask of accessed CPU-flags that are written (modified, undefined) by the current + * instruction. + * + * DEPRECATED. This function will be removed in the next major release. Please refer to the + * `cpu_flags_written` or `fpu_flags_written` fields of the `ZydisDecodedInstruction` instead. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param flags Receives the flag mask. + * + * @return A zyan status code. + */ +ZYDIS_DEPRECATED_EXPORT ZyanStatus ZydisGetAccessedFlagsWritten( + const ZydisDecodedInstruction* instruction, ZydisCPUFlags* flags); + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction segments */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns offsets and sizes of all logical instruction segments (e.g. `OPCODE`, + * `MODRM`, ...). + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param segments Receives the instruction segments information. + * + * @return A zyan status code. + */ +ZYDIS_EXPORT ZyanStatus ZydisGetInstructionSegments(const ZydisDecodedInstruction* instruction, + ZydisInstructionSegments* segments); + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * @} + */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_UTILS_H */ diff --git a/externals/dynarmic/externals/zydis/include/Zydis/Zydis.h b/externals/dynarmic/externals/zydis/include/Zydis/Zydis.h new file mode 100755 index 000000000..a0d2d8770 --- /dev/null +++ b/externals/dynarmic/externals/zydis/include/Zydis/Zydis.h @@ -0,0 +1,169 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Master include file, including everything else. + */ + +#ifndef ZYDIS_H +#define ZYDIS_H + +#include +#include + +#ifndef ZYDIS_DISABLE_DECODER +# include +# include +#endif + +#ifndef ZYDIS_DISABLE_FORMATTER +# include +#endif + +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constants */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * A macro that defines the zydis version. + */ +#define ZYDIS_VERSION (ZyanU64)0x0003000100000000 + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper macros */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Extracts the major-part of the zydis version. + * + * @param version The zydis version value + */ +#define ZYDIS_VERSION_MAJOR(version) (ZyanU16)(((version) & 0xFFFF000000000000) >> 48) + +/** + * Extracts the minor-part of the zydis version. + * + * @param version The zydis version value + */ +#define ZYDIS_VERSION_MINOR(version) (ZyanU16)(((version) & 0x0000FFFF00000000) >> 32) + +/** + * Extracts the patch-part of the zydis version. + * + * @param version The zydis version value + */ +#define ZYDIS_VERSION_PATCH(version) (ZyanU16)(((version) & 0x00000000FFFF0000) >> 16) + +/** + * Extracts the build-part of the zydis version. + * + * @param version The zydis version value + */ +#define ZYDIS_VERSION_BUILD(version) (ZyanU16)((version) & 0x000000000000FFFF) + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Defines the `ZydisFeature` enum. + */ +typedef enum ZydisFeature_ +{ + ZYDIS_FEATURE_DECODER, + ZYDIS_FEATURE_FORMATTER, + ZYDIS_FEATURE_AVX512, + ZYDIS_FEATURE_KNC, + + /** + * Maximum value of this enum. + */ + ZYDIS_FEATURE_MAX_VALUE = ZYDIS_FEATURE_KNC, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_FEATURE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FEATURE_MAX_VALUE) +} ZydisFeature; + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/** + * @addtogroup version Version + * Functions for checking the library version and build options. + * @{ + */ + +/** + * Returns the zydis version. + * + * @return The zydis version. + * + * Use the macros provided in this file to extract the major, minor, patch and build part from the + * returned version value. + */ +ZYDIS_EXPORT ZyanU64 ZydisGetVersion(void); + +/** + * Checks, if the specified feature is enabled in the current zydis library instance. + * + * @param feature The feature. + * + * @return `ZYAN_STATUS_TRUE` if the feature is enabled, `ZYAN_STATUS_FALSE` if not. Another + * zyan status code, if an error occured. + */ +ZYDIS_EXPORT ZyanStatus ZydisIsFeatureEnabled(ZydisFeature feature); + +/** + * @} + */ + +/* ============================================================================================== */ + +#ifdef __cplusplus +} +#endif + +#endif /* ZYDIS_H */ diff --git a/externals/dynarmic/externals/zydis/msvc/README.md b/externals/dynarmic/externals/zydis/msvc/README.md new file mode 100755 index 000000000..f87736fa9 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/README.md @@ -0,0 +1,17 @@ +## Readme + +This directory contains MSVC project files to build Zydis and the included tools and examples. + +There are five build configurations, each with 32/64 bit and debug/release versions: +- Static with dynamic run-time library (MD) +- Static with static run-time library (MT) +- Dynamic (DLL) with dynamic run-time library (MD) +- Dynamic (DLL) with static run-time library (MT) +- Kernel mode + +In order to build the kernel mode configuration you must have the Microsoft WDK installed, available at https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit. +The kernel mode configuration only builds `Zydis` and the `ZydisWinKernel` driver sample. The other configurations build all projects except for `ZydisWinKernel`. + +NOTE: If you already have the WDK installed, make sure it is updated to at least the Windows 10 1709 version (10.0.16299.0) in order to prevent issues opening the solution file. This is due to a bug in older WDK toolsets. + +All Zydis features are enabled by default. In order to disable specific features you can define preprocessor directives such as `ZYDIS_DISABLE_FORMATTER`. Refer to `CMakeLists.txt` for the full list of feature switches. diff --git a/externals/dynarmic/externals/zydis/msvc/ZycoreExportConfig.h b/externals/dynarmic/externals/zydis/msvc/ZycoreExportConfig.h new file mode 100755 index 000000000..f050d37ce --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/ZycoreExportConfig.h @@ -0,0 +1,42 @@ + +#ifndef ZYCORE_EXPORT_H +#define ZYCORE_EXPORT_H + +#ifdef ZYCORE_STATIC_DEFINE +# define ZYCORE_EXPORT +# define ZYCORE_NO_EXPORT +#else +# ifndef ZYCORE_EXPORT +# ifdef Zycore_EXPORTS + /* We are building this library */ +# define ZYCORE_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define ZYCORE_EXPORT __declspec(dllimport) +# endif +# endif + +# ifndef ZYCORE_NO_EXPORT +# define ZYCORE_NO_EXPORT +# endif +#endif + +#ifndef ZYCORE_DEPRECATED +# define ZYCORE_DEPRECATED __declspec(deprecated) +#endif + +#ifndef ZYCORE_DEPRECATED_EXPORT +# define ZYCORE_DEPRECATED_EXPORT ZYCORE_EXPORT ZYCORE_DEPRECATED +#endif + +#ifndef ZYCORE_DEPRECATED_NO_EXPORT +# define ZYCORE_DEPRECATED_NO_EXPORT ZYCORE_NO_EXPORT ZYCORE_DEPRECATED +#endif + +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef ZYCORE_NO_DEPRECATED +# define ZYCORE_NO_DEPRECATED +# endif +#endif + +#endif /* ZYCORE_EXPORT_H */ diff --git a/externals/dynarmic/externals/zydis/msvc/Zydis.sln b/externals/dynarmic/externals/zydis/msvc/Zydis.sln new file mode 100755 index 000000000..cfa321300 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/Zydis.sln @@ -0,0 +1,458 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.28307.421 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{4F5048C7-CB90-437E-AB21-32258F9650B6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{292A9E1E-C557-4570-ABE1-8EEC0E1B79C4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Formatter01", "examples\Formatter01.vcxproj", "{B715A378-C8B9-4DC1-A57B-8BC4C47CED28}" + ProjectSection(ProjectDependencies) = postProject + {88A23124-5640-35A0-B890-311D7A67A7D2} = {88A23124-5640-35A0-B890-311D7A67A7D2} + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} = {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Formatter02", "examples\Formatter02.vcxproj", "{FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}" + ProjectSection(ProjectDependencies) = postProject + {88A23124-5640-35A0-B890-311D7A67A7D2} = {88A23124-5640-35A0-B890-311D7A67A7D2} + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} = {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Formatter03", "examples\Formatter03.vcxproj", "{A67C94F3-60F8-4AAF-9309-F86F73F8529C}" + ProjectSection(ProjectDependencies) = postProject + {88A23124-5640-35A0-B890-311D7A67A7D2} = {88A23124-5640-35A0-B890-311D7A67A7D2} + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} = {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZydisPerfTest", "examples\ZydisPerfTest.vcxproj", "{91EF3E98-CD57-3870-A399-A0D98D193F80}" + ProjectSection(ProjectDependencies) = postProject + {88A23124-5640-35A0-B890-311D7A67A7D2} = {88A23124-5640-35A0-B890-311D7A67A7D2} + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} = {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZydisDisasm", "tools\ZydisDisasm.vcxproj", "{805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}" + ProjectSection(ProjectDependencies) = postProject + {88A23124-5640-35A0-B890-311D7A67A7D2} = {88A23124-5640-35A0-B890-311D7A67A7D2} + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} = {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZydisFuzzIn", "tools\ZydisFuzzIn.vcxproj", "{A0C9A331-13CC-3762-9D26-9F82C6518CAA}" + ProjectSection(ProjectDependencies) = postProject + {88A23124-5640-35A0-B890-311D7A67A7D2} = {88A23124-5640-35A0-B890-311D7A67A7D2} + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} = {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZydisInfo", "tools\ZydisInfo.vcxproj", "{BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}" + ProjectSection(ProjectDependencies) = postProject + {88A23124-5640-35A0-B890-311D7A67A7D2} = {88A23124-5640-35A0-B890-311D7A67A7D2} + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} = {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Zydis", "zydis\Zydis.vcxproj", "{88A23124-5640-35A0-B890-311D7A67A7D2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZydisWinKernel", "examples\ZydisWinKernel.vcxproj", "{45BD58A5-1711-417F-99E7-B640C56F8009}" + ProjectSection(ProjectDependencies) = postProject + {88A23124-5640-35A0-B890-311D7A67A7D2} = {88A23124-5640-35A0-B890-311D7A67A7D2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Zycore", "dependencies\zycore\Zycore.vcxproj", "{E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug Kernel|X64 = Debug Kernel|X64 + Debug Kernel|X86 = Debug Kernel|X86 + Debug MD DLL|X64 = Debug MD DLL|X64 + Debug MD DLL|X86 = Debug MD DLL|X86 + Debug MD|X64 = Debug MD|X64 + Debug MD|X86 = Debug MD|X86 + Debug MT DLL|X64 = Debug MT DLL|X64 + Debug MT DLL|X86 = Debug MT DLL|X86 + Debug MT|X64 = Debug MT|X64 + Debug MT|X86 = Debug MT|X86 + Release Kernel|X64 = Release Kernel|X64 + Release Kernel|X86 = Release Kernel|X86 + Release MD DLL|X64 = Release MD DLL|X64 + Release MD DLL|X86 = Release MD DLL|X86 + Release MD|X64 = Release MD|X64 + Release MD|X86 = Release MD|X86 + Release MT DLL|X64 = Release MT DLL|X64 + Release MT DLL|X86 = Release MT DLL|X86 + Release MT|X64 = Release MT|X64 + Release MT|X86 = Release MT|X86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug Kernel|X64.ActiveCfg = Debug MT|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug Kernel|X86.ActiveCfg = Debug MT|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MD|X64.Build.0 = Debug MD|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MD|X86.Build.0 = Debug MD|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MT|X64.Build.0 = Debug MT|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Debug MT|X86.Build.0 = Debug MT|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release Kernel|X64.ActiveCfg = Release MT|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release Kernel|X86.ActiveCfg = Release MT|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MD|X64.ActiveCfg = Release MD|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MD|X64.Build.0 = Release MD|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MD|X86.ActiveCfg = Release MD|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MD|X86.Build.0 = Release MD|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MT|X64.ActiveCfg = Release MT|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MT|X64.Build.0 = Release MT|x64 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MT|X86.ActiveCfg = Release MT|Win32 + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28}.Release MT|X86.Build.0 = Release MT|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug Kernel|X64.ActiveCfg = Debug MT|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug Kernel|X86.ActiveCfg = Debug MT|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MD|X64.Build.0 = Debug MD|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MD|X86.Build.0 = Debug MD|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MT|X64.Build.0 = Debug MT|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Debug MT|X86.Build.0 = Debug MT|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release Kernel|X64.ActiveCfg = Release MT|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release Kernel|X86.ActiveCfg = Release MT|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MD|X64.ActiveCfg = Release MD|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MD|X64.Build.0 = Release MD|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MD|X86.ActiveCfg = Release MD|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MD|X86.Build.0 = Release MD|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MT|X64.ActiveCfg = Release MT|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MT|X64.Build.0 = Release MT|x64 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MT|X86.ActiveCfg = Release MT|Win32 + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F}.Release MT|X86.Build.0 = Release MT|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug Kernel|X64.ActiveCfg = Debug MT|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug Kernel|X86.ActiveCfg = Debug MT|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MD|X64.Build.0 = Debug MD|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MD|X86.Build.0 = Debug MD|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MT|X64.Build.0 = Debug MT|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Debug MT|X86.Build.0 = Debug MT|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release Kernel|X64.ActiveCfg = Release MT|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release Kernel|X86.ActiveCfg = Release MT|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MD|X64.ActiveCfg = Release MD|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MD|X64.Build.0 = Release MD|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MD|X86.ActiveCfg = Release MD|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MD|X86.Build.0 = Release MD|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MT|X64.ActiveCfg = Release MT|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MT|X64.Build.0 = Release MT|x64 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MT|X86.ActiveCfg = Release MT|Win32 + {A67C94F3-60F8-4AAF-9309-F86F73F8529C}.Release MT|X86.Build.0 = Release MT|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug Kernel|X64.ActiveCfg = Debug MT|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug Kernel|X86.ActiveCfg = Debug MT|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MD|X64.Build.0 = Debug MD|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MD|X86.Build.0 = Debug MD|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MT|X64.Build.0 = Debug MT|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Debug MT|X86.Build.0 = Debug MT|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release Kernel|X64.ActiveCfg = Release MT|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release Kernel|X86.ActiveCfg = Release MT|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MD|X64.ActiveCfg = Release MD|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MD|X64.Build.0 = Release MD|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MD|X86.ActiveCfg = Release MD|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MD|X86.Build.0 = Release MD|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MT|X64.ActiveCfg = Release MT|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MT|X64.Build.0 = Release MT|x64 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MT|X86.ActiveCfg = Release MT|Win32 + {91EF3E98-CD57-3870-A399-A0D98D193F80}.Release MT|X86.Build.0 = Release MT|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug Kernel|X64.ActiveCfg = Debug MT|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug Kernel|X86.ActiveCfg = Debug MT|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MD|X64.Build.0 = Debug MD|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MD|X86.Build.0 = Debug MD|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MT|X64.Build.0 = Debug MT|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Debug MT|X86.Build.0 = Debug MT|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release Kernel|X64.ActiveCfg = Release MT|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release Kernel|X86.ActiveCfg = Release MT|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MD|X64.ActiveCfg = Release MD|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MD|X64.Build.0 = Release MD|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MD|X86.ActiveCfg = Release MD|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MD|X86.Build.0 = Release MD|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MT|X64.ActiveCfg = Release MT|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MT|X64.Build.0 = Release MT|x64 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MT|X86.ActiveCfg = Release MT|Win32 + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2}.Release MT|X86.Build.0 = Release MT|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug Kernel|X64.ActiveCfg = Debug MT|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug Kernel|X86.ActiveCfg = Debug MT|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MD|X64.Build.0 = Debug MD|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MD|X86.Build.0 = Debug MD|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MT|X64.Build.0 = Debug MT|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Debug MT|X86.Build.0 = Debug MT|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release Kernel|X64.ActiveCfg = Release MT|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release Kernel|X86.ActiveCfg = Release MT|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MD|X64.ActiveCfg = Release MD|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MD|X64.Build.0 = Release MD|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MD|X86.ActiveCfg = Release MD|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MD|X86.Build.0 = Release MD|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MT|X64.ActiveCfg = Release MT|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MT|X64.Build.0 = Release MT|x64 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MT|X86.ActiveCfg = Release MT|Win32 + {A0C9A331-13CC-3762-9D26-9F82C6518CAA}.Release MT|X86.Build.0 = Release MT|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug Kernel|X64.ActiveCfg = Debug MT|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug Kernel|X86.ActiveCfg = Debug MT|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MD|X64.Build.0 = Debug MD|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MD|X86.Build.0 = Debug MD|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MT|X64.Build.0 = Debug MT|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Debug MT|X86.Build.0 = Debug MT|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release Kernel|X64.ActiveCfg = Release MT|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release Kernel|X86.ActiveCfg = Release MT|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MD|X64.ActiveCfg = Release MD|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MD|X64.Build.0 = Release MD|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MD|X86.ActiveCfg = Release MD|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MD|X86.Build.0 = Release MD|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MT|X64.ActiveCfg = Release MT|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MT|X64.Build.0 = Release MT|x64 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MT|X86.ActiveCfg = Release MT|Win32 + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E}.Release MT|X86.Build.0 = Release MT|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|X64.ActiveCfg = Debug Kernel|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|X64.Build.0 = Debug Kernel|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|X86.ActiveCfg = Debug Kernel|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug Kernel|X86.Build.0 = Debug Kernel|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD|X64.Build.0 = Debug MD|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MD|X86.Build.0 = Debug MD|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT|X64.Build.0 = Debug MT|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Debug MT|X86.Build.0 = Debug MT|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|X64.ActiveCfg = Release Kernel|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|X64.Build.0 = Release Kernel|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|X86.ActiveCfg = Release Kernel|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release Kernel|X86.Build.0 = Release Kernel|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD|X64.ActiveCfg = Release MD|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD|X64.Build.0 = Release MD|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD|X86.ActiveCfg = Release MD|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MD|X86.Build.0 = Release MD|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT|X64.ActiveCfg = Release MT|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT|X64.Build.0 = Release MT|x64 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT|X86.ActiveCfg = Release MT|Win32 + {88A23124-5640-35A0-B890-311D7A67A7D2}.Release MT|X86.Build.0 = Release MT|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug Kernel|X64.ActiveCfg = Debug|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug Kernel|X64.Build.0 = Debug|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug Kernel|X86.ActiveCfg = Debug|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug Kernel|X86.Build.0 = Debug|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MD DLL|X64.ActiveCfg = Debug|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MD DLL|X86.ActiveCfg = Debug|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MD|X64.ActiveCfg = Debug|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MD|X86.ActiveCfg = Debug|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MT DLL|X64.ActiveCfg = Debug|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MT DLL|X86.ActiveCfg = Debug|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MT DLL|X86.Deploy.0 = Debug|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MT|X64.ActiveCfg = Debug|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MT|X86.ActiveCfg = Debug|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Debug MT|X86.Deploy.0 = Debug|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release Kernel|X64.ActiveCfg = Release|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release Kernel|X64.Build.0 = Release|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release Kernel|X86.ActiveCfg = Release|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release Kernel|X86.Build.0 = Release|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MD DLL|X64.ActiveCfg = Release|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MD DLL|X86.ActiveCfg = Release|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MD|X64.ActiveCfg = Release|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MD|X86.ActiveCfg = Release|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MT DLL|X64.ActiveCfg = Release|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MT DLL|X64.Deploy.0 = Release|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MT DLL|X86.ActiveCfg = Release|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MT DLL|X86.Deploy.0 = Release|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MT|X64.ActiveCfg = Release|x64 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MT|X86.ActiveCfg = Release|Win32 + {45BD58A5-1711-417F-99E7-B640C56F8009}.Release MT|X86.Deploy.0 = Release|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug Kernel|X64.ActiveCfg = Debug Kernel|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug Kernel|X86.ActiveCfg = Debug Kernel|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MD DLL|X64.ActiveCfg = Debug MD DLL|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MD DLL|X64.Build.0 = Debug MD DLL|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MD DLL|X86.ActiveCfg = Debug MD DLL|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MD DLL|X86.Build.0 = Debug MD DLL|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MD|X64.ActiveCfg = Debug MD|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MD|X64.Build.0 = Debug MD|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MD|X86.ActiveCfg = Debug MD|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MD|X86.Build.0 = Debug MD|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MT DLL|X64.ActiveCfg = Debug MT DLL|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MT DLL|X64.Build.0 = Debug MT DLL|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MT DLL|X86.ActiveCfg = Debug MT DLL|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MT DLL|X86.Build.0 = Debug MT DLL|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MT|X64.ActiveCfg = Debug MT|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MT|X64.Build.0 = Debug MT|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MT|X86.ActiveCfg = Debug MT|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Debug MT|X86.Build.0 = Debug MT|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release Kernel|X64.ActiveCfg = Release Kernel|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release Kernel|X86.ActiveCfg = Release Kernel|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MD DLL|X64.ActiveCfg = Release MD DLL|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MD DLL|X64.Build.0 = Release MD DLL|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MD DLL|X86.ActiveCfg = Release MD DLL|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MD DLL|X86.Build.0 = Release MD DLL|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MD|X64.ActiveCfg = Release MD|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MD|X64.Build.0 = Release MD|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MD|X86.ActiveCfg = Release MD|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MD|X86.Build.0 = Release MD|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MT DLL|X64.ActiveCfg = Release MT DLL|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MT DLL|X64.Build.0 = Release MT DLL|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MT DLL|X86.ActiveCfg = Release MT DLL|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MT DLL|X86.Build.0 = Release MT DLL|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MT|X64.ActiveCfg = Release MT|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MT|X64.Build.0 = Release MT|x64 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MT|X86.ActiveCfg = Release MT|Win32 + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2}.Release MT|X86.Build.0 = Release MT|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28} = {4F5048C7-CB90-437E-AB21-32258F9650B6} + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F} = {4F5048C7-CB90-437E-AB21-32258F9650B6} + {A67C94F3-60F8-4AAF-9309-F86F73F8529C} = {4F5048C7-CB90-437E-AB21-32258F9650B6} + {91EF3E98-CD57-3870-A399-A0D98D193F80} = {4F5048C7-CB90-437E-AB21-32258F9650B6} + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2} = {292A9E1E-C557-4570-ABE1-8EEC0E1B79C4} + {A0C9A331-13CC-3762-9D26-9F82C6518CAA} = {292A9E1E-C557-4570-ABE1-8EEC0E1B79C4} + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E} = {292A9E1E-C557-4570-ABE1-8EEC0E1B79C4} + {45BD58A5-1711-417F-99E7-B640C56F8009} = {4F5048C7-CB90-437E-AB21-32258F9650B6} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F578E55A-EB10-4D4A-9F4E-C74DCB58DE73} + EndGlobalSection +EndGlobal diff --git a/externals/dynarmic/externals/zydis/msvc/ZydisExportConfig.h b/externals/dynarmic/externals/zydis/msvc/ZydisExportConfig.h new file mode 100755 index 000000000..2e0b4a23f --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/ZydisExportConfig.h @@ -0,0 +1,42 @@ + +#ifndef ZYDIS_EXPORT_H +#define ZYDIS_EXPORT_H + +#ifdef ZYDIS_STATIC_DEFINE +# define ZYDIS_EXPORT +# define ZYDIS_NO_EXPORT +#else +# ifndef ZYDIS_EXPORT +# ifdef Zydis_EXPORTS + /* We are building this library */ +# define ZYDIS_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define ZYDIS_EXPORT __declspec(dllimport) +# endif +# endif + +# ifndef ZYDIS_NO_EXPORT +# define ZYDIS_NO_EXPORT +# endif +#endif + +#ifndef ZYDIS_DEPRECATED +# define ZYDIS_DEPRECATED __declspec(deprecated) +#endif + +#ifndef ZYDIS_DEPRECATED_EXPORT +# define ZYDIS_DEPRECATED_EXPORT ZYDIS_EXPORT ZYDIS_DEPRECATED +#endif + +#ifndef ZYDIS_DEPRECATED_NO_EXPORT +# define ZYDIS_DEPRECATED_NO_EXPORT ZYDIS_NO_EXPORT ZYDIS_DEPRECATED +#endif + +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef ZYDIS_NO_DEPRECATED +# define ZYDIS_NO_DEPRECATED +# endif +#endif + +#endif /* ZYDIS_EXPORT_H */ diff --git a/externals/dynarmic/externals/zydis/msvc/dependencies/zycore/Zycore.vcxproj b/externals/dynarmic/externals/zydis/msvc/dependencies/zycore/Zycore.vcxproj new file mode 100755 index 000000000..1953d7969 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/dependencies/zycore/Zycore.vcxproj @@ -0,0 +1,893 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug Kernel + Win32 + + + Debug Kernel + x64 + + + Debug MD + Win32 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release Kernel + Win32 + + + Release Kernel + x64 + + + Release MD + Win32 + + + Debug MD + x64 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {E06E2E87-82B9-4DC2-A1E9-FE371CDBAAC2} + 14.0 + Release + x64 + $(MSBuildProjectName) + Win32Proj + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + + + + true + v142 + StaticLibrary + MultiByte + + + true + v142 + StaticLibrary + MultiByte + + + Windows7 + true + WindowsKernelModeDriver10.0 + StaticLibrary + Desktop + WDM + false + + + true + v142 + DynamicLibrary + MultiByte + + + true + v142 + DynamicLibrary + MultiByte + + + false + v142 + StaticLibrary + MultiByte + + + false + v142 + StaticLibrary + MultiByte + + + Windows7 + false + WindowsKernelModeDriver10.0 + StaticLibrary + Desktop + WDM + false + + + false + v142 + DynamicLibrary + MultiByte + true + + + false + v142 + DynamicLibrary + MultiByte + true + + + true + v142 + StaticLibrary + MultiByte + + + true + v142 + StaticLibrary + MultiByte + + + Windows7 + true + WindowsKernelModeDriver10.0 + StaticLibrary + Desktop + WDM + false + + + true + v142 + DynamicLibrary + MultiByte + + + true + v142 + DynamicLibrary + MultiByte + + + false + v142 + StaticLibrary + MultiByte + + + false + v142 + StaticLibrary + MultiByte + + + Windows7 + false + WindowsKernelModeDriver10.0 + StaticLibrary + Desktop + WDM + false + + + false + v142 + DynamicLibrary + MultiByte + true + + + false + v142 + DynamicLibrary + MultiByte + true + + + + + + + + + + ..\..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\..\bin\DebugX86Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + ..\..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\..\bin\ReleaseX86Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + ..\..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\..\bin\DebugX64Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + ..\..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\..\bin\ReleaseX64Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + ..\..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + true + Level3 + false + false + false + false + + + Console + 5.01 + true + MachineX86 + + + + + ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + true + Level3 + false + false + false + false + MultiThreadedDebug + + + Console + 5.01 + true + MachineX86 + + + + + ZYAN_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_X86_=1;i386=1;STD_CALL;DBG;%(PreprocessorDefinitions) + /Gw /kernel + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + true + + + Native + $(SUBSYSTEM_NATVER) + true + true + + + + + Zycore_EXPORTS;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + Level3 + false + false + false + + + Zycore_EXPORTS;ZYCORE_EXPORTS;_DLL;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../../include;../../../src;../..;%(AdditionalIncludeDirectories) + + + 5.1 + DebugFull + true + Console + 5.01 + true + true + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + Zycore_EXPORTS;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + Level3 + false + false + false + MultiThreadedDebug + + + Zycore_EXPORTS;ZYCORE_EXPORTS;_DLL;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../../include;../../../src;../..;%(AdditionalIncludeDirectories) + + + 5.1 + DebugFull + true + Console + 5.01 + true + true + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + true + true + ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + true + Level3 + true + false + false + false + + + Console + 5.01 + true + MachineX86 + + + + + true + true + ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + true + Level3 + true + false + false + false + MultiThreaded + + + Console + 5.01 + true + MachineX86 + + + + + true + true + ZYAN_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions) + Caret + /Gw /kernel + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + true + + + Native + $(SUBSYSTEM_NATVER) + true + true + + + + + true + true + Zycore_EXPORTS;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + Level3 + true + false + false + MultiThreadedDLL + + + Zycore_EXPORTS;ZYCORE_EXPORTS;_DLL;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../../include;../../../src;../..;%(AdditionalIncludeDirectories) + + + 5.1 + DebugFull + true + Console + 5.01 + true + true + UseLinkTimeCodeGeneration + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + true + true + Zycore_EXPORTS;ZYCORE_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + Level3 + true + false + false + MultiThreaded + + + Zycore_EXPORTS;ZYCORE_EXPORTS;_DLL;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../../include;../../../src;../..;%(AdditionalIncludeDirectories) + + + 5.1 + DebugFull + true + Console + 5.01 + true + true + UseLinkTimeCodeGeneration + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + true + Level3 + false + false + false + false + + + Console + 5.02 + true + + + + + ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + true + Level3 + false + false + false + false + MultiThreadedDebug + + + Console + 5.02 + true + + + + + ZYAN_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_AMD64_;AMD64;DBG;%(PreprocessorDefinitions) + /Gw /kernel + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + true + + + Native + $(SUBSYSTEM_NATVER) + true + true + + + + + Zycore_EXPORTS;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + Level3 + false + false + false + + + Zycore_EXPORTS;ZYCORE_EXPORTS;_DLL;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../../include;../../../src;../..;%(AdditionalIncludeDirectories) + + + 5.2 + DebugFull + true + Console + 5.02 + true + true + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + Zycore_EXPORTS;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + Disabled + true + Level3 + false + false + false + MultiThreadedDebug + + + Zycore_EXPORTS;ZYCORE_EXPORTS;_DLL;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../../include;../../../src;../..;%(AdditionalIncludeDirectories) + + + 5.2 + DebugFull + true + Console + 5.02 + true + true + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + true + true + ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + true + Level3 + true + false + false + false + + + Console + 5.02 + true + + + + + true + true + ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + true + Level3 + true + false + false + false + MultiThreaded + + + Console + 5.02 + true + + + + + true + true + ZYAN_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_AMD64_;AMD64;%(PreprocessorDefinitions) + Caret + /Gw /kernel + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + true + + + Native + $(SUBSYSTEM_NATVER) + true + true + + + + + true + true + Zycore_EXPORTS;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + Level3 + true + false + false + MultiThreadedDLL + + + Zycore_EXPORTS;ZYCORE_EXPORTS;_DLL;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../../include;../../../src;../..;%(AdditionalIncludeDirectories) + + + 5.2 + DebugFull + true + Console + 5.02 + true + true + UseLinkTimeCodeGeneration + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + true + true + Zycore_EXPORTS;ZYCORE_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../../dependencies/zycore/include;../../../dependencies/zycore;../../../dependencies/zycore/src;../..;%(AdditionalIncludeDirectories) + true + Level3 + true + false + false + MultiThreaded + + + Zycore_EXPORTS;ZYCORE_EXPORTS;_DLL;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../../include;../../../src;../..;%(AdditionalIncludeDirectories) + + + 5.2 + DebugFull + true + Console + 5.02 + true + true + UseLinkTimeCodeGeneration + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/dependencies/zycore/Zycore.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/dependencies/zycore/Zycore.vcxproj.filters new file mode 100755 index 000000000..895126f9d --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/dependencies/zycore/Zycore.vcxproj.filters @@ -0,0 +1,79 @@ + + + + + {74C76D08-D2D9-4FE6-A464-D503802742AC} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {5DACC7C8-9BD3-4566-9AFE-6C4725ADAEB0} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {4175306a-1bd9-42e5-9e16-98a33f23f385} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Resource Files + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/Formatter01.vcxproj b/externals/dynarmic/externals/zydis/msvc/examples/Formatter01.vcxproj new file mode 100755 index 000000000..efbeb01a1 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/Formatter01.vcxproj @@ -0,0 +1,818 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug MD + Win32 + + + Debug MD + x64 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release MD + Win32 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {B715A378-C8B9-4DC1-A57B-8BC4C47CED28} + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + Win32Proj + Formatter01 + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + + + + + + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/Formatter01.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/examples/Formatter01.vcxproj.filters new file mode 100755 index 000000000..53aafa45c --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/Formatter01.vcxproj.filters @@ -0,0 +1,95 @@ + + + + + {696C4839-0CFE-4685-8A7E-17D6CEA8A9E1} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {B33CB479-1C96-4E23-AABF-6F6AFE4EC48F} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {F16C31FA-178D-4018-B19B-AC17921D4BBA} + + + {7E5DB78A-D59D-4537-B5FE-D5BFB35D8684} + + + + + Source Files + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/Formatter02.vcxproj b/externals/dynarmic/externals/zydis/msvc/examples/Formatter02.vcxproj new file mode 100755 index 000000000..fedafa48b --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/Formatter02.vcxproj @@ -0,0 +1,818 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug MD + Win32 + + + Debug MD + x64 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release MD + Win32 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {FD558EDB-A3E1-4FB5-A40A-4BE19346B24F} + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + Win32Proj + Formatter02 + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + + + + + + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/Formatter02.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/examples/Formatter02.vcxproj.filters new file mode 100755 index 000000000..7cd64fdcb --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/Formatter02.vcxproj.filters @@ -0,0 +1,95 @@ + + + + + {EEA2894A-5270-4A30-A19A-6E197DF8F321} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {D13CAF58-E8F9-44C6-BB28-12E3A9124A6B} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {2DA0252F-A511-42D7-87CF-B4CAC2AF15F1} + + + {3F259D2B-7A0D-4147-B076-203B5EC4AF31} + + + + + Source Files + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/Formatter03.vcxproj b/externals/dynarmic/externals/zydis/msvc/examples/Formatter03.vcxproj new file mode 100755 index 000000000..0a780c78a --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/Formatter03.vcxproj @@ -0,0 +1,818 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug MD + Win32 + + + Debug MD + x64 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release MD + Win32 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {A67C94F3-60F8-4AAF-9309-F86F73F8529C} + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + Win32Proj + Formatter03 + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + + + + + + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/Formatter03.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/examples/Formatter03.vcxproj.filters new file mode 100755 index 000000000..25d904ba2 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/Formatter03.vcxproj.filters @@ -0,0 +1,95 @@ + + + + + {F4C79A89-1963-4A14-84DB-EF4DF9F46217} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {3E5632E3-79C0-48D1-B2F0-A7CC3B08344B} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {AE8ED7E6-E8D2-466E-B5D7-51B0B5D3B3AF} + + + {E6AAE699-279A-49D1-BF5F-B4A08678A442} + + + + + Source Files + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/ZydisPerfTest.vcxproj b/externals/dynarmic/externals/zydis/msvc/examples/ZydisPerfTest.vcxproj new file mode 100755 index 000000000..2f88526e9 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/ZydisPerfTest.vcxproj @@ -0,0 +1,818 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug MD + Win32 + + + Debug MD + x64 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release MD + Win32 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {91EF3E98-CD57-3870-A399-A0D98D193F80} + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + Win32Proj + ZydisPerfTest + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + + + + + + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/ZydisPerfTest.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/examples/ZydisPerfTest.vcxproj.filters new file mode 100755 index 000000000..cb1954142 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/ZydisPerfTest.vcxproj.filters @@ -0,0 +1,95 @@ + + + + + {664BBE0B-918F-3B41-8D06-1875B10A7BE5} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {54CFF9CE-5525-3FCE-8ECE-9A26FB686F56} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {8CD89CBF-4A23-408A-AED4-3CDFB9296284} + + + {A98CBC54-AA7E-4AEE-80CE-19DD4304363F} + + + + + Source Files + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/ZydisWinKernel.vcxproj b/externals/dynarmic/externals/zydis/msvc/examples/ZydisWinKernel.vcxproj new file mode 100755 index 000000000..99b42f58d --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/ZydisWinKernel.vcxproj @@ -0,0 +1,245 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {45BD58A5-1711-417f-99E7-B640C56F8009} + {1bc93793-694f-48fe-9372-81e2b05556fd} + 14.0 + Release + x64 + $(MSBuildProjectName) + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + + + + Windows7 + true + WindowsKernelModeDriver10.0 + Driver + WDM + false + Desktop + + + Windows7 + false + WindowsKernelModeDriver10.0 + Driver + WDM + false + true + Desktop + + + Windows7 + true + WindowsKernelModeDriver10.0 + Driver + WDM + false + Desktop + + + Windows7 + false + WindowsKernelModeDriver10.0 + Driver + WDM + false + true + Desktop + + + + + + + + + + true + + + + DbgengKernelDebugger + + ..\bin\DebugX86Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + DbgengKernelDebugger + + ..\bin\ReleaseX86Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + DbgengKernelDebugger + + ..\bin\DebugX64Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + DbgengKernelDebugger + + ..\bin\ReleaseX64Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + + ZYAN_NO_LIBC;ZYDIS_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;POOL_NX_OPTIN;_X86_=1;i386=1;STD_CALL;DBG;_DEBUG;%(PreprocessorDefinitions) + /Gw /kernel + Caret + ../../dependencies/zycore/include;../../include;..;$(IntDir);%(AdditionalIncludeDirectories) + true + false + false + + + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + false + true + true + $(TargetDir);%(AdditionalLibraryDirectories) + true + 6.1 + Zydis.lib;%(AdditionalDependencies);$(KernelBufferOverflowLib);$(DDK_LIB_PATH)ntoskrnl.lib;$(DDK_LIB_PATH)hal.lib;$(DDK_LIB_PATH)wmilib.lib + DriverEntry@8 + DebugFull + + + + + ZYAN_NO_LIBC;ZYDIS_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;POOL_NX_OPTIN;_X86_=1;i386=1;STD_CALL;NDEBUG;%(PreprocessorDefinitions) + /Gw /kernel + Caret + ../../dependencies/zycore/include;../../include;..;$(IntDir);%(AdditionalIncludeDirectories) + true + true + false + true + false + + + UseLinkTimeCodeGeneration + DriverEntry@8 + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + false + true + true + $(TargetDir);%(AdditionalLibraryDirectories) + Zydis.lib;%(AdditionalDependencies);$(DDK_LIB_PATH)ntoskrnl.lib;$(DDK_LIB_PATH)hal.lib;$(DDK_LIB_PATH)wmilib.lib + true + 6.1 + DebugFull + + + + + ZYAN_NO_LIBC;ZYDIS_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;POOL_NX_OPTIN;_WIN64;_AMD64_;AMD64;DBG;_DEBUG;%(PreprocessorDefinitions) + /Gw /kernel + Caret + ../../dependencies/zycore/include;../../include;..;$(IntDir);%(AdditionalIncludeDirectories) + true + false + false + + + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + false + true + true + $(TargetDir);%(AdditionalLibraryDirectories) + true + 6.1 + Zydis.lib;%(AdditionalDependencies);$(KernelBufferOverflowLib);$(DDK_LIB_PATH)ntoskrnl.lib;$(DDK_LIB_PATH)hal.lib;$(DDK_LIB_PATH)wmilib.lib + DriverEntry + DebugFull + + + + + ZYAN_NO_LIBC;ZYDIS_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;POOL_NX_OPTIN;_WIN64;_AMD64_;AMD64;NDEBUG;%(PreprocessorDefinitions) + /Gw /kernel + Caret + ../../dependencies/zycore/include;../../include;..;$(IntDir);%(AdditionalIncludeDirectories) + true + true + false + true + false + + + UseLinkTimeCodeGeneration + DriverEntry + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + false + true + true + $(TargetDir);%(AdditionalLibraryDirectories) + Zydis.lib;%(AdditionalDependencies);$(DDK_LIB_PATH)ntoskrnl.lib;$(DDK_LIB_PATH)hal.lib;$(DDK_LIB_PATH)wmilib.lib + true + 6.1 + DebugFull + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/examples/ZydisWinKernel.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/examples/ZydisWinKernel.vcxproj.filters new file mode 100755 index 000000000..42bbfb857 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/examples/ZydisWinKernel.vcxproj.filters @@ -0,0 +1,95 @@ + + + + + {664BBE0B-918F-3B41-8D06-1875B10A7BE5} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {54CFF9CE-5525-3FCE-8ECE-9A26FB686F56} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {53777263-749B-4134-9A9E-42DB87A66F18} + + + {9A331546-C5D3-48F8-ACCF-992D48C1F6EE} + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + + + Source Files + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/tools/ZydisDisasm.vcxproj b/externals/dynarmic/externals/zydis/msvc/tools/ZydisDisasm.vcxproj new file mode 100755 index 000000000..0d6f50396 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/tools/ZydisDisasm.vcxproj @@ -0,0 +1,818 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug MD + Win32 + + + Debug MD + x64 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release MD + Win32 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {805CBF3F-3DDC-3141-AD7C-3B452FBEBCD2} + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + Win32Proj + ZydisDisasm + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + + + + + + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/tools/ZydisDisasm.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/tools/ZydisDisasm.vcxproj.filters new file mode 100755 index 000000000..4e4639f07 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/tools/ZydisDisasm.vcxproj.filters @@ -0,0 +1,95 @@ + + + + + {664BBE0B-918F-3B41-8D06-1875B10A7BE5} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {54CFF9CE-5525-3FCE-8ECE-9A26FB686F56} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {349C208E-6013-4B2A-86D4-F5CBD4C9B359} + + + {599A7DB6-1F45-4378-90DD-94C11D46EC4D} + + + + + Source Files + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/tools/ZydisFuzzIn.vcxproj b/externals/dynarmic/externals/zydis/msvc/tools/ZydisFuzzIn.vcxproj new file mode 100755 index 000000000..be397a0b8 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/tools/ZydisFuzzIn.vcxproj @@ -0,0 +1,818 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug MD + Win32 + + + Debug MD + x64 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release MD + Win32 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {A0C9A331-13CC-3762-9D26-9F82C6518CAA} + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + Win32Proj + ZydisFuzzIn + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + + + + + + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/tools/ZydisFuzzIn.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/tools/ZydisFuzzIn.vcxproj.filters new file mode 100755 index 000000000..29fd73fbb --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/tools/ZydisFuzzIn.vcxproj.filters @@ -0,0 +1,95 @@ + + + + + {664BBE0B-918F-3B41-8D06-1875B10A7BE5} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {54CFF9CE-5525-3FCE-8ECE-9A26FB686F56} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {48794B8D-2E4F-4E2F-901F-77F8CB177A92} + + + {B4E29716-3340-4942-8633-40107E569597} + + + + + Source Files + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/tools/ZydisInfo.vcxproj b/externals/dynarmic/externals/zydis/msvc/tools/ZydisInfo.vcxproj new file mode 100755 index 000000000..be6a5944f --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/tools/ZydisInfo.vcxproj @@ -0,0 +1,818 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug MD + Win32 + + + Debug MD + x64 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release MD + Win32 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {BC04B6A7-D80C-3FED-97AC-BCC8370D6A7E} + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + Win32Proj + ZydisInfo + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + Application + MultiByte + v142 + true + + + + + + + + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + Disabled + NotUsing + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebugDLL + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + Disabled + true + Disabled + NotUsing + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + false + Caret + MultiThreadedDebug + EnableFastChecks + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.2 + true + UseLinkTimeCodeGeneration + 5.02 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + false + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + ../../dependencies/zycore/include;../../include;..;%(AdditionalIncludeDirectories) + /Gw + ProgramDatabase + false + true + true + NotUsing + false + true + Level3 + Zydis_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_WINDOWS;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + true + Caret + MultiThreaded + + + $(TargetDir);%(AdditionalLibraryDirectories) + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + true + DebugFull + true + true + Console + 5.1 + true + UseLinkTimeCodeGeneration + 5.01 + Zycore.lib;Zydis.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/tools/ZydisInfo.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/tools/ZydisInfo.vcxproj.filters new file mode 100755 index 000000000..2a9290b1b --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/tools/ZydisInfo.vcxproj.filters @@ -0,0 +1,95 @@ + + + + + {664BBE0B-918F-3B41-8D06-1875B10A7BE5} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {54CFF9CE-5525-3FCE-8ECE-9A26FB686F56} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {2C8FA06C-89F9-4D92-8182-B42C1D5E459D} + + + {1314C403-E579-49B8-9A96-4C9483FBB054} + + + + + Source Files + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + Header Files\Zydis + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/zydis/Zydis.vcxproj b/externals/dynarmic/externals/zydis/msvc/zydis/Zydis.vcxproj new file mode 100755 index 000000000..ec1a5cf1e --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/zydis/Zydis.vcxproj @@ -0,0 +1,916 @@ + + + + + Debug MD DLL + Win32 + + + Debug MD DLL + x64 + + + Debug MT DLL + Win32 + + + Debug MT DLL + x64 + + + Debug Kernel + Win32 + + + Debug Kernel + x64 + + + Debug MD + Win32 + + + Debug MT + Win32 + + + Debug MT + x64 + + + Release MD DLL + Win32 + + + Release MD DLL + x64 + + + Release MT DLL + Win32 + + + Release MT DLL + x64 + + + Release Kernel + Win32 + + + Release Kernel + x64 + + + Release MD + Win32 + + + Debug MD + x64 + + + Release MD + x64 + + + Release MT + Win32 + + + Release MT + x64 + + + + {88A23124-5640-35A0-B890-311D7A67A7D2} + {0a049372-4c4d-4ea0-a64e-dc6ad88ceca1} + 14.0 + Release + x64 + $(MSBuildProjectName) + Win32Proj + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + + + + true + v142 + StaticLibrary + MultiByte + + + true + v142 + StaticLibrary + MultiByte + + + Windows7 + true + WindowsKernelModeDriver10.0 + StaticLibrary + Desktop + WDM + false + + + true + v142 + DynamicLibrary + MultiByte + + + true + v142 + DynamicLibrary + MultiByte + + + false + v142 + StaticLibrary + MultiByte + + + false + v142 + StaticLibrary + MultiByte + + + Windows7 + false + WindowsKernelModeDriver10.0 + StaticLibrary + Desktop + WDM + false + + + false + v142 + DynamicLibrary + MultiByte + true + + + false + v142 + DynamicLibrary + MultiByte + true + + + true + v142 + StaticLibrary + MultiByte + + + true + v142 + StaticLibrary + MultiByte + + + Windows7 + true + WindowsKernelModeDriver10.0 + StaticLibrary + Desktop + WDM + false + + + true + v142 + DynamicLibrary + MultiByte + + + true + v142 + DynamicLibrary + MultiByte + + + false + v142 + StaticLibrary + MultiByte + + + false + v142 + StaticLibrary + MultiByte + + + Windows7 + false + WindowsKernelModeDriver10.0 + StaticLibrary + Desktop + WDM + false + + + false + v142 + DynamicLibrary + MultiByte + true + + + false + v142 + DynamicLibrary + MultiByte + true + + + + + + + + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\bin\DebugX86Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\bin\ReleaseX86Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX86\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\bin\DebugX64Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\DebugX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + AllRules.ruleset + + + ..\bin\ReleaseX64Kernel\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + ..\bin\ReleaseX64\ + obj\$(ProjectName)-$(Platform)-$(Configuration)\ + false + false + AllRules.ruleset + + + + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + true + Level3 + false + false + false + false + + + Console + 5.01 + true + MachineX86 + + + + + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + true + Level3 + false + false + false + false + MultiThreadedDebug + + + Console + 5.01 + true + MachineX86 + + + + + ZYAN_NO_LIBC;ZYDIS_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_X86_=1;i386=1;STD_CALL;DBG;%(PreprocessorDefinitions) + /Gw /kernel + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + true + + + Native + $(SUBSYSTEM_NATVER) + true + true + + + + + Zydis_EXPORTS;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + Level3 + false + false + false + + + Zydis_EXPORTS;ZYDIS_EXPORTS;_DLL;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../include;../../src;..;%(AdditionalIncludeDirectories) + + + 5.1 + DebugFull + true + Console + 5.01 + true + true + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + Zydis_EXPORTS;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + Level3 + false + false + false + MultiThreadedDebug + + + Zydis_EXPORTS;ZYDIS_EXPORTS;_DLL;WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../include;../../src;..;%(AdditionalIncludeDirectories) + + + 5.1 + DebugFull + true + Console + 5.01 + true + true + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + true + true + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + true + Level3 + true + false + false + false + + + Console + 5.01 + true + MachineX86 + + + + + true + true + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + true + Level3 + true + false + false + false + MultiThreaded + + + Console + 5.01 + true + MachineX86 + + + + + true + true + ZYAN_NO_LIBC;ZYDIS_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_X86_=1;i386=1;STD_CALL;%(PreprocessorDefinitions) + Caret + /Gw /kernel + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + true + + + Native + $(SUBSYSTEM_NATVER) + true + true + + + + + true + true + Zydis_EXPORTS;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + Level3 + true + false + false + MultiThreadedDLL + + + Zydis_EXPORTS;ZYDIS_EXPORTS;_DLL;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../include;../../src;..;%(AdditionalIncludeDirectories) + + + 5.1 + DebugFull + true + Console + 5.01 + true + true + UseLinkTimeCodeGeneration + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + true + true + Zydis_EXPORTS;ZYDIS_EXPORTS;WINVER=0x0501;_WIN32_WINNT=0x0501;NTDDI_VERSION=0x05010000;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + Level3 + true + false + false + MultiThreaded + + + Zydis_EXPORTS;ZYDIS_EXPORTS;_DLL;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../include;../../src;..;%(AdditionalIncludeDirectories) + + + 5.1 + DebugFull + true + Console + 5.01 + true + true + UseLinkTimeCodeGeneration + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + true + Level3 + false + false + false + false + + + Console + 5.02 + true + + + + + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + true + Level3 + false + false + false + false + MultiThreadedDebug + + + Console + 5.02 + true + + + + + ZYAN_NO_LIBC;ZYDIS_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_AMD64_;AMD64;DBG;%(PreprocessorDefinitions) + /Gw /kernel + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + true + + + Native + $(SUBSYSTEM_NATVER) + true + true + + + + + Zydis_EXPORTS;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + Level3 + false + false + false + + + Zydis_EXPORTS;ZYDIS_EXPORTS;_DLL;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../include;../../src;..;%(AdditionalIncludeDirectories) + + + 5.2 + DebugFull + true + Console + 5.02 + true + true + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + Zydis_EXPORTS;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + /Gw + ProgramDatabase + Caret + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + Disabled + true + Level3 + false + false + MultiThreadedDebug + false + + + Zydis_EXPORTS;ZYDIS_EXPORTS;_DLL;WIN32;_WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../include;../../src;..;%(AdditionalIncludeDirectories) + + + 5.2 + DebugFull + true + Console + 5.02 + true + true + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + true + true + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + true + Level3 + true + false + false + false + + + Console + 5.02 + true + + + + + true + true + ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + true + Level3 + true + false + false + false + MultiThreaded + + + Console + 5.02 + true + + + + + true + true + ZYAN_NO_LIBC;ZYDIS_NO_LIBC;ZYCORE_STATIC_DEFINE;ZYDIS_STATIC_DEFINE;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP;WINAPI_PARTITION_DESKTOP=1;WINAPI_PARTITION_SYSTEM=1;WINAPI_PARTITION_APP=1;WINAPI_PARTITION_PC_APP=1;_AMD64_;AMD64;%(PreprocessorDefinitions) + Caret + /Gw /kernel + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + true + + + Native + $(SUBSYSTEM_NATVER) + true + true + + + + + true + true + Zydis_EXPORTS;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + Level3 + true + false + false + MultiThreadedDLL + + + Zydis_EXPORTS;ZYDIS_EXPORTS;_DLL;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../include;../../src;..;%(AdditionalIncludeDirectories) + + + 5.2 + DebugFull + true + Console + 5.02 + true + true + UseLinkTimeCodeGeneration + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + true + true + Zydis_EXPORTS;ZYDIS_EXPORTS;WINVER=0x0502;_WIN32_WINNT=0x0502;NTDDI_VERSION=0x05020000;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + Caret + /Gw + ../../dependencies/zycore/include;../../include;../../src;..;%(AdditionalIncludeDirectories) + true + Level3 + true + false + false + MultiThreaded + + + Zydis_EXPORTS;ZYDIS_EXPORTS;_DLL;WIN32;_WIN64;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + ../../include;../../src;..;%(AdditionalIncludeDirectories) + + + 5.2 + DebugFull + true + Console + 5.02 + true + true + UseLinkTimeCodeGeneration + true + /NOVCFEATURE /NOCOFFGRPINFO %(AdditionalOptions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/msvc/zydis/Zydis.vcxproj.filters b/externals/dynarmic/externals/zydis/msvc/zydis/Zydis.vcxproj.filters new file mode 100755 index 000000000..d0d0daf99 --- /dev/null +++ b/externals/dynarmic/externals/zydis/msvc/zydis/Zydis.vcxproj.filters @@ -0,0 +1,161 @@ + + + + + {664BBE0B-918F-3B41-8D06-1875B10A7BE5} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {54CFF9CE-5525-3FCE-8ECE-9A26FB686F56} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {97DEB7A2-7CAF-45B9-B945-FA454AAAC4FB} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {66C82A41-23B4-4DFF-AF72-77FF19742312} + + + {CEA317BE-1F0E-40DD-A546-67659EB71E9A} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files\Zycore + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\Internal + + + Header Files\Internal + + + Header Files\Internal + + + Header Files\Internal + + + Header Files\Internal + + + Header Files\Internal + + + + + Resource Files + + + \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/resources/VersionInfo.rc b/externals/dynarmic/externals/zydis/resources/VersionInfo.rc new file mode 100755 index 0000000000000000000000000000000000000000..36740f17ec6523ec32a3a7fe8e61d1ba8136535b GIT binary patch literal 4504 zcmds)+iu%N5Qg`ksdc6jwe{C*BU1+GlL-@{`#4R?Cl57(j4bD`ff+=jDo zqx-!iJxR{=bgJu7;}>RiVfru4Q}i~F#&x*Vbtml`>F$I@cnDV^H&5?1)7Ctr>oV@H zMY#(X6;H3EcWm>w7NyXCZYaT+$sfq3LIs{nJ(I(OW-h{O&CE%^q0~= z{-F8HY_Ol3x1x-Y%j<(=xd2N=nKeBHiooeAr;Npq`H zX1o=ep+4ujJ03X0)46;vggf$5x4w~tiosvBP0_tKt|Tcc2)z~y&3SDi&&0e{wnUqW zcOO&tSjD-p(50|{WpeLHM}KA+xzA#$d9EmT%UE8YZAGEaL2$Feo@2SzJatI*rWSQB z!58c8IeA|>AFEx4H`nBvYSrDejdIkLRuZE#+iKO<_XTL+{E>g_+fR# z&R?~nvUK!~Je--IY9D&`-s7&7P}Xbb6{ch8Z{IIijd-35>3t>Z@6~$iNmdTSfqad^ zKzrOceAM1Iw3)8v*w2QNOhQ*X?SU><^NvZ7H>_qKB^`%D>7D4Fl|F{j>udZ;Gx%m# z?c3;s^!xHf?;V8SEXIMn5pSS)iH&YJlC&p%Vxy1co@P!o=DDM}-7;=p*2G8uNY}VT zJl1@sk!R`|Ms#@gxF9^zXej@OCH5Wp?wUXHcwIr(HvfII#=dRH$q~-ra4d~IA?w+Q z*%QqkOK&7AX9GS#-Is1(K8AMhNDdO%+mZ${*MqM~DWPWI?CBS?OU&&UC)8xP?0Ys!*?9%2z>aVoSxxr!e54E9v4&LA8L!rp%G5cf zU#Lvfj``9pu(T&hSKb(TACU#zP(!5j1vQ3q@1SaQx)a9HqArYL=fL>DvPjIuF7{Y> zjfgxhHLqfd-5+c4)LL>cu>(&G&pJ|0GY7&5OLR6|dhOjZVXUuKU)jiijI-Xhtu*ra zMLTSIgR>(y%DtbHRH5~8r5QB2CgSX~tq^+IyXLcTNC#&%3EVP|B`cVf?&~XAXW^|n zr=_cDm+ShjxUV%vC$J*FXA!-(ZRJo~R?H}TP~>L#Qⅅ;GK+TdY?`8pD7!9f*r0? z!C0i88e(5{anPmzAa`rU3S$GoCLh?Zsq&dy0;{)dToZ7(L23a zn>A0#<|%wp8t)TZu_wksL%2B?&FxM7sQx1x`wiC=2U7Y1iUPB(St z$jZ;jn|STXyerpdR(Fkw oIJ{pn`keh@wd=?722X|9Pv3~%LG0eXo3O@P)-BC%piQ{{19nelasU7T literal 0 HcmV?d00001 diff --git a/externals/dynarmic/externals/zydis/src/Decoder.c b/externals/dynarmic/externals/zydis/src/Decoder.c new file mode 100755 index 000000000..563544524 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Decoder.c @@ -0,0 +1,4941 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Internal enums and types */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoder context */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisDecoderContext` struct. + */ +typedef struct ZydisDecoderContext_ +{ + /** + * A pointer to the `ZydisDecoder` instance. + */ + const ZydisDecoder* decoder; + /** + * The input buffer. + */ + const ZyanU8* buffer; + /** + * The input buffer length. + */ + ZyanUSize buffer_len; + struct + { + /** + * Signals, if the instruction has a `LOCK` prefix (`F0`). + * + * This prefix originally belongs to group 1, but separating it from the other ones makes + * parsing easier for us later. + */ + ZyanBool has_lock; + /** + * The effective prefix of group 1 (either `F2` or `F3`). + */ + ZyanU8 group1; + /** + * The effective prefix of group 3 (`2E`,`36`, `3E`, `26`, `64` or `65`). + */ + ZyanU8 group2; + /** + * Signals, if the instruction has an operand-size override prefix (`66`). + * + * This is the only prefix in group 3. + */ + // ZyanBool has_osz_override; + /** + * Signals, if the instruction has an address-size override prefix (`67`). + * + * This is the only prefix in group 4. + */ + // ZyanBool has_asz_override; + /** + * The effective segment prefix. + */ + ZyanU8 effective_segment; + /** + * The prefix that should be treated as the mandatory-prefix, if the + * current instruction needs one. + * + * The last `F3`/`F2` prefix has precedence over previous ones and + * `F3`/`F2` in general have precedence over `66`. + */ + ZyanU8 mandatory_candidate; + /** + * The offset of the effective `LOCK` prefix. + */ + ZyanU8 offset_lock; + /** + * The offset of the effective prefix in group 1. + */ + ZyanU8 offset_group1; + /** + * The offset of the effective prefix in group 2. + */ + ZyanU8 offset_group2; + /** + * The offset of the operand-size override prefix (`66`). + * + * This is the only prefix in group 3. + */ + ZyanU8 offset_osz_override; + /** + * The offset of the address-size override prefix (`67`). + * + * This is the only prefix in group 4. + */ + ZyanU8 offset_asz_override; + /** + * The offset of the effective segment prefix. + */ + ZyanU8 offset_segment; + /** + * The offset of the mandatory-candidate prefix. + */ + ZyanU8 offset_mandatory; + } prefixes; + /** + * Contains the effective operand-size index. + * + * 0 = 16 bit, 1 = 32 bit, 2 = 64 bit + */ + ZyanU8 eosz_index; + /** + * Contains the effective address-size index. + * + * 0 = 16 bit, 1 = 32 bit, 2 = 64 bit + */ + ZyanU8 easz_index; + /** + * Contains some cached REX/XOP/VEX/EVEX/MVEX values to provide uniform access. + */ + struct + { + ZyanU8 W; + ZyanU8 R; + ZyanU8 X; + ZyanU8 B; + ZyanU8 L; + ZyanU8 LL; + ZyanU8 R2; + ZyanU8 V2; + ZyanU8 v_vvvv; + ZyanU8 mask; + } cache; +#ifndef ZYDIS_DISABLE_AVX512 + /** + * Internal EVEX-specific information. + */ + struct + { + /** + * The EVEX tuple-type. + */ + ZydisEVEXTupleType tuple_type; + /** + * The EVEX element-size. + */ + ZyanU8 element_size; + } evex; +#endif +#ifndef ZYDIS_DISABLE_KNC + /** + * Internal MVEX-specific information. + */ + struct + { + /** + * The MVEX functionality. + */ + ZydisMVEXFunctionality functionality; + } mvex; +#endif +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + /** + * The scale factor for EVEX/MVEX compressed 8-bit displacement values. + */ + ZyanU8 cd8_scale; +#endif +} ZydisDecoderContext; + +/* ---------------------------------------------------------------------------------------------- */ +/* Register encoding */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisRegisterEncoding` enum. + */ +typedef enum ZydisRegisterEncoding_ +{ + ZYDIS_REG_ENCODING_INVALID, + /** + * The register-id is encoded as part of the opcode. + * + * Possible extension by `REX/XOP/VEX/EVEX/MVEX.B`. + */ + ZYDIS_REG_ENCODING_OPCODE, + /** + * The register-id is encoded in `modrm.reg`. + * + * Possible extension by `EVEX/MVEX.R'` (vector only) and `REX/XOP/VEX/EVEX/MVEX.R`. + */ + ZYDIS_REG_ENCODING_REG, + /** + * The register-id is encoded in `XOP/VEX/EVEX/MVEX.vvvv`. + * + * Possible extension by `EVEX/MVEX.v'` (vector only). + */ + ZYDIS_REG_ENCODING_NDSNDD, + /** + * The register-id is encoded in `modrm.rm`. + * + * Possible extension by `EVEX/MVEX.X` (vector only) and `REX/XOP/VEX/EVEX/MVEX.B`. + */ + ZYDIS_REG_ENCODING_RM, + /** + * The register-id is encoded in `modrm.rm` or `sib.base` (if SIB is present). + * + * Possible extension by `REX/XOP/VEX/EVEX/MVEX.B`. + */ + ZYDIS_REG_ENCODING_BASE, + /** + * The register-id is encoded in `sib.index`. + * + * Possible extension by `REX/XOP/VEX/EVEX/MVEX.X`. + */ + ZYDIS_REG_ENCODING_INDEX, + /** + * The register-id is encoded in `sib.index`. + * + * Possible extension by `EVEX/MVEX.V'` (vector only) and `REX/XOP/VEX/EVEX/MVEX.X`. + */ + ZYDIS_REG_ENCODING_VIDX, + /** + * The register-id is encoded in an additional 8-bit immediate value. + * + * Bits [7:4] in 64-bit mode with possible extension by bit [3] (vector only), bits [7:5] for + * all other modes. + */ + ZYDIS_REG_ENCODING_IS4, + /** + * The register-id is encoded in `EVEX.aaa/MVEX.kkk`. + */ + ZYDIS_REG_ENCODING_MASK, + + /** + * Maximum value of this enum. + */ + ZYDIS_REG_ENCODING_MAX_VALUE = ZYDIS_REG_ENCODING_MASK, + /** + * The minimum number of bits required to represent all values of this enum. + */ + ZYDIS_REG_ENCODING_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REG_ENCODING_MAX_VALUE) +} ZydisRegisterEncoding; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Input helper functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Reads one byte from the current read-position of the input data-source. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param value A pointer to the memory that receives the byte from the input data-source. + * + * @return A zyan status code. + * + * This function may fail, if the `ZYDIS_MAX_INSTRUCTION_LENGTH` limit got exceeded, or no more + * data is available. + */ +static ZyanStatus ZydisInputPeek(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU8* value) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(value); + + if (instruction->length >= ZYDIS_MAX_INSTRUCTION_LENGTH) + { + return ZYDIS_STATUS_INSTRUCTION_TOO_LONG; + } + + if (context->buffer_len > 0) + { + *value = context->buffer[0]; + return ZYAN_STATUS_SUCCESS; + } + + return ZYDIS_STATUS_NO_MORE_DATA; +} + +/** + * Increases the read-position of the input data-source by one byte. + * + * @param context A pointer to the `ZydisDecoderContext` instance + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * + * This function is supposed to get called ONLY after a successful call of `ZydisInputPeek`. + * + * This function increases the `length` field of the `ZydisDecodedInstruction` struct by one. + */ +static void ZydisInputSkip(ZydisDecoderContext* context, ZydisDecodedInstruction* instruction) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(instruction->length < ZYDIS_MAX_INSTRUCTION_LENGTH); + + ++instruction->length; + ++context->buffer; + --context->buffer_len; +} + +/** + * Reads one byte from the current read-position of the input data-source and increases + * the read-position by one byte afterwards. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param value A pointer to the memory that receives the byte from the input data-source. + * + * @return A zyan status code. + * + * This function acts like a subsequent call of `ZydisInputPeek` and `ZydisInputSkip`. + */ +static ZyanStatus ZydisInputNext(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU8* value) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(value); + + if (instruction->length >= ZYDIS_MAX_INSTRUCTION_LENGTH) + { + return ZYDIS_STATUS_INSTRUCTION_TOO_LONG; + } + + if (context->buffer_len > 0) + { + *value = context->buffer++[0]; + ++instruction->length; + --context->buffer_len; + return ZYAN_STATUS_SUCCESS; + } + + return ZYDIS_STATUS_NO_MORE_DATA; +} + +/** + * Reads a variable amount of bytes from the current read-position of the input + * data-source and increases the read-position by specified amount of bytes afterwards. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param value A pointer to the memory that receives the byte from the input + * data-source. + * @param number_of_bytes The number of bytes to read from the input data-source. + * + * @return A zyan status code. + * + * This function acts like a subsequent call of `ZydisInputPeek` and `ZydisInputSkip`. + */ +static ZyanStatus ZydisInputNextBytes(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU8* value, ZyanU8 number_of_bytes) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(value); + + if (instruction->length + number_of_bytes > ZYDIS_MAX_INSTRUCTION_LENGTH) + { + return ZYDIS_STATUS_INSTRUCTION_TOO_LONG; + } + + if (context->buffer_len >= number_of_bytes) + { + instruction->length += number_of_bytes; + + ZYAN_MEMCPY(value, context->buffer, number_of_bytes); + context->buffer += number_of_bytes; + context->buffer_len -= number_of_bytes; + + return ZYAN_STATUS_SUCCESS; + } + + return ZYDIS_STATUS_NO_MORE_DATA; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Decode functions */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Decodes the `REX`-prefix. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param data The `REX` byte. + */ +static void ZydisDecodeREX(ZydisDecoderContext* context, ZydisDecodedInstruction* instruction, + ZyanU8 data) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT((data & 0xF0) == 0x40); + + instruction->attributes |= ZYDIS_ATTRIB_HAS_REX; + instruction->raw.rex.W = (data >> 3) & 0x01; + instruction->raw.rex.R = (data >> 2) & 0x01; + instruction->raw.rex.X = (data >> 1) & 0x01; + instruction->raw.rex.B = (data >> 0) & 0x01; + + // Update internal fields + context->cache.W = instruction->raw.rex.W; + context->cache.R = instruction->raw.rex.R; + context->cache.X = instruction->raw.rex.X; + context->cache.B = instruction->raw.rex.B; +} + +/** + * Decodes the `XOP`-prefix. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param data The `XOP` bytes. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeXOP(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZyanU8 data[3]) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(data[0] == 0x8F); + ZYAN_ASSERT(((data[1] >> 0) & 0x1F) >= 8); + ZYAN_ASSERT(instruction->raw.xop.offset == instruction->length - 3); + + instruction->attributes |= ZYDIS_ATTRIB_HAS_XOP; + instruction->raw.xop.R = (data[1] >> 7) & 0x01; + instruction->raw.xop.X = (data[1] >> 6) & 0x01; + instruction->raw.xop.B = (data[1] >> 5) & 0x01; + instruction->raw.xop.m_mmmm = (data[1] >> 0) & 0x1F; + + if ((instruction->raw.xop.m_mmmm < 0x08) || (instruction->raw.xop.m_mmmm > 0x0A)) + { + // Invalid according to the AMD documentation + return ZYDIS_STATUS_INVALID_MAP; + } + + instruction->raw.xop.W = (data[2] >> 7) & 0x01; + instruction->raw.xop.vvvv = (data[2] >> 3) & 0x0F; + instruction->raw.xop.L = (data[2] >> 2) & 0x01; + instruction->raw.xop.pp = (data[2] >> 0) & 0x03; + + // Update internal fields + context->cache.W = instruction->raw.xop.W; + context->cache.R = 0x01 & ~instruction->raw.xop.R; + context->cache.X = 0x01 & ~instruction->raw.xop.X; + context->cache.B = 0x01 & ~instruction->raw.xop.B; + context->cache.L = instruction->raw.xop.L; + context->cache.LL = instruction->raw.xop.L; + context->cache.v_vvvv = (0x0F & ~instruction->raw.xop.vvvv); + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Decodes the `VEX`-prefix. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param data The `VEX` bytes. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeVEX(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZyanU8 data[3]) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT((data[0] == 0xC4) || (data[0] == 0xC5)); + + instruction->attributes |= ZYDIS_ATTRIB_HAS_VEX; + switch (data[0]) + { + case 0xC4: + ZYAN_ASSERT(instruction->raw.vex.offset == instruction->length - 3); + instruction->raw.vex.size = 3; + instruction->raw.vex.R = (data[1] >> 7) & 0x01; + instruction->raw.vex.X = (data[1] >> 6) & 0x01; + instruction->raw.vex.B = (data[1] >> 5) & 0x01; + instruction->raw.vex.m_mmmm = (data[1] >> 0) & 0x1F; + instruction->raw.vex.W = (data[2] >> 7) & 0x01; + instruction->raw.vex.vvvv = (data[2] >> 3) & 0x0F; + instruction->raw.vex.L = (data[2] >> 2) & 0x01; + instruction->raw.vex.pp = (data[2] >> 0) & 0x03; + break; + case 0xC5: + ZYAN_ASSERT(instruction->raw.vex.offset == instruction->length - 2); + instruction->raw.vex.size = 2; + instruction->raw.vex.R = (data[1] >> 7) & 0x01; + instruction->raw.vex.X = 1; + instruction->raw.vex.B = 1; + instruction->raw.vex.m_mmmm = 1; + instruction->raw.vex.W = 0; + instruction->raw.vex.vvvv = (data[1] >> 3) & 0x0F; + instruction->raw.vex.L = (data[1] >> 2) & 0x01; + instruction->raw.vex.pp = (data[1] >> 0) & 0x03; + break; + default: + ZYAN_UNREACHABLE; + } + + // Map 0 is only valid for some KNC instructions +#ifdef ZYDIS_DISABLE_KNC + if ((instruction->raw.vex.m_mmmm == 0) || (instruction->raw.vex.m_mmmm > 0x03)) +#else + if (instruction->raw.vex.m_mmmm > 0x03) +#endif + { + // Invalid according to the intel documentation + return ZYDIS_STATUS_INVALID_MAP; + } + + // Update internal fields + context->cache.W = instruction->raw.vex.W; + context->cache.R = 0x01 & ~instruction->raw.vex.R; + context->cache.X = 0x01 & ~instruction->raw.vex.X; + context->cache.B = 0x01 & ~instruction->raw.vex.B; + context->cache.L = instruction->raw.vex.L; + context->cache.LL = instruction->raw.vex.L; + context->cache.v_vvvv = (0x0F & ~instruction->raw.vex.vvvv); + + return ZYAN_STATUS_SUCCESS; +} + +#ifndef ZYDIS_DISABLE_AVX512 +/** + * Decodes the `EVEX`-prefix. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param data The `EVEX` bytes. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeEVEX(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZyanU8 data[4]) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(data[0] == 0x62); + ZYAN_ASSERT(instruction->raw.evex.offset == instruction->length - 4); + + instruction->attributes |= ZYDIS_ATTRIB_HAS_EVEX; + instruction->raw.evex.R = (data[1] >> 7) & 0x01; + instruction->raw.evex.X = (data[1] >> 6) & 0x01; + instruction->raw.evex.B = (data[1] >> 5) & 0x01; + instruction->raw.evex.R2 = (data[1] >> 4) & 0x01; + + if (((data[1] >> 2) & 0x03) != 0x00) + { + // Invalid according to the intel documentation + return ZYDIS_STATUS_MALFORMED_EVEX; + } + + instruction->raw.evex.mm = (data[1] >> 0) & 0x03; + + if (instruction->raw.evex.mm == 0x00) + { + // Invalid according to the intel documentation + return ZYDIS_STATUS_INVALID_MAP; + } + + instruction->raw.evex.W = (data[2] >> 7) & 0x01; + instruction->raw.evex.vvvv = (data[2] >> 3) & 0x0F; + + ZYAN_ASSERT(((data[2] >> 2) & 0x01) == 0x01); + + instruction->raw.evex.pp = (data[2] >> 0) & 0x03; + instruction->raw.evex.z = (data[3] >> 7) & 0x01; + instruction->raw.evex.L2 = (data[3] >> 6) & 0x01; + instruction->raw.evex.L = (data[3] >> 5) & 0x01; + instruction->raw.evex.b = (data[3] >> 4) & 0x01; + instruction->raw.evex.V2 = (data[3] >> 3) & 0x01; + + if (!instruction->raw.evex.V2 && + (context->decoder->machine_mode != ZYDIS_MACHINE_MODE_LONG_64)) + { + return ZYDIS_STATUS_MALFORMED_EVEX; + } + + instruction->raw.evex.aaa = (data[3] >> 0) & 0x07; + + if (instruction->raw.evex.z && !instruction->raw.evex.aaa) + { + return ZYDIS_STATUS_INVALID_MASK; // TODO: Dedicated status code + } + + // Update internal fields + context->cache.W = instruction->raw.evex.W; + context->cache.R = 0x01 & ~instruction->raw.evex.R; + context->cache.X = 0x01 & ~instruction->raw.evex.X; + context->cache.B = 0x01 & ~instruction->raw.evex.B; + context->cache.LL = (data[3] >> 5) & 0x03; + context->cache.R2 = 0x01 & ~instruction->raw.evex.R2; + context->cache.V2 = 0x01 & ~instruction->raw.evex.V2; + context->cache.v_vvvv = + ((0x01 & ~instruction->raw.evex.V2) << 4) | (0x0F & ~instruction->raw.evex.vvvv); + context->cache.mask = instruction->raw.evex.aaa; + + if (!instruction->raw.evex.V2 && (context->decoder->machine_mode != ZYDIS_MACHINE_MODE_LONG_64)) + { + return ZYDIS_STATUS_MALFORMED_EVEX; + } + if (!instruction->raw.evex.b && (context->cache.LL == 3)) + { + // LL = 3 is only valid for instructions with embedded rounding control + return ZYDIS_STATUS_MALFORMED_EVEX; + } + + return ZYAN_STATUS_SUCCESS; +} +#endif + +#ifndef ZYDIS_DISABLE_KNC +/** + * Decodes the `MVEX`-prefix. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param data The `MVEX` bytes. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeMVEX(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZyanU8 data[4]) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(data[0] == 0x62); + ZYAN_ASSERT(instruction->raw.mvex.offset == instruction->length - 4); + + instruction->attributes |= ZYDIS_ATTRIB_HAS_MVEX; + instruction->raw.mvex.R = (data[1] >> 7) & 0x01; + instruction->raw.mvex.X = (data[1] >> 6) & 0x01; + instruction->raw.mvex.B = (data[1] >> 5) & 0x01; + instruction->raw.mvex.R2 = (data[1] >> 4) & 0x01; + instruction->raw.mvex.mmmm = (data[1] >> 0) & 0x0F; + + if (instruction->raw.mvex.mmmm > 0x03) + { + // Invalid according to the intel documentation + return ZYDIS_STATUS_INVALID_MAP; + } + + instruction->raw.mvex.W = (data[2] >> 7) & 0x01; + instruction->raw.mvex.vvvv = (data[2] >> 3) & 0x0F; + + ZYAN_ASSERT(((data[2] >> 2) & 0x01) == 0x00); + + instruction->raw.mvex.pp = (data[2] >> 0) & 0x03; + instruction->raw.mvex.E = (data[3] >> 7) & 0x01; + instruction->raw.mvex.SSS = (data[3] >> 4) & 0x07; + instruction->raw.mvex.V2 = (data[3] >> 3) & 0x01; + instruction->raw.mvex.kkk = (data[3] >> 0) & 0x07; + + // Update internal fields + context->cache.W = instruction->raw.mvex.W; + context->cache.R = 0x01 & ~instruction->raw.mvex.R; + context->cache.X = 0x01 & ~instruction->raw.mvex.X; + context->cache.B = 0x01 & ~instruction->raw.mvex.B; + context->cache.R2 = 0x01 & ~instruction->raw.mvex.R2; + context->cache.V2 = 0x01 & ~instruction->raw.mvex.V2; + context->cache.LL = 2; + context->cache.v_vvvv = + ((0x01 & ~instruction->raw.mvex.V2) << 4) | (0x0F & ~instruction->raw.mvex.vvvv); + context->cache.mask = instruction->raw.mvex.kkk; + + return ZYAN_STATUS_SUCCESS; +} +#endif + +/** + * Decodes the `ModRM`-byte. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param data The `ModRM` byte. + */ +static void ZydisDecodeModRM(ZydisDecodedInstruction* instruction, ZyanU8 data) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM)); + ZYAN_ASSERT(instruction->raw.modrm.offset == instruction->length - 1); + + instruction->attributes |= ZYDIS_ATTRIB_HAS_MODRM; + instruction->raw.modrm.mod = (data >> 6) & 0x03; + instruction->raw.modrm.reg = (data >> 3) & 0x07; + instruction->raw.modrm.rm = (data >> 0) & 0x07; +} + +/** + * Decodes the `SIB`-byte. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct + * @param data The `SIB` byte. + */ +static void ZydisDecodeSIB(ZydisDecodedInstruction* instruction, ZyanU8 data) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZYAN_ASSERT(instruction->raw.modrm.rm == 4); + ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB)); + ZYAN_ASSERT(instruction->raw.sib.offset == instruction->length - 1); + + instruction->attributes |= ZYDIS_ATTRIB_HAS_SIB; + instruction->raw.sib.scale = (data >> 6) & 0x03; + instruction->raw.sib.index = (data >> 3) & 0x07; + instruction->raw.sib.base = (data >> 0) & 0x07; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Reads a displacement value. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param size The physical size of the displacement value. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisReadDisplacement(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU8 size) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(instruction->raw.disp.size == 0); + + instruction->raw.disp.size = size; + instruction->raw.disp.offset = instruction->length; + + switch (size) + { + case 8: + { + ZyanU8 value; + ZYAN_CHECK(ZydisInputNext(context, instruction, &value)); + instruction->raw.disp.value = *(ZyanI8*)&value; + break; + } + case 16: + { + ZyanU16 value; + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 2)); + instruction->raw.disp.value = *(ZyanI16*)&value; + break; + } + case 32: + { + ZyanU32 value; + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 4)); + instruction->raw.disp.value = *(ZyanI32*)&value; + break; + } + case 64: + { + ZyanU64 value; + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 8)); + instruction->raw.disp.value = *(ZyanI64*)&value; + break; + } + default: + ZYAN_UNREACHABLE; + } + + // TODO: Fix endianess on big-endian systems + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Reads an immediate value. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param id The immediate id (either `0` or `1`). + * @param size The physical size of the immediate value. + * @param is_signed Signals, if the immediate value is signed. + * @param is_relative Signals, if the immediate value is a relative offset. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisReadImmediate(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU8 id, ZyanU8 size, ZyanBool is_signed, + ZyanBool is_relative) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT((id == 0) || (id == 1)); + ZYAN_ASSERT(is_signed || !is_relative); + ZYAN_ASSERT(instruction->raw.imm[id].size == 0); + + instruction->raw.imm[id].size = size; + instruction->raw.imm[id].offset = instruction->length; + instruction->raw.imm[id].is_signed = is_signed; + instruction->raw.imm[id].is_relative = is_relative; + switch (size) + { + case 8: + { + ZyanU8 value; + ZYAN_CHECK(ZydisInputNext(context, instruction, &value)); + if (is_signed) + { + instruction->raw.imm[id].value.s = (ZyanI8)value; + } else + { + instruction->raw.imm[id].value.u = value; + } + break; + } + case 16: + { + ZyanU16 value; + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 2)); + if (is_signed) + { + instruction->raw.imm[id].value.s = (ZyanI16)value; + } else + { + instruction->raw.imm[id].value.u = value; + } + break; + } + case 32: + { + ZyanU32 value; + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 4)); + if (is_signed) + { + instruction->raw.imm[id].value.s = (ZyanI32)value; + } else + { + instruction->raw.imm[id].value.u = value; + } + break; + } + case 64: + { + ZyanU64 value; + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 8)); + if (is_signed) + { + instruction->raw.imm[id].value.s = (ZyanI64)value; + } else + { + instruction->raw.imm[id].value.u = value; + } + break; + } + default: + ZYAN_UNREACHABLE; + } + + // TODO: Fix endianess on big-endian systems + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Semantical instruction decoding */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Calculates the register-id for a specific register-encoding and register-class. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the ` ZydisDecodedInstruction` struct. + * @param encoding The register-encoding. + * @param register_class The register-class. + * + * @return A zyan status code. + * + * This function calculates the register-id by combining different fields and flags of previously + * decoded structs. + */ +static ZyanU8 ZydisCalcRegisterId(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZydisRegisterEncoding encoding, + ZydisRegisterClass register_class) +{ + switch (context->decoder->machine_mode) + { + case ZYDIS_MACHINE_MODE_LONG_COMPAT_16: + case ZYDIS_MACHINE_MODE_LEGACY_16: + case ZYDIS_MACHINE_MODE_REAL_16: + case ZYDIS_MACHINE_MODE_LONG_COMPAT_32: + case ZYDIS_MACHINE_MODE_LEGACY_32: + switch (encoding) + { + case ZYDIS_REG_ENCODING_OPCODE: + { + ZYAN_ASSERT((register_class == ZYDIS_REGCLASS_GPR8) || + (register_class == ZYDIS_REGCLASS_GPR16) || + (register_class == ZYDIS_REGCLASS_GPR32) || + (register_class == ZYDIS_REGCLASS_GPR64)); + ZyanU8 value = (instruction->opcode & 0x0F); + if (value > 7) + { + value = value - 8; + } + return value; + } + case ZYDIS_REG_ENCODING_REG: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + return instruction->raw.modrm.reg; + case ZYDIS_REG_ENCODING_NDSNDD: + return context->cache.v_vvvv & 0x07; + case ZYDIS_REG_ENCODING_RM: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + return instruction->raw.modrm.rm; + case ZYDIS_REG_ENCODING_BASE: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + if (instruction->raw.modrm.rm == 4) + { + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB); + return instruction->raw.sib.base; + } + return instruction->raw.modrm.rm; + case ZYDIS_REG_ENCODING_INDEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB); + return instruction->raw.sib.index; + case ZYDIS_REG_ENCODING_VIDX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB); + ZYAN_ASSERT((register_class == ZYDIS_REGCLASS_XMM) || + (register_class == ZYDIS_REGCLASS_YMM) || + (register_class == ZYDIS_REGCLASS_ZMM)); + return instruction->raw.sib.index; + case ZYDIS_REG_ENCODING_IS4: + return (instruction->raw.imm[0].value.u >> 4) & 0x07; + case ZYDIS_REG_ENCODING_MASK: + return context->cache.mask; + default: + ZYAN_UNREACHABLE; + } + case ZYDIS_MACHINE_MODE_LONG_64: + switch (encoding) + { + case ZYDIS_REG_ENCODING_OPCODE: + { + ZYAN_ASSERT((register_class == ZYDIS_REGCLASS_GPR8) || + (register_class == ZYDIS_REGCLASS_GPR16) || + (register_class == ZYDIS_REGCLASS_GPR32) || + (register_class == ZYDIS_REGCLASS_GPR64)); + ZyanU8 value = (instruction->opcode & 0x0F); + if (value > 7) + { + value = value - 8; + } + return value | (context->cache.B << 3); + } + case ZYDIS_REG_ENCODING_REG: + { + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZyanU8 value = instruction->raw.modrm.reg; + switch (register_class) + { + case ZYDIS_REGCLASS_GPR8: + case ZYDIS_REGCLASS_GPR16: + case ZYDIS_REGCLASS_GPR32: + case ZYDIS_REGCLASS_GPR64: + case ZYDIS_REGCLASS_XMM: + case ZYDIS_REGCLASS_YMM: + case ZYDIS_REGCLASS_ZMM: + case ZYDIS_REGCLASS_CONTROL: + case ZYDIS_REGCLASS_DEBUG: + value |= (context->cache.R << 3); + break; + default: + break; + } + // R' only exists for EVEX and MVEX. No encoding check needed + switch (register_class) + { + case ZYDIS_REGCLASS_XMM: + case ZYDIS_REGCLASS_YMM: + case ZYDIS_REGCLASS_ZMM: + value |= (context->cache.R2 << 4); + break; + default: + break; + } + return value; + } + case ZYDIS_REG_ENCODING_NDSNDD: + // v' only exists for EVEX and MVEX. No encoding check needed + switch (register_class) + { + case ZYDIS_REGCLASS_XMM: + case ZYDIS_REGCLASS_YMM: + case ZYDIS_REGCLASS_ZMM: + return context->cache.v_vvvv; + case ZYDIS_REGCLASS_MASK: + return context->cache.v_vvvv & 0x07; + default: + return context->cache.v_vvvv & 0x0F; + } + case ZYDIS_REG_ENCODING_RM: + { + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZyanU8 value = instruction->raw.modrm.rm; + switch (register_class) + { + case ZYDIS_REGCLASS_GPR8: + case ZYDIS_REGCLASS_GPR16: + case ZYDIS_REGCLASS_GPR32: + case ZYDIS_REGCLASS_GPR64: + case ZYDIS_REGCLASS_XMM: + case ZYDIS_REGCLASS_YMM: + case ZYDIS_REGCLASS_ZMM: + case ZYDIS_REGCLASS_CONTROL: + case ZYDIS_REGCLASS_DEBUG: + value |= (context->cache.B << 3); + break; + default: + break; + } + // We have to check the instruction-encoding, because the extension by X is only valid + // for EVEX and MVEX instructions + if ((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || + (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) + { + switch (register_class) + { + case ZYDIS_REGCLASS_XMM: + case ZYDIS_REGCLASS_YMM: + case ZYDIS_REGCLASS_ZMM: + value |= (context->cache.X << 4); + break; + default: + break; + } + } + return value; + } + case ZYDIS_REG_ENCODING_BASE: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + if (instruction->raw.modrm.rm == 4) + { + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB); + return instruction->raw.sib.base | (context->cache.B << 3); + } + return instruction->raw.modrm.rm | (context->cache.B << 3); + case ZYDIS_REG_ENCODING_INDEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB); + return instruction->raw.sib.index | (context->cache.X << 3); + case ZYDIS_REG_ENCODING_VIDX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB); + ZYAN_ASSERT((register_class == ZYDIS_REGCLASS_XMM) || + (register_class == ZYDIS_REGCLASS_YMM) || + (register_class == ZYDIS_REGCLASS_ZMM)); + // v' only exists for EVEX and MVEX. No encoding check needed + return instruction->raw.sib.index | (context->cache.X << 3) | + (context->cache.V2 << 4); + case ZYDIS_REG_ENCODING_IS4: + { + ZyanU8 value = (instruction->raw.imm[0].value.u >> 4) & 0x0F; + // We have to check the instruction-encoding, because the extension by bit [3] is only + // valid for EVEX and MVEX instructions + if ((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || + (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) + { + switch (register_class) + { + case ZYDIS_REGCLASS_XMM: + case ZYDIS_REGCLASS_YMM: + case ZYDIS_REGCLASS_ZMM: + value |= ((instruction->raw.imm[0].value.u & 0x08) << 1); + default: + break; + } + } + return value; + } + case ZYDIS_REG_ENCODING_MASK: + return context->cache.mask; + default: + ZYAN_UNREACHABLE; + } + default: + ZYAN_UNREACHABLE; + } +} +#endif + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Sets the operand-size and element-specific information for the given operand. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param operand A pointer to the `ZydisDecodedOperand` struct. + * @param definition A pointer to the `ZydisOperandDefinition` struct. + */ +static void ZydisSetOperandSizeAndElementInfo(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZydisDecodedOperand* operand, + const ZydisOperandDefinition* definition) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(operand); + ZYAN_ASSERT(definition); + + // Operand size + switch (operand->type) + { + case ZYDIS_OPERAND_TYPE_REGISTER: + { + if (definition->size[context->eosz_index]) + { + operand->size = definition->size[context->eosz_index] * 8; + } else + { + operand->size = ZydisRegisterGetWidth(context->decoder->machine_mode, + operand->reg.value); + } + operand->element_type = ZYDIS_ELEMENT_TYPE_INT; + operand->element_size = operand->size; + break; + } + case ZYDIS_OPERAND_TYPE_MEMORY: + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + case ZYDIS_INSTRUCTION_ENCODING_3DNOW: + case ZYDIS_INSTRUCTION_ENCODING_XOP: + case ZYDIS_INSTRUCTION_ENCODING_VEX: + if (operand->mem.type == ZYDIS_MEMOP_TYPE_AGEN) + { + ZYAN_ASSERT(definition->size[context->eosz_index] == 0); + operand->size = instruction->address_width; + operand->element_type = ZYDIS_ELEMENT_TYPE_INT; + } else + { + ZYAN_ASSERT(definition->size[context->eosz_index] || + (instruction->meta.category == ZYDIS_CATEGORY_AMX_TILE)); + operand->size = definition->size[context->eosz_index] * 8; + } + break; + case ZYDIS_INSTRUCTION_ENCODING_EVEX: +#ifndef ZYDIS_DISABLE_AVX512 + if (definition->size[context->eosz_index]) + { + // Operand size is hardcoded + operand->size = definition->size[context->eosz_index] * 8; + } else + { + // Operand size depends on the tuple-type, the element-size and the number of + // elements + ZYAN_ASSERT(instruction->avx.vector_length); + ZYAN_ASSERT(context->evex.element_size); + switch (context->evex.tuple_type) + { + case ZYDIS_TUPLETYPE_FV: + if (instruction->avx.broadcast.mode) + { + operand->size = context->evex.element_size; + } else + { + operand->size = instruction->avx.vector_length; + } + break; + case ZYDIS_TUPLETYPE_HV: + if (instruction->avx.broadcast.mode) + { + operand->size = context->evex.element_size; + } else + { + operand->size = (ZyanU16)instruction->avx.vector_length / 2; + } + break; + default: + ZYAN_UNREACHABLE; + } + } + ZYAN_ASSERT(operand->size); +#else + ZYAN_UNREACHABLE; +#endif + break; + case ZYDIS_INSTRUCTION_ENCODING_MVEX: +#ifndef ZYDIS_DISABLE_KNC + if (definition->size[context->eosz_index]) + { + // Operand size is hardcoded + operand->size = definition->size[context->eosz_index] * 8; + } else + { + ZYAN_ASSERT(definition->element_type == ZYDIS_IELEMENT_TYPE_VARIABLE); + ZYAN_ASSERT(instruction->avx.vector_length == 512); + + switch (instruction->avx.conversion.mode) + { + case ZYDIS_CONVERSION_MODE_INVALID: + operand->size = 512; + switch (context->mvex.functionality) + { + case ZYDIS_MVEX_FUNC_SF_32: + case ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16: + case ZYDIS_MVEX_FUNC_UF_32: + case ZYDIS_MVEX_FUNC_DF_32: + operand->element_type = ZYDIS_ELEMENT_TYPE_FLOAT32; + operand->element_size = 32; + break; + case ZYDIS_MVEX_FUNC_SF_32_BCST: + operand->size = 256; + operand->element_type = ZYDIS_ELEMENT_TYPE_FLOAT32; + operand->element_size = 32; + break; + case ZYDIS_MVEX_FUNC_SI_32: + case ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16: + case ZYDIS_MVEX_FUNC_UI_32: + case ZYDIS_MVEX_FUNC_DI_32: + operand->element_type = ZYDIS_ELEMENT_TYPE_INT; + operand->element_size = 32; + break; + case ZYDIS_MVEX_FUNC_SI_32_BCST: + operand->size = 256; + operand->element_type = ZYDIS_ELEMENT_TYPE_INT; + operand->element_size = 32; + break; + case ZYDIS_MVEX_FUNC_SF_64: + case ZYDIS_MVEX_FUNC_UF_64: + case ZYDIS_MVEX_FUNC_DF_64: + operand->element_type = ZYDIS_ELEMENT_TYPE_FLOAT64; + operand->element_size = 64; + break; + case ZYDIS_MVEX_FUNC_SI_64: + case ZYDIS_MVEX_FUNC_UI_64: + case ZYDIS_MVEX_FUNC_DI_64: + operand->element_type = ZYDIS_ELEMENT_TYPE_INT; + operand->element_size = 64; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_CONVERSION_MODE_FLOAT16: + operand->size = 256; + operand->element_type = ZYDIS_ELEMENT_TYPE_FLOAT16; + operand->element_size = 16; + break; + case ZYDIS_CONVERSION_MODE_SINT16: + operand->size = 256; + operand->element_type = ZYDIS_ELEMENT_TYPE_INT; + operand->element_size = 16; + break; + case ZYDIS_CONVERSION_MODE_UINT16: + operand->size = 256; + operand->element_type = ZYDIS_ELEMENT_TYPE_UINT; + operand->element_size = 16; + break; + case ZYDIS_CONVERSION_MODE_SINT8: + operand->size = 128; + operand->element_type = ZYDIS_ELEMENT_TYPE_INT; + operand->element_size = 8; + break; + case ZYDIS_CONVERSION_MODE_UINT8: + operand->size = 128; + operand->element_type = ZYDIS_ELEMENT_TYPE_UINT; + operand->element_size = 8; + break; + default: + ZYAN_UNREACHABLE; + } + + switch (instruction->avx.broadcast.mode) + { + case ZYDIS_BROADCAST_MODE_INVALID: + // Nothing to do here + break; + case ZYDIS_BROADCAST_MODE_1_TO_8: + case ZYDIS_BROADCAST_MODE_1_TO_16: + operand->size = operand->element_size; + break; + case ZYDIS_BROADCAST_MODE_4_TO_8: + case ZYDIS_BROADCAST_MODE_4_TO_16: + operand->size = operand->element_size * 4; + break; + default: + ZYAN_UNREACHABLE; + } + } +#else + ZYAN_UNREACHABLE; +#endif + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_OPERAND_TYPE_POINTER: + ZYAN_ASSERT((instruction->raw.imm[0].size == 16) || + (instruction->raw.imm[0].size == 32)); + ZYAN_ASSERT( instruction->raw.imm[1].size == 16); + operand->size = instruction->raw.imm[0].size + instruction->raw.imm[1].size; + break; + case ZYDIS_OPERAND_TYPE_IMMEDIATE: + operand->size = definition->size[context->eosz_index] * 8; + break; + default: + ZYAN_UNREACHABLE; + } + + // Element-type and -size + if (definition->element_type && (definition->element_type != ZYDIS_IELEMENT_TYPE_VARIABLE)) + { + ZydisGetElementInfo(definition->element_type, &operand->element_type, + &operand->element_size); + if (!operand->element_size) + { + // The element size is the same as the operand size. This is used for single element + // scaling operands + operand->element_size = operand->size; + } + } + + // Element count + if (operand->element_size && operand->size && (operand->element_type != ZYDIS_ELEMENT_TYPE_CC)) + { + operand->element_count = operand->size / operand->element_size; + } else + { + operand->element_count = 1; + } +} +#endif + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Decodes an register-operand. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param operand A pointer to the `ZydisDecodedOperand` struct. + * @param register_class The register class. + * @param register_id The register id. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeOperandRegister(ZydisDecodedInstruction* instruction, + ZydisDecodedOperand* operand, ZydisRegisterClass register_class, ZyanU8 register_id) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(operand); + + operand->type = ZYDIS_OPERAND_TYPE_REGISTER; + + if (register_class == ZYDIS_REGCLASS_GPR8) + { + if ((instruction->attributes & ZYDIS_ATTRIB_HAS_REX) && (register_id >= 4)) + { + operand->reg.value = ZYDIS_REGISTER_SPL + (register_id - 4); + } else + { + operand->reg.value = ZYDIS_REGISTER_AL + register_id; + } + } else + { + operand->reg.value = ZydisRegisterEncode(register_class, register_id); + ZYAN_ASSERT(operand->reg.value); + /*if (!operand->reg.value) + { + return ZYAN_STATUS_BAD_REGISTER; + }*/ + } + + return ZYAN_STATUS_SUCCESS; +} +#endif + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Decodes a memory operand. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param operand A pointer to the `ZydisDecodedOperand` struct. + * @param vidx_register_class The register-class to use as the index register-class for + * instructions with `VSIB` addressing. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeOperandMemory(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZydisDecodedOperand* operand, + ZydisRegisterClass vidx_register_class) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(operand); + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM); + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + ZYAN_ASSERT(!vidx_register_class || ((instruction->raw.modrm.rm == 4) && + ((instruction->address_width == 32) || (instruction->address_width == 64)))); + + operand->type = ZYDIS_OPERAND_TYPE_MEMORY; + operand->mem.type = ZYDIS_MEMOP_TYPE_MEM; + + const ZyanU8 modrm_rm = instruction->raw.modrm.rm; + ZyanU8 displacement_size = 0; + switch (instruction->address_width) + { + case 16: + { + static const ZydisRegister bases[] = + { + ZYDIS_REGISTER_BX, ZYDIS_REGISTER_BX, ZYDIS_REGISTER_BP, ZYDIS_REGISTER_BP, + ZYDIS_REGISTER_SI, ZYDIS_REGISTER_DI, ZYDIS_REGISTER_BP, ZYDIS_REGISTER_BX + }; + static const ZydisRegister indices[] = + { + ZYDIS_REGISTER_SI, ZYDIS_REGISTER_DI, ZYDIS_REGISTER_SI, ZYDIS_REGISTER_DI, + ZYDIS_REGISTER_NONE, ZYDIS_REGISTER_NONE, ZYDIS_REGISTER_NONE, ZYDIS_REGISTER_NONE + }; + operand->mem.base = bases[modrm_rm]; + operand->mem.index = indices[modrm_rm]; + operand->mem.scale = (operand->mem.index == ZYDIS_REGISTER_NONE) ? 0 : 1; + switch (instruction->raw.modrm.mod) + { + case 0: + if (modrm_rm == 6) + { + displacement_size = 16; + operand->mem.base = ZYDIS_REGISTER_NONE; + } + break; + case 1: + displacement_size = 8; + break; + case 2: + displacement_size = 16; + break; + default: + ZYAN_UNREACHABLE; + } + break; + } + case 32: + { + operand->mem.base = ZYDIS_REGISTER_EAX + ZydisCalcRegisterId(context, instruction, + ZYDIS_REG_ENCODING_BASE, ZYDIS_REGCLASS_GPR32); + switch (instruction->raw.modrm.mod) + { + case 0: + if (modrm_rm == 5) + { + if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) + { + operand->mem.base = ZYDIS_REGISTER_EIP; + } else + { + operand->mem.base = ZYDIS_REGISTER_NONE; + } + displacement_size = 32; + } + break; + case 1: + displacement_size = 8; + break; + case 2: + displacement_size = 32; + break; + default: + ZYAN_UNREACHABLE; + } + if (modrm_rm == 4) + { + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB); + operand->mem.index = + ZydisRegisterEncode(vidx_register_class ? vidx_register_class : ZYDIS_REGCLASS_GPR32, + ZydisCalcRegisterId(context, instruction, + vidx_register_class ? ZYDIS_REG_ENCODING_VIDX : ZYDIS_REG_ENCODING_INDEX, + vidx_register_class ? vidx_register_class : ZYDIS_REGCLASS_GPR32)); + operand->mem.scale = (1 << instruction->raw.sib.scale); + if (operand->mem.index == ZYDIS_REGISTER_ESP) + { + operand->mem.index = ZYDIS_REGISTER_NONE; + operand->mem.scale = 0; + } + if (operand->mem.base == ZYDIS_REGISTER_EBP) + { + if (instruction->raw.modrm.mod == 0) + { + operand->mem.base = ZYDIS_REGISTER_NONE; + } + displacement_size = (instruction->raw.modrm.mod == 1) ? 8 : 32; + } + } else + { + operand->mem.index = ZYDIS_REGISTER_NONE; + operand->mem.scale = 0; + } + break; + } + case 64: + { + operand->mem.base = ZYDIS_REGISTER_RAX + ZydisCalcRegisterId(context, instruction, + ZYDIS_REG_ENCODING_BASE, ZYDIS_REGCLASS_GPR64); + switch (instruction->raw.modrm.mod) + { + case 0: + if (modrm_rm == 5) + { + if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) + { + operand->mem.base = ZYDIS_REGISTER_RIP; + } else + { + operand->mem.base = ZYDIS_REGISTER_NONE; + } + displacement_size = 32; + } + break; + case 1: + displacement_size = 8; + break; + case 2: + displacement_size = 32; + break; + default: + ZYAN_UNREACHABLE; + } + if ((modrm_rm & 0x07) == 4) + { + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB); + operand->mem.index = + ZydisRegisterEncode(vidx_register_class ? vidx_register_class : ZYDIS_REGCLASS_GPR64, + ZydisCalcRegisterId(context, instruction, + vidx_register_class ? ZYDIS_REG_ENCODING_VIDX : ZYDIS_REG_ENCODING_INDEX, + vidx_register_class ? vidx_register_class : ZYDIS_REGCLASS_GPR64)); + operand->mem.scale = (1 << instruction->raw.sib.scale);; + if (operand->mem.index == ZYDIS_REGISTER_RSP) + { + operand->mem.index = ZYDIS_REGISTER_NONE; + operand->mem.scale = 0; + } + if ((operand->mem.base == ZYDIS_REGISTER_RBP) || + (operand->mem.base == ZYDIS_REGISTER_R13)) + { + if (instruction->raw.modrm.mod == 0) + { + operand->mem.base = ZYDIS_REGISTER_NONE; + } + displacement_size = (instruction->raw.modrm.mod == 1) ? 8 : 32; + } + } else + { + operand->mem.index = ZYDIS_REGISTER_NONE; + operand->mem.scale = 0; + } + break; + } + default: + ZYAN_UNREACHABLE; + } + if (displacement_size) + { + ZYAN_ASSERT(instruction->raw.disp.size == displacement_size); + operand->mem.disp.has_displacement = ZYAN_TRUE; + operand->mem.disp.value = instruction->raw.disp.value; + } + return ZYAN_STATUS_SUCCESS; +} +#endif + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Decodes an implicit register operand. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param operand A pointer to the `ZydisDecodedOperand` struct. + * @param definition A pointer to the `ZydisOperandDefinition` struct. + */ +static void ZydisDecodeOperandImplicitRegister(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZydisDecodedOperand* operand, + const ZydisOperandDefinition* definition) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(operand); + ZYAN_ASSERT(definition); + + operand->type = ZYDIS_OPERAND_TYPE_REGISTER; + + switch (definition->op.reg.type) + { + case ZYDIS_IMPLREG_TYPE_STATIC: + operand->reg.value = definition->op.reg.reg.reg; + break; + case ZYDIS_IMPLREG_TYPE_GPR_OSZ: + { + static const ZydisRegisterClass lookup[3] = + { + ZYDIS_REGCLASS_GPR16, + ZYDIS_REGCLASS_GPR32, + ZYDIS_REGCLASS_GPR64 + }; + operand->reg.value = + ZydisRegisterEncode(lookup[context->eosz_index], definition->op.reg.reg.id); + break; + } + case ZYDIS_IMPLREG_TYPE_GPR_ASZ: + operand->reg.value = ZydisRegisterEncode( + (instruction->address_width == 16) ? ZYDIS_REGCLASS_GPR16 : + (instruction->address_width == 32) ? ZYDIS_REGCLASS_GPR32 : ZYDIS_REGCLASS_GPR64, + definition->op.reg.reg.id); + break; + case ZYDIS_IMPLREG_TYPE_GPR_SSZ: + operand->reg.value = ZydisRegisterEncode( + (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_16) ? ZYDIS_REGCLASS_GPR16 : + (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_32) ? ZYDIS_REGCLASS_GPR32 : + ZYDIS_REGCLASS_GPR64, + definition->op.reg.reg.id); + break; + case ZYDIS_IMPLREG_TYPE_IP_ASZ: + operand->reg.value = + (instruction->address_width == 16) ? ZYDIS_REGISTER_IP : + (instruction->address_width == 32) ? ZYDIS_REGISTER_EIP : ZYDIS_REGISTER_RIP; + break; + case ZYDIS_IMPLREG_TYPE_IP_SSZ: + operand->reg.value = + (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_16) ? ZYDIS_REGISTER_EIP : + (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_32) ? ZYDIS_REGISTER_EIP : + ZYDIS_REGISTER_RIP; + break; + case ZYDIS_IMPLREG_TYPE_FLAGS_SSZ: + operand->reg.value = + (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_16) ? ZYDIS_REGISTER_FLAGS : + (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_32) ? ZYDIS_REGISTER_EFLAGS : + ZYDIS_REGISTER_RFLAGS; + break; + default: + ZYAN_UNREACHABLE; + } +} +#endif + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Decodes an implicit memory operand. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param operand A pointer to the `ZydisDecodedOperand` struct. + * @param definition A pointer to the `ZydisOperandDefinition` struct. + */ +static void ZydisDecodeOperandImplicitMemory(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZydisDecodedOperand* operand, + const ZydisOperandDefinition* definition) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(operand); + ZYAN_ASSERT(definition); + + static const ZydisRegisterClass lookup[3] = + { + ZYDIS_REGCLASS_GPR16, + ZYDIS_REGCLASS_GPR32, + ZYDIS_REGCLASS_GPR64 + }; + + operand->type = ZYDIS_OPERAND_TYPE_MEMORY; + operand->mem.type = ZYDIS_MEMOP_TYPE_MEM; + + switch (definition->op.mem.base) + { + case ZYDIS_IMPLMEM_BASE_AGPR_REG: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], + ZydisCalcRegisterId(context, instruction, ZYDIS_REG_ENCODING_REG, + lookup[context->easz_index])); + break; + case ZYDIS_IMPLMEM_BASE_AGPR_RM: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], + ZydisCalcRegisterId(context, instruction, ZYDIS_REG_ENCODING_RM, + lookup[context->easz_index])); + break; + case ZYDIS_IMPLMEM_BASE_AAX: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 0); + break; + case ZYDIS_IMPLMEM_BASE_ADX: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 2); + break; + case ZYDIS_IMPLMEM_BASE_ABX: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 3); + break; + case ZYDIS_IMPLMEM_BASE_ASP: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 4); + break; + case ZYDIS_IMPLMEM_BASE_ABP: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 5); + break; + case ZYDIS_IMPLMEM_BASE_ASI: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 6); + break; + case ZYDIS_IMPLMEM_BASE_ADI: + operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 7); + break; + default: + ZYAN_UNREACHABLE; + } + + if (definition->op.mem.seg) + { + operand->mem.segment = + ZydisRegisterEncode(ZYDIS_REGCLASS_SEGMENT, definition->op.mem.seg - 1); + ZYAN_ASSERT(operand->mem.segment); + } +} +#endif + +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Decodes the instruction operands. + * + * @param context A pointer to the`ZydisDecoderContext` struct. + * @param instruction A pointer to the`ZydisDecodedInstruction` struct. + * @param definition A pointer to the`ZydisInstructionDefinition` struct. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeOperands(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(definition); + + ZyanU8 imm_id = 0; + const ZydisOperandDefinition* operand; + instruction->operand_count = ZydisGetOperandDefinitions(definition, &operand); + + ZYAN_ASSERT(instruction->operand_count <= ZYAN_ARRAY_LENGTH(instruction->operands)); + + for (ZyanU8 i = 0; i < instruction->operand_count; ++i) + { + ZydisRegisterClass register_class = ZYDIS_REGCLASS_INVALID; + + instruction->operands[i].id = i; + instruction->operands[i].visibility = operand->visibility; + instruction->operands[i].actions = operand->actions; + ZYAN_ASSERT(!(operand->actions & + ZYDIS_OPERAND_ACTION_READ & ZYDIS_OPERAND_ACTION_CONDREAD) || + (operand->actions & ZYDIS_OPERAND_ACTION_READ) ^ + (operand->actions & ZYDIS_OPERAND_ACTION_CONDREAD)); + ZYAN_ASSERT(!(operand->actions & + ZYDIS_OPERAND_ACTION_WRITE & ZYDIS_OPERAND_ACTION_CONDWRITE) || + (operand->actions & ZYDIS_OPERAND_ACTION_WRITE) ^ + (operand->actions & ZYDIS_OPERAND_ACTION_CONDWRITE)); + + // Implicit operands + switch (operand->type) + { + case ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG: + ZydisDecodeOperandImplicitRegister(context, instruction, &instruction->operands[i], + operand); + break; + case ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM: + ZydisDecodeOperandImplicitMemory(context, instruction, &instruction->operands[i], + operand); + break; + case ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1: + instruction->operands[i].type = ZYDIS_OPERAND_TYPE_IMMEDIATE; + instruction->operands[i].size = 8; + instruction->operands[i].imm.value.u = 1; + instruction->operands[i].imm.is_signed = ZYAN_FALSE; + instruction->operands[i].imm.is_relative = ZYAN_FALSE; + break; + default: + break; + } + if (instruction->operands[i].type) + { + goto FinalizeOperand; + } + + instruction->operands[i].encoding = operand->op.encoding; + + // Register operands + switch (operand->type) + { + case ZYDIS_SEMANTIC_OPTYPE_GPR8: + register_class = ZYDIS_REGCLASS_GPR8; + break; + case ZYDIS_SEMANTIC_OPTYPE_GPR16: + register_class = ZYDIS_REGCLASS_GPR16; + break; + case ZYDIS_SEMANTIC_OPTYPE_GPR32: + register_class = ZYDIS_REGCLASS_GPR32; + break; + case ZYDIS_SEMANTIC_OPTYPE_GPR64: + register_class = ZYDIS_REGCLASS_GPR64; + break; + case ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64: + ZYAN_ASSERT((instruction->operand_width == 16) || (instruction->operand_width == 32) || + (instruction->operand_width == 64)); + register_class = + (instruction->operand_width == 16) ? ZYDIS_REGCLASS_GPR16 : ( + (instruction->operand_width == 32) ? ZYDIS_REGCLASS_GPR32 : ZYDIS_REGCLASS_GPR64); + break; + case ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64: + ZYAN_ASSERT((instruction->operand_width == 16) || (instruction->operand_width == 32) || + (instruction->operand_width == 64)); + register_class = + (instruction->operand_width == 16) ? ZYDIS_REGCLASS_GPR32 : ( + (instruction->operand_width == 32) ? ZYDIS_REGCLASS_GPR32: ZYDIS_REGCLASS_GPR64); + break; + case ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32: + ZYAN_ASSERT((instruction->operand_width == 16) || (instruction->operand_width == 32) || + (instruction->operand_width == 64)); + register_class = + (instruction->operand_width == 16) ? ZYDIS_REGCLASS_GPR16 : ZYDIS_REGCLASS_GPR32; + break; + case ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ: + ZYAN_ASSERT((instruction->address_width == 16) || (instruction->address_width == 32) || + (instruction->address_width == 64)); + register_class = + (instruction->address_width == 16) ? ZYDIS_REGCLASS_GPR16 : ( + (instruction->address_width == 32) ? ZYDIS_REGCLASS_GPR32 : ZYDIS_REGCLASS_GPR64); + break; + case ZYDIS_SEMANTIC_OPTYPE_FPR: + register_class = ZYDIS_REGCLASS_X87; + break; + case ZYDIS_SEMANTIC_OPTYPE_MMX: + register_class = ZYDIS_REGCLASS_MMX; + break; + case ZYDIS_SEMANTIC_OPTYPE_XMM: + register_class = ZYDIS_REGCLASS_XMM; + break; + case ZYDIS_SEMANTIC_OPTYPE_YMM: + register_class = ZYDIS_REGCLASS_YMM; + break; + case ZYDIS_SEMANTIC_OPTYPE_ZMM: + register_class = ZYDIS_REGCLASS_ZMM; + break; + case ZYDIS_SEMANTIC_OPTYPE_TMM: + register_class = ZYDIS_REGCLASS_TMM; + break; + case ZYDIS_SEMANTIC_OPTYPE_BND: + register_class = ZYDIS_REGCLASS_BOUND; + break; + case ZYDIS_SEMANTIC_OPTYPE_SREG: + register_class = ZYDIS_REGCLASS_SEGMENT; + break; + case ZYDIS_SEMANTIC_OPTYPE_CR: + register_class = ZYDIS_REGCLASS_CONTROL; + break; + case ZYDIS_SEMANTIC_OPTYPE_DR: + register_class = ZYDIS_REGCLASS_DEBUG; + break; + case ZYDIS_SEMANTIC_OPTYPE_MASK: + register_class = ZYDIS_REGCLASS_MASK; + break; + default: + break; + } + if (register_class) + { + switch (operand->op.encoding) + { + case ZYDIS_OPERAND_ENCODING_MODRM_REG: + ZYAN_CHECK( + ZydisDecodeOperandRegister( + instruction, &instruction->operands[i], register_class, + ZydisCalcRegisterId( + context, instruction, ZYDIS_REG_ENCODING_REG, register_class))); + break; + case ZYDIS_OPERAND_ENCODING_MODRM_RM: + ZYAN_CHECK( + ZydisDecodeOperandRegister( + instruction, &instruction->operands[i], register_class, + ZydisCalcRegisterId( + context, instruction, ZYDIS_REG_ENCODING_RM, register_class))); + break; + case ZYDIS_OPERAND_ENCODING_OPCODE: + ZYAN_CHECK( + ZydisDecodeOperandRegister( + instruction, &instruction->operands[i], register_class, + ZydisCalcRegisterId( + context, instruction, ZYDIS_REG_ENCODING_OPCODE, register_class))); + break; + case ZYDIS_OPERAND_ENCODING_NDSNDD: + ZYAN_CHECK( + ZydisDecodeOperandRegister( + instruction, &instruction->operands[i], register_class, + ZydisCalcRegisterId( + context, instruction, ZYDIS_REG_ENCODING_NDSNDD, register_class))); + break; + case ZYDIS_OPERAND_ENCODING_MASK: + ZYAN_CHECK( + ZydisDecodeOperandRegister( + instruction, &instruction->operands[i], register_class, + ZydisCalcRegisterId( + context, instruction, ZYDIS_REG_ENCODING_MASK, register_class))); + break; + case ZYDIS_OPERAND_ENCODING_IS4: + ZYAN_CHECK( + ZydisDecodeOperandRegister( + instruction, &instruction->operands[i], register_class, + ZydisCalcRegisterId( + context, instruction, ZYDIS_REG_ENCODING_IS4, register_class))); + break; + default: + ZYAN_UNREACHABLE; + } + + if (operand->is_multisource4) + { + instruction->operands[i].attributes |= ZYDIS_OATTRIB_IS_MULTISOURCE4; + } + + goto FinalizeOperand; + } + + // Memory operands + switch (operand->type) + { + case ZYDIS_SEMANTIC_OPTYPE_MEM: + ZYAN_CHECK( + ZydisDecodeOperandMemory( + context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_INVALID)); + break; + case ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX: + ZYAN_CHECK( + ZydisDecodeOperandMemory( + context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_XMM)); + break; + case ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY: + ZYAN_CHECK( + ZydisDecodeOperandMemory( + context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_YMM)); + break; + case ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ: + ZYAN_CHECK( + ZydisDecodeOperandMemory( + context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_ZMM)); + break; + case ZYDIS_SEMANTIC_OPTYPE_PTR: + ZYAN_ASSERT((instruction->raw.imm[0].size == 16) || + (instruction->raw.imm[0].size == 32)); + ZYAN_ASSERT( instruction->raw.imm[1].size == 16); + instruction->operands[i].type = ZYDIS_OPERAND_TYPE_POINTER; + instruction->operands[i].ptr.offset = (ZyanU32)instruction->raw.imm[0].value.u; + instruction->operands[i].ptr.segment = (ZyanU16)instruction->raw.imm[1].value.u; + break; + case ZYDIS_SEMANTIC_OPTYPE_AGEN: + instruction->operands[i].actions = 0; // TODO: Remove after generator update + ZYAN_CHECK( + ZydisDecodeOperandMemory( + context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_INVALID)); + instruction->operands[i].mem.type = ZYDIS_MEMOP_TYPE_AGEN; + break; + case ZYDIS_SEMANTIC_OPTYPE_MOFFS: + ZYAN_ASSERT(instruction->raw.disp.size); + instruction->operands[i].type = ZYDIS_OPERAND_TYPE_MEMORY; + instruction->operands[i].mem.type = ZYDIS_MEMOP_TYPE_MEM; + instruction->operands[i].mem.disp.has_displacement = ZYAN_TRUE; + instruction->operands[i].mem.disp.value = instruction->raw.disp.value; + break; + case ZYDIS_SEMANTIC_OPTYPE_MIB: + instruction->operands[i].actions = 0; // TODO: Remove after generator update + ZYAN_CHECK( + ZydisDecodeOperandMemory( + context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_INVALID)); + instruction->operands[i].mem.type = ZYDIS_MEMOP_TYPE_MIB; + break; + default: + break; + } + if (instruction->operands[i].type) + { +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + // Handle compressed 8-bit displacement + if (((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || + (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) && + (instruction->raw.disp.size == 8)) + { + instruction->operands[i].mem.disp.value *= context->cd8_scale; + } +#endif + + goto FinalizeOperand; + } + + // Immediate operands + switch (operand->type) + { + case ZYDIS_SEMANTIC_OPTYPE_REL: + ZYAN_ASSERT(instruction->raw.imm[imm_id].is_relative); + case ZYDIS_SEMANTIC_OPTYPE_IMM: + ZYAN_ASSERT((imm_id == 0) || (imm_id == 1)); + instruction->operands[i].type = ZYDIS_OPERAND_TYPE_IMMEDIATE; + instruction->operands[i].size = operand->size[context->eosz_index] * 8; + if (operand->op.encoding == ZYDIS_OPERAND_ENCODING_IS4) + { + // The upper half of the 8-bit immediate is used to encode a register specifier + ZYAN_ASSERT(instruction->raw.imm[imm_id].size == 8); + instruction->operands[i].imm.value.u = + (ZyanU8)instruction->raw.imm[imm_id].value.u & 0x0F; + } else + { + instruction->operands[i].imm.value.u = instruction->raw.imm[imm_id].value.u; + } + instruction->operands[i].imm.is_signed = instruction->raw.imm[imm_id].is_signed; + instruction->operands[i].imm.is_relative = instruction->raw.imm[imm_id].is_relative; + ++imm_id; + break; + default: + break; + } + ZYAN_ASSERT(instruction->operands[i].type == ZYDIS_OPERAND_TYPE_IMMEDIATE); + +FinalizeOperand: + // Set segment-register for memory operands + if (instruction->operands[i].type == ZYDIS_OPERAND_TYPE_MEMORY) + { + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_CS) + { + instruction->operands[i].mem.segment = ZYDIS_REGISTER_CS; + } else + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_SS) + { + instruction->operands[i].mem.segment = ZYDIS_REGISTER_SS; + } else + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_DS) + { + instruction->operands[i].mem.segment = ZYDIS_REGISTER_DS; + } else + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_ES) + { + instruction->operands[i].mem.segment = ZYDIS_REGISTER_ES; + } else + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_FS) + { + instruction->operands[i].mem.segment = ZYDIS_REGISTER_FS; + } else + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_GS) + { + instruction->operands[i].mem.segment = ZYDIS_REGISTER_GS; + } else + { + if (instruction->operands[i].mem.segment == ZYDIS_REGISTER_NONE) + { + if ((instruction->operands[i].mem.base == ZYDIS_REGISTER_RSP) || + (instruction->operands[i].mem.base == ZYDIS_REGISTER_RBP) || + (instruction->operands[i].mem.base == ZYDIS_REGISTER_ESP) || + (instruction->operands[i].mem.base == ZYDIS_REGISTER_EBP) || + (instruction->operands[i].mem.base == ZYDIS_REGISTER_SP) || + (instruction->operands[i].mem.base == ZYDIS_REGISTER_BP)) + { + instruction->operands[i].mem.segment = ZYDIS_REGISTER_SS; + } else + { + instruction->operands[i].mem.segment = ZYDIS_REGISTER_DS; + } + } + } + } + + ZydisSetOperandSizeAndElementInfo(context, instruction, &instruction->operands[i], operand); + ++operand; + } + +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + // Fix operand-action for EVEX/MVEX instructions with merge-mask + if (instruction->avx.mask.mode == ZYDIS_MASK_MODE_MERGING) + { + ZYAN_ASSERT(instruction->operand_count >= 1); + switch (instruction->operands[0].actions) + { + case ZYDIS_OPERAND_ACTION_WRITE: + if (instruction->operands[0].type == ZYDIS_OPERAND_TYPE_MEMORY) + { + instruction->operands[0].actions = ZYDIS_OPERAND_ACTION_CONDWRITE; + } else + { + instruction->operands[0].actions = ZYDIS_OPERAND_ACTION_READ_CONDWRITE; + } + break; + case ZYDIS_OPERAND_ACTION_READWRITE: + instruction->operands[0].actions = ZYDIS_OPERAND_ACTION_READ_CONDWRITE; + break; + default: + break; + } + } +#endif + + return ZYAN_STATUS_SUCCESS; +} +#endif + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Sets attributes for the given instruction. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param definition A pointer to the `ZydisInstructionDefinition` struct. + */ +static void ZydisSetAttributes(ZydisDecoderContext* context, ZydisDecodedInstruction* instruction, + const ZydisInstructionDefinition* definition) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(definition); + + if (definition->cpu_state != ZYDIS_RW_ACTION_NONE) + { + static const ZydisInstructionAttributes mapping[ZYDIS_RW_ACTION_MAX_VALUE + 1] = + { + /* NONE */ 0, + /* READ */ ZYDIS_ATTRIB_CPU_STATE_CR, + /* WRITE */ ZYDIS_ATTRIB_CPU_STATE_CW, + /* READWRITE */ ZYDIS_ATTRIB_CPU_STATE_CR | ZYDIS_ATTRIB_CPU_STATE_CW + }; + ZYAN_ASSERT(definition->cpu_state < ZYAN_ARRAY_LENGTH(mapping)); + instruction->attributes |= mapping[definition->cpu_state]; + } + + if (definition->fpu_state != ZYDIS_RW_ACTION_NONE) + { + static const ZydisInstructionAttributes mapping[ZYDIS_RW_ACTION_MAX_VALUE + 1] = + { + /* NONE */ 0, + /* READ */ ZYDIS_ATTRIB_FPU_STATE_CR, + /* WRITE */ ZYDIS_ATTRIB_FPU_STATE_CW, + /* READWRITE */ ZYDIS_ATTRIB_FPU_STATE_CR | ZYDIS_ATTRIB_FPU_STATE_CW + }; + ZYAN_ASSERT(definition->fpu_state < ZYAN_ARRAY_LENGTH(mapping)); + instruction->attributes |= mapping[definition->fpu_state]; + } + + if (definition->xmm_state != ZYDIS_RW_ACTION_NONE) + { + static const ZydisInstructionAttributes mapping[ZYDIS_RW_ACTION_MAX_VALUE + 1] = + { + /* NONE */ 0, + /* READ */ ZYDIS_ATTRIB_XMM_STATE_CR, + /* WRITE */ ZYDIS_ATTRIB_XMM_STATE_CW, + /* READWRITE */ ZYDIS_ATTRIB_XMM_STATE_CR | ZYDIS_ATTRIB_XMM_STATE_CW + }; + ZYAN_ASSERT(definition->xmm_state < ZYAN_ARRAY_LENGTH(mapping)); + instruction->attributes |= mapping[definition->xmm_state]; + } + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + { + const ZydisInstructionDefinitionLEGACY* def = + (const ZydisInstructionDefinitionLEGACY*)definition; + + if (def->is_privileged) + { + instruction->attributes |= ZYDIS_ATTRIB_IS_PRIVILEGED; + } + if (def->accepts_LOCK) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_LOCK; + if (context->prefixes.has_lock) + { + instruction->attributes |= ZYDIS_ATTRIB_HAS_LOCK; + instruction->raw.prefixes[context->prefixes.offset_lock].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + } + } + if (def->accepts_REP) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_REP; + } + if (def->accepts_REPEREPZ) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_REPE; + } + if (def->accepts_REPNEREPNZ) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_REPNE; + } + if (def->accepts_BOUND) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_BND; + } + if (def->accepts_XACQUIRE) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_XACQUIRE; + } + if (def->accepts_XRELEASE) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_XRELEASE; + } + if (def->accepts_hle_without_lock) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_HLE_WITHOUT_LOCK; + } + + switch (context->prefixes.group1) + { + case 0xF2: + if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_REPNE) + { + instruction->attributes |= ZYDIS_ATTRIB_HAS_REPNE; + break; + } + if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_XACQUIRE) + { + if ((instruction->attributes & ZYDIS_ATTRIB_HAS_LOCK) || + (def->accepts_hle_without_lock)) + { + instruction->attributes |= ZYDIS_ATTRIB_HAS_XACQUIRE; + break; + } + } + if (context->decoder->decoder_mode[ZYDIS_DECODER_MODE_MPX] && + instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_BND) + { + instruction->attributes |= ZYDIS_ATTRIB_HAS_BND; + break; + } + break; + case 0xF3: + if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_REP) + { + instruction->attributes |= ZYDIS_ATTRIB_HAS_REP; + break; + } + if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_REPE) + { + instruction->attributes |= ZYDIS_ATTRIB_HAS_REPE; + break; + } + if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_XRELEASE) + { + if ((instruction->attributes & ZYDIS_ATTRIB_HAS_LOCK) || + (def->accepts_hle_without_lock)) + { + instruction->attributes |= ZYDIS_ATTRIB_HAS_XRELEASE; + break; + } + } + break; + default: + break; + } + if ((instruction->raw.prefixes[context->prefixes.offset_group1].type == + ZYDIS_PREFIX_TYPE_IGNORED) && + (instruction->attributes & ( + ZYDIS_ATTRIB_HAS_REP | ZYDIS_ATTRIB_HAS_REPE | ZYDIS_ATTRIB_HAS_REPNE | + ZYDIS_ATTRIB_HAS_BND | ZYDIS_ATTRIB_HAS_XACQUIRE | ZYDIS_ATTRIB_HAS_XRELEASE))) + { + instruction->raw.prefixes[context->prefixes.offset_group1].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + } + + if (def->accepts_branch_hints) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_BRANCH_HINTS; + switch (context->prefixes.group2) + { + case 0x2E: + instruction->attributes |= ZYDIS_ATTRIB_HAS_BRANCH_NOT_TAKEN; + instruction->raw.prefixes[context->prefixes.offset_group2].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + break; + case 0x3E: + instruction->attributes |= ZYDIS_ATTRIB_HAS_BRANCH_TAKEN; + instruction->raw.prefixes[context->prefixes.offset_group2].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + break; + default: + break; + } + } else + { + if (def->accepts_segment) + { + instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_SEGMENT; + } + if (context->prefixes.effective_segment && def->accepts_segment) + { + switch (context->prefixes.effective_segment) + { + case 0x2E: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_CS; + break; + case 0x36: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_SS; + break; + case 0x3E: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_DS; + break; + case 0x26: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_ES; + break; + case 0x64: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_FS; + break; + case 0x65: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_GS; + break; + default: + ZYAN_UNREACHABLE; + } + } + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT) + { + instruction->raw.prefixes[context->prefixes.offset_segment].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + } + } + + break; + } + case ZYDIS_INSTRUCTION_ENCODING_3DNOW: + case ZYDIS_INSTRUCTION_ENCODING_XOP: + case ZYDIS_INSTRUCTION_ENCODING_VEX: + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + if (context->prefixes.effective_segment) + { + switch (context->prefixes.effective_segment) + { + case 0x2E: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_CS; + break; + case 0x36: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_SS; + break; + case 0x3E: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_DS; + break; + case 0x26: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_ES; + break; + case 0x64: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_FS; + break; + case 0x65: + instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_GS; + break; + default: + ZYAN_UNREACHABLE; + } + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT) + { + instruction->raw.prefixes[context->prefixes.offset_segment].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + } + } + break; + default: + ZYAN_UNREACHABLE; + } +} +#endif + +#ifndef ZYDIS_MINIMAL_MODE +/** + * Sets AVX-specific information for the given instruction. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param definition A pointer to the `ZydisInstructionDefinition` struct. + * + * Information set for `XOP`: + * - Vector Length + * + * Information set for `VEX`: + * - Vector length + * - Static broadcast-factor + * + * Information set for `EVEX`: + * - Vector length + * - Broadcast-factor (static and dynamic) + * - Rounding-mode and SAE + * - Mask mode + * - Compressed 8-bit displacement scale-factor + * + * Information set for `MVEX`: + * - Vector length + * - Broadcast-factor (static and dynamic) + * - Rounding-mode and SAE + * - Swizzle- and conversion-mode + * - Mask mode + * - Eviction hint + * - Compressed 8-bit displacement scale-factor + */ +static void ZydisSetAVXInformation(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(definition); + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_XOP: + { + // Vector length + static const ZyanU16 lookup[2] = + { + 128, + 256 + }; + ZYAN_ASSERT(context->cache.LL < ZYAN_ARRAY_LENGTH(lookup)); + instruction->avx.vector_length = lookup[context->cache.LL]; + break; + } + case ZYDIS_INSTRUCTION_ENCODING_VEX: + { + // Vector length + static const ZyanU16 lookup[2] = + { + 128, + 256 + }; + ZYAN_ASSERT(context->cache.LL < ZYAN_ARRAY_LENGTH(lookup)); + instruction->avx.vector_length = lookup[context->cache.LL]; + + // Static broadcast-factor + const ZydisInstructionDefinitionVEX* def = + (const ZydisInstructionDefinitionVEX*)definition; + if (def->broadcast) + { + instruction->avx.broadcast.is_static = ZYAN_TRUE; + static ZydisBroadcastMode broadcasts[ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE + 1] = + { + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_1_TO_2, + ZYDIS_BROADCAST_MODE_1_TO_4, + ZYDIS_BROADCAST_MODE_1_TO_8, + ZYDIS_BROADCAST_MODE_1_TO_16, + ZYDIS_BROADCAST_MODE_1_TO_32, + ZYDIS_BROADCAST_MODE_2_TO_4 + }; + instruction->avx.broadcast.mode = broadcasts[def->broadcast]; + } + break; + } + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + { +#ifndef ZYDIS_DISABLE_AVX512 + const ZydisInstructionDefinitionEVEX* def = + (const ZydisInstructionDefinitionEVEX*)definition; + + // Vector length + ZyanU8 vector_length = context->cache.LL; + if (def->vector_length) + { + vector_length = def->vector_length - 1; + } + static const ZyanU16 lookup[3] = + { + 128, + 256, + 512 + }; + ZYAN_ASSERT(vector_length < ZYAN_ARRAY_LENGTH(lookup)); + instruction->avx.vector_length = lookup[vector_length]; + + context->evex.tuple_type = def->tuple_type; + if (def->tuple_type) + { + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + ZYAN_ASSERT(def->element_size); + + // Element size + static const ZyanU8 element_sizes[ZYDIS_IELEMENT_SIZE_MAX_VALUE + 1] = + { + 0, 8, 16, 32, 64, 128 + }; + ZYAN_ASSERT(def->element_size < ZYAN_ARRAY_LENGTH(element_sizes)); + context->evex.element_size = element_sizes[def->element_size]; + + // Compressed disp8 scale and broadcast-factor + switch (def->tuple_type) + { + case ZYDIS_TUPLETYPE_FV: + { + const ZyanU8 evex_b = instruction->raw.evex.b; + const ZyanU8 evex_w = context->cache.W; + ZYAN_ASSERT(evex_b < 2); + ZYAN_ASSERT(evex_w < 2); + ZYAN_ASSERT(!evex_b || ((!evex_w && context->evex.element_size == 32) || + ( evex_w && context->evex.element_size == 64))); + ZYAN_ASSERT(!evex_b || def->functionality == ZYDIS_EVEX_FUNC_BC); + + static const ZyanU8 scales[2][2][3] = + { + /*B0*/ { /*W0*/ { 16, 32, 64 }, /*W1*/ { 16, 32, 64 } }, + /*B1*/ { /*W0*/ { 4, 4, 4 }, /*W1*/ { 8, 8, 8 } } + }; + static const ZydisBroadcastMode broadcasts[2][2][3] = + { + /*B0*/ + { + /*W0*/ + { + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_INVALID + }, + /*W1*/ + { + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_INVALID + } + }, + /*B1*/ + { + /*W0*/ + { + ZYDIS_BROADCAST_MODE_1_TO_4, + ZYDIS_BROADCAST_MODE_1_TO_8, + ZYDIS_BROADCAST_MODE_1_TO_16 + }, + /*W1*/ + { + ZYDIS_BROADCAST_MODE_1_TO_2, + ZYDIS_BROADCAST_MODE_1_TO_4, + ZYDIS_BROADCAST_MODE_1_TO_8 + } + } + }; + context->cd8_scale = scales[evex_b][evex_w][vector_length]; + instruction->avx.broadcast.mode = broadcasts[evex_b][evex_w][vector_length]; + break; + } + case ZYDIS_TUPLETYPE_HV: + { + const ZyanU8 evex_b = instruction->raw.evex.b; + ZYAN_ASSERT(evex_b < 2); + ZYAN_ASSERT(!context->cache.W); + ZYAN_ASSERT(context->evex.element_size == 32); + ZYAN_ASSERT(!evex_b || def->functionality == ZYDIS_EVEX_FUNC_BC); + + static const ZyanU8 scales[2][3] = + { + /*B0*/ { 8, 16, 32 }, + /*B1*/ { 4, 4, 4 } + }; + static const ZydisBroadcastMode broadcasts[2][3] = + { + /*B0*/ + { + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_INVALID + }, + /*B1*/ + { + ZYDIS_BROADCAST_MODE_1_TO_2, + ZYDIS_BROADCAST_MODE_1_TO_4, + ZYDIS_BROADCAST_MODE_1_TO_8 + } + }; + context->cd8_scale = scales[evex_b][vector_length]; + instruction->avx.broadcast.mode = broadcasts[evex_b][vector_length]; + break; + } + case ZYDIS_TUPLETYPE_FVM: + { + static const ZyanU8 scales[3] = + { + 16, 32, 64 + }; + context->cd8_scale = scales[vector_length]; + break; + } + case ZYDIS_TUPLETYPE_GSCAT: + switch (context->cache.W) + { + case 0: + ZYAN_ASSERT(context->evex.element_size == 32); + break; + case 1: + ZYAN_ASSERT(context->evex.element_size == 64); + break; + default: + ZYAN_UNREACHABLE; + } + ZYAN_FALLTHROUGH; + case ZYDIS_TUPLETYPE_T1S: + { + static const ZyanU8 scales[6] = + { + /* */ 0, + /* 8*/ 1, + /* 16*/ 2, + /* 32*/ 4, + /* 64*/ 8, + /*128*/ 16, + }; + ZYAN_ASSERT(def->element_size < ZYAN_ARRAY_LENGTH(scales)); + context->cd8_scale = scales[def->element_size]; + break; + }; + case ZYDIS_TUPLETYPE_T1F: + switch (context->evex.element_size) + { + case 32: + context->cd8_scale = 4; + break; + case 64: + context->cd8_scale = 8; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_TUPLETYPE_T1_4X: + ZYAN_ASSERT(context->evex.element_size == 32); + ZYAN_ASSERT(context->cache.W == 0); + context->cd8_scale = 16; + break; + case ZYDIS_TUPLETYPE_T2: + switch (context->cache.W) + { + case 0: + ZYAN_ASSERT(context->evex.element_size == 32); + context->cd8_scale = 8; + break; + case 1: + ZYAN_ASSERT(context->evex.element_size == 64); + ZYAN_ASSERT((instruction->avx.vector_length == 256) || + (instruction->avx.vector_length == 512)); + context->cd8_scale = 16; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_TUPLETYPE_T4: + switch (context->cache.W) + { + case 0: + ZYAN_ASSERT(context->evex.element_size == 32); + ZYAN_ASSERT((instruction->avx.vector_length == 256) || + (instruction->avx.vector_length == 512)); + context->cd8_scale = 16; + break; + case 1: + ZYAN_ASSERT(context->evex.element_size == 64); + ZYAN_ASSERT(instruction->avx.vector_length == 512); + context->cd8_scale = 32; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_TUPLETYPE_T8: + ZYAN_ASSERT(!context->cache.W); + ZYAN_ASSERT(instruction->avx.vector_length == 512); + ZYAN_ASSERT(context->evex.element_size == 32); + context->cd8_scale = 32; + break; + case ZYDIS_TUPLETYPE_HVM: + { + static const ZyanU8 scales[3] = + { + 8, 16, 32 + }; + context->cd8_scale = scales[vector_length]; + break; + } + case ZYDIS_TUPLETYPE_QVM: + { + static const ZyanU8 scales[3] = + { + 4, 8, 16 + }; + context->cd8_scale = scales[vector_length]; + break; + } + case ZYDIS_TUPLETYPE_OVM: + { + static const ZyanU8 scales[3] = + { + 2, 4, 8 + }; + context->cd8_scale = scales[vector_length]; + break; + } + case ZYDIS_TUPLETYPE_M128: + context->cd8_scale = 16; + break; + case ZYDIS_TUPLETYPE_DUP: + { + static const ZyanU8 scales[3] = + { + 8, 32, 64 + }; + context->cd8_scale = scales[vector_length]; + break; + } + default: + ZYAN_UNREACHABLE; + } + } else + { + ZYAN_ASSERT(instruction->raw.modrm.mod == 3); + } + + // Static broadcast-factor + if (def->broadcast) + { + ZYAN_ASSERT(!instruction->avx.broadcast.mode); + instruction->avx.broadcast.is_static = ZYAN_TRUE; + static const ZydisBroadcastMode broadcasts[ZYDIS_EVEX_STATIC_BROADCAST_MAX_VALUE + 1] = + { + ZYDIS_BROADCAST_MODE_INVALID, + ZYDIS_BROADCAST_MODE_1_TO_2, + ZYDIS_BROADCAST_MODE_1_TO_4, + ZYDIS_BROADCAST_MODE_1_TO_8, + ZYDIS_BROADCAST_MODE_1_TO_16, + ZYDIS_BROADCAST_MODE_1_TO_32, + ZYDIS_BROADCAST_MODE_1_TO_64, + ZYDIS_BROADCAST_MODE_2_TO_4, + ZYDIS_BROADCAST_MODE_2_TO_8, + ZYDIS_BROADCAST_MODE_2_TO_16, + ZYDIS_BROADCAST_MODE_4_TO_8, + ZYDIS_BROADCAST_MODE_4_TO_16, + ZYDIS_BROADCAST_MODE_8_TO_16 + }; + ZYAN_ASSERT(def->broadcast < ZYAN_ARRAY_LENGTH(broadcasts)); + instruction->avx.broadcast.mode = broadcasts[def->broadcast]; + } + + // Rounding mode and SAE + if (instruction->raw.evex.b) + { + switch (def->functionality) + { + case ZYDIS_EVEX_FUNC_INVALID: + case ZYDIS_EVEX_FUNC_BC: + // Noting to do here + break; + case ZYDIS_EVEX_FUNC_RC: + instruction->avx.rounding.mode = ZYDIS_ROUNDING_MODE_RN + context->cache.LL; + // Intentional fallthrough + case ZYDIS_EVEX_FUNC_SAE: + instruction->avx.has_sae = ZYAN_TRUE; + break; + default: + ZYAN_UNREACHABLE; + } + } + + // Mask + instruction->avx.mask.reg = ZYDIS_REGISTER_K0 + instruction->raw.evex.aaa; + switch (def->mask_override) + { + case ZYDIS_MASK_OVERRIDE_DEFAULT: + instruction->avx.mask.mode = ZYDIS_MASK_MODE_MERGING + instruction->raw.evex.z; + break; + case ZYDIS_MASK_OVERRIDE_ZEROING: + instruction->avx.mask.mode = ZYDIS_MASK_MODE_ZEROING; + break; + case ZYDIS_MASK_OVERRIDE_CONTROL: + instruction->avx.mask.mode = ZYDIS_MASK_MODE_CONTROL + instruction->raw.evex.z; + break; + default: + ZYAN_UNREACHABLE; + } + if (!instruction->raw.evex.aaa) + { + instruction->avx.mask.mode = ZYDIS_MASK_MODE_DISABLED; + } +#else + ZYAN_UNREACHABLE; +#endif + break; + } + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + { +#ifndef ZYDIS_DISABLE_KNC + // Vector length + instruction->avx.vector_length = 512; + + const ZydisInstructionDefinitionMVEX* def = + (const ZydisInstructionDefinitionMVEX*)definition; + + // Static broadcast-factor + ZyanU8 index = def->has_element_granularity; + ZYAN_ASSERT(!index || !def->broadcast); + if (!index && def->broadcast) + { + instruction->avx.broadcast.is_static = ZYAN_TRUE; + switch (def->broadcast) + { + case ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8; + index = 1; + break; + case ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16; + index = 1; + break; + case ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_8; + index = 2; + break; + case ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16; + index = 2; + break; + default: + ZYAN_UNREACHABLE; + } + } + + // Compressed disp8 scale and broadcast-factor + switch (def->functionality) + { + case ZYDIS_MVEX_FUNC_IGNORED: + case ZYDIS_MVEX_FUNC_INVALID: + case ZYDIS_MVEX_FUNC_RC: + case ZYDIS_MVEX_FUNC_SAE: + case ZYDIS_MVEX_FUNC_SWIZZLE_32: + case ZYDIS_MVEX_FUNC_SWIZZLE_64: + // Nothing to do here + break; + case ZYDIS_MVEX_FUNC_F_32: + case ZYDIS_MVEX_FUNC_I_32: + case ZYDIS_MVEX_FUNC_F_64: + case ZYDIS_MVEX_FUNC_I_64: + context->cd8_scale = 64; + break; + case ZYDIS_MVEX_FUNC_SF_32: + case ZYDIS_MVEX_FUNC_SF_32_BCST: + case ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16: + case ZYDIS_MVEX_FUNC_UF_32: + { + static const ZyanU8 lookup[3][8] = + { + { 64, 4, 16, 32, 16, 16, 32, 32 }, + { 4, 0, 0, 2, 1, 1, 2, 2 }, + { 16, 0, 0, 8, 4, 4, 8, 8 } + }; + ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index])); + context->cd8_scale = lookup[index][instruction->raw.mvex.SSS]; + break; + } + case ZYDIS_MVEX_FUNC_SI_32: + case ZYDIS_MVEX_FUNC_UI_32: + case ZYDIS_MVEX_FUNC_SI_32_BCST: + case ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16: + { + static const ZyanU8 lookup[3][8] = + { + { 64, 4, 16, 0, 16, 16, 32, 32 }, + { 4, 0, 0, 0, 1, 1, 2, 2 }, + { 16, 0, 0, 0, 4, 4, 8, 8 } + }; + ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index])); + context->cd8_scale = lookup[index][instruction->raw.mvex.SSS]; + break; + } + case ZYDIS_MVEX_FUNC_SF_64: + case ZYDIS_MVEX_FUNC_UF_64: + case ZYDIS_MVEX_FUNC_SI_64: + case ZYDIS_MVEX_FUNC_UI_64: + { + static const ZyanU8 lookup[3][3] = + { + { 64, 8, 32 }, + { 8, 0, 0 }, + { 32, 0, 0 } + }; + ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index])); + context->cd8_scale = lookup[index][instruction->raw.mvex.SSS]; + break; + } + case ZYDIS_MVEX_FUNC_DF_32: + case ZYDIS_MVEX_FUNC_DI_32: + { + static const ZyanU8 lookup[2][8] = + { + { 64, 0, 0, 32, 16, 16, 32, 32 }, + { 4, 0, 0, 2, 1, 1, 2, 2 } + }; + ZYAN_ASSERT(index < 2); + ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index])); + context->cd8_scale = lookup[index][instruction->raw.mvex.SSS]; + break; + } + case ZYDIS_MVEX_FUNC_DF_64: + case ZYDIS_MVEX_FUNC_DI_64: + { + static const ZyanU8 lookup[2][1] = + { + { 64 }, + { 8 } + }; + ZYAN_ASSERT(index < 2); + ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index])); + context->cd8_scale = lookup[index][instruction->raw.mvex.SSS]; + break; + } + default: + ZYAN_UNREACHABLE; + } + + // Rounding mode, sae, swizzle, convert + context->mvex.functionality = def->functionality; + switch (def->functionality) + { + case ZYDIS_MVEX_FUNC_IGNORED: + case ZYDIS_MVEX_FUNC_INVALID: + case ZYDIS_MVEX_FUNC_F_32: + case ZYDIS_MVEX_FUNC_I_32: + case ZYDIS_MVEX_FUNC_F_64: + case ZYDIS_MVEX_FUNC_I_64: + // Nothing to do here + break; + case ZYDIS_MVEX_FUNC_RC: + instruction->avx.rounding.mode = ZYDIS_ROUNDING_MODE_RN + instruction->raw.mvex.SSS; + break; + case ZYDIS_MVEX_FUNC_SAE: + if (instruction->raw.mvex.SSS >= 4) + { + instruction->avx.has_sae = ZYAN_TRUE; + } + break; + case ZYDIS_MVEX_FUNC_SWIZZLE_32: + case ZYDIS_MVEX_FUNC_SWIZZLE_64: + instruction->avx.swizzle.mode = ZYDIS_SWIZZLE_MODE_DCBA + instruction->raw.mvex.SSS; + break; + case ZYDIS_MVEX_FUNC_SF_32: + case ZYDIS_MVEX_FUNC_SF_32_BCST: + case ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16: + switch (instruction->raw.mvex.SSS) + { + case 0: + break; + case 1: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16; + break; + case 2: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16; + break; + case 3: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_FLOAT16; + break; + case 4: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT8; + break; + case 5: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT8; + break; + case 6: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT16; + break; + case 7: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT16; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_MVEX_FUNC_SI_32: + case ZYDIS_MVEX_FUNC_SI_32_BCST: + case ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16: + switch (instruction->raw.mvex.SSS) + { + case 0: + break; + case 1: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16; + break; + case 2: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16; + break; + case 4: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT8; + break; + case 5: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT8; + break; + case 6: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT16; + break; + case 7: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT16; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_MVEX_FUNC_SF_64: + case ZYDIS_MVEX_FUNC_SI_64: + switch (instruction->raw.mvex.SSS) + { + case 0: + break; + case 1: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8; + break; + case 2: + instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_8; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_MVEX_FUNC_UF_32: + case ZYDIS_MVEX_FUNC_DF_32: + switch (instruction->raw.mvex.SSS) + { + case 0: + break; + case 3: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_FLOAT16; + break; + case 4: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT8; + break; + case 5: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT8; + break; + case 6: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT16; + break; + case 7: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT16; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_MVEX_FUNC_UF_64: + case ZYDIS_MVEX_FUNC_DF_64: + break; + case ZYDIS_MVEX_FUNC_UI_32: + case ZYDIS_MVEX_FUNC_DI_32: + switch (instruction->raw.mvex.SSS) + { + case 0: + break; + case 4: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT8; + break; + case 5: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT8; + break; + case 6: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT16; + break; + case 7: + instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT16; + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_MVEX_FUNC_UI_64: + case ZYDIS_MVEX_FUNC_DI_64: + break; + default: + ZYAN_UNREACHABLE; + } + + // Eviction hint + if ((instruction->raw.modrm.mod != 3) && instruction->raw.mvex.E) + { + instruction->avx.has_eviction_hint = ZYAN_TRUE; + } + + // Mask + instruction->avx.mask.mode = ZYDIS_MASK_MODE_MERGING; + instruction->avx.mask.reg = ZYDIS_REGISTER_K0 + instruction->raw.mvex.kkk; +#else + ZYAN_UNREACHABLE; +#endif + break; + } + default: + // Nothing to do here + break; + } +} +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Physical instruction decoding */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Collects optional instruction prefixes. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * + * @return A zyan status code. + * + * This function sets the corresponding flag for each prefix and automatically decodes the last + * `REX`-prefix (if exists). + */ +static ZyanStatus ZydisCollectOptionalPrefixes(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(instruction->raw.prefix_count == 0); + + ZyanU8 rex = 0x00; + ZyanU8 offset = 0; + ZyanBool done = ZYAN_FALSE; + do + { + ZyanU8 prefix_byte; + ZYAN_CHECK(ZydisInputPeek(context, instruction, &prefix_byte)); + switch (prefix_byte) + { + case 0xF0: + context->prefixes.has_lock = ZYAN_TRUE; + context->prefixes.offset_lock = offset; + break; + case 0xF2: + ZYAN_FALLTHROUGH; + case 0xF3: + context->prefixes.group1 = prefix_byte; + context->prefixes.mandatory_candidate = prefix_byte; + context->prefixes.offset_group1 = offset; + context->prefixes.offset_mandatory = offset; + break; + case 0x2E: + ZYAN_FALLTHROUGH; + case 0x36: + ZYAN_FALLTHROUGH; + case 0x3E: + ZYAN_FALLTHROUGH; + case 0x26: + context->prefixes.group2 = prefix_byte; + context->prefixes.offset_group2 = offset; + if ((context->decoder->machine_mode != ZYDIS_MACHINE_MODE_LONG_64) || + ((context->prefixes.effective_segment != 0x64) && + (context->prefixes.effective_segment != 0x65))) + { + context->prefixes.effective_segment = prefix_byte; + context->prefixes.offset_segment = offset; + } + break; + case 0x64: + ZYAN_FALLTHROUGH; + case 0x65: + context->prefixes.group2 = prefix_byte; + context->prefixes.offset_group2 = offset; + context->prefixes.effective_segment = prefix_byte; + context->prefixes.offset_segment = offset; + break; + case 0x66: + // context->prefixes.has_osz_override = ZYAN_TRUE; + context->prefixes.offset_osz_override = offset; + if (!context->prefixes.mandatory_candidate) + { + context->prefixes.mandatory_candidate = 0x66; + context->prefixes.offset_mandatory = offset; + } + instruction->attributes |= ZYDIS_ATTRIB_HAS_OPERANDSIZE; + break; + case 0x67: + // context->prefixes.has_asz_override = ZYAN_TRUE; + context->prefixes.offset_asz_override = offset; + instruction->attributes |= ZYDIS_ATTRIB_HAS_ADDRESSSIZE; + break; + default: + if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) && + (prefix_byte & 0xF0) == 0x40) + { + rex = prefix_byte; + instruction->raw.rex.offset = offset; + } else + { + done = ZYAN_TRUE; + } + break; + } + if (!done) + { + // Invalidate `REX`, if it's not the last legacy prefix + if (rex && (rex != prefix_byte)) + { + rex = 0x00; + instruction->raw.rex.offset = 0; + } + instruction->raw.prefixes[instruction->raw.prefix_count++].value = prefix_byte; + ZydisInputSkip(context, instruction); + ++offset; + } + } while (!done); + + if (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE) + { + instruction->raw.prefixes[context->prefixes.offset_osz_override].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + } + if (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) + { + instruction->raw.prefixes[context->prefixes.offset_asz_override].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + } + if (rex) + { + instruction->raw.prefixes[instruction->raw.rex.offset].type = ZYDIS_PREFIX_TYPE_EFFECTIVE; + ZydisDecodeREX(context, instruction, rex); + } + + return ZYAN_STATUS_SUCCESS; +} + +/** + * Decodes optional instruction parts like the ModRM byte, the SIB byte and + * additional displacements and/or immediate values. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param info A pointer to the `ZydisInstructionEncodingInfo` struct. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeOptionalInstructionParts(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZydisInstructionEncodingInfo* info) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(info); + + if (info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_MODRM) + { + if (!instruction->raw.modrm.offset) + { + instruction->raw.modrm.offset = instruction->length; + ZyanU8 modrm_byte; + ZYAN_CHECK(ZydisInputNext(context, instruction, &modrm_byte)); + ZydisDecodeModRM(instruction, modrm_byte); + } + ZyanU8 has_sib = 0; + ZyanU8 displacement_size = 0; + if (!(info->flags & ZYDIS_INSTR_ENC_FLAG_FORCE_REG_FORM)) + { + switch (instruction->address_width) + { + case 16: + switch (instruction->raw.modrm.mod) + { + case 0: + if (instruction->raw.modrm.rm == 6) + { + displacement_size = 16; + } + break; + case 1: + displacement_size = 8; + break; + case 2: + displacement_size = 16; + break; + case 3: + break; + default: + ZYAN_UNREACHABLE; + } + break; + case 32: + case 64: + has_sib = + (instruction->raw.modrm.mod != 3) && (instruction->raw.modrm.rm == 4); + switch (instruction->raw.modrm.mod) + { + case 0: + if (instruction->raw.modrm.rm == 5) + { + if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) + { + instruction->attributes |= ZYDIS_ATTRIB_IS_RELATIVE; + } + displacement_size = 32; + } + break; + case 1: + displacement_size = 8; + break; + case 2: + displacement_size = 32; + break; + case 3: + break; + default: + ZYAN_UNREACHABLE; + } + break; + default: + ZYAN_UNREACHABLE; + } + if (has_sib) + { + instruction->raw.sib.offset = instruction->length; + ZyanU8 sib_byte; + ZYAN_CHECK(ZydisInputNext(context, instruction, &sib_byte)); + ZydisDecodeSIB(instruction, sib_byte); + if (instruction->raw.sib.base == 5) + { + displacement_size = (instruction->raw.modrm.mod == 1) ? 8 : 32; + } + } + if (displacement_size) + { + ZYAN_CHECK(ZydisReadDisplacement(context, instruction, displacement_size)); + } + } + } + + if (info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_DISP) + { + ZYAN_CHECK(ZydisReadDisplacement( + context, instruction, info->disp.size[context->easz_index])); + } + + if (info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_IMM0) + { + if (info->imm[0].is_relative) + { + instruction->attributes |= ZYDIS_ATTRIB_IS_RELATIVE; + } + ZYAN_CHECK(ZydisReadImmediate(context, instruction, 0, + info->imm[0].size[context->eosz_index], info->imm[0].is_signed, + info->imm[0].is_relative)); + } + + if (info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_IMM1) + { + ZYAN_ASSERT(!(info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_DISP)); + ZYAN_CHECK(ZydisReadImmediate(context, instruction, 1, + info->imm[1].size[context->eosz_index], info->imm[1].is_signed, + info->imm[1].is_relative)); + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Sets the effective operand size for the given instruction. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param definition A pointer to the `ZydisInstructionDefinition` struct. + */ +static void ZydisSetEffectiveOperandWidth(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(definition); + + static const ZyanU8 operand_size_map[8][8] = + { + // Default for most instructions + { + 16, // 16 __ W0 + 32, // 16 66 W0 + 32, // 32 __ W0 + 16, // 32 66 W0 + 32, // 64 __ W0 + 16, // 64 66 W0 + 64, // 64 __ W1 + 64 // 64 66 W1 + }, + // Operand size is forced to 8-bit (this is done later to preserve the `eosz_index`) + { + 16, // 16 __ W0 + 32, // 16 66 W0 + 32, // 32 __ W0 + 16, // 32 66 W0 + 32, // 64 __ W0 + 16, // 64 66 W0 + 64, // 64 __ W1 + 64 // 64 66 W1 + }, + // Operand size override 0x66 is ignored + { + 16, // 16 __ W0 + 16, // 16 66 W0 + 32, // 32 __ W0 + 32, // 32 66 W0 + 32, // 64 __ W0 + 32, // 64 66 W0 + 64, // 64 __ W1 + 64 // 64 66 W1 + }, + // REX.W promotes to 32-bit instead of 64-bit + { + 16, // 16 __ W0 + 32, // 16 66 W0 + 32, // 32 __ W0 + 16, // 32 66 W0 + 32, // 64 __ W0 + 16, // 64 66 W0 + 32, // 64 __ W1 + 32 // 64 66 W1 + }, + // Operand size defaults to 64-bit in 64-bit mode + { + 16, // 16 __ W0 + 32, // 16 66 W0 + 32, // 32 __ W0 + 16, // 32 66 W0 + 64, // 64 __ W0 + 16, // 64 66 W0 + 64, // 64 __ W1 + 64 // 64 66 W1 + }, + // Operand size is forced to 64-bit in 64-bit mode + { + 16, // 16 __ W0 + 32, // 16 66 W0 + 32, // 32 __ W0 + 16, // 32 66 W0 + 64, // 64 __ W0 + 64, // 64 66 W0 + 64, // 64 __ W1 + 64 // 64 66 W1 + }, + // Operand size is forced to 32-bit, if no REX.W is present. + { + 32, // 16 __ W0 + 32, // 16 66 W0 + 32, // 32 __ W0 + 32, // 32 66 W0 + 32, // 64 __ W0 + 32, // 64 66 W0 + 64, // 64 __ W1 + 64 // 64 66 W1 + }, + // Operand size is forced to 64-bit in 64-bit mode and forced to 32-bit in all other modes. + // This is used for e.g. `mov CR, GPR` and `mov GPR, CR`. + { + 32, // 16 __ W0 + 32, // 16 66 W0 + 32, // 32 __ W0 + 32, // 32 66 W0 + 64, // 64 __ W0 + 64, // 64 66 W0 + 64, // 64 __ W1 + 64 // 64 66 W1 + } + }; + + ZyanU8 index = (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE) ? 1 : 0; + switch (context->decoder->machine_mode) + { + case ZYDIS_MACHINE_MODE_LONG_COMPAT_16: + case ZYDIS_MACHINE_MODE_LEGACY_16: + case ZYDIS_MACHINE_MODE_REAL_16: + index += 0; + break; + case ZYDIS_MACHINE_MODE_LONG_COMPAT_32: + case ZYDIS_MACHINE_MODE_LEGACY_32: + index += 2; + break; + case ZYDIS_MACHINE_MODE_LONG_64: + index += 4; + index += (context->cache.W & 0x01) << 1; + break; + default: + ZYAN_UNREACHABLE; + } + + ZYAN_ASSERT(definition->operand_size_map < ZYAN_ARRAY_LENGTH(operand_size_map)); + ZYAN_ASSERT(index < ZYAN_ARRAY_LENGTH(operand_size_map[definition->operand_size_map])); + + instruction->operand_width = operand_size_map[definition->operand_size_map][index]; + + switch (instruction->operand_width) + { + case 16: + context->eosz_index = 0; + break; + case 32: + context->eosz_index = 1; + break; + case 64: + context->eosz_index = 2; + break; + default: + ZYAN_UNREACHABLE; + } + + // TODO: Cleanup code and remove hardcoded condition + if (definition->operand_size_map == 1) + { + instruction->operand_width = 8; + } +} + +/** + * Sets the effective address width for the given instruction. + * + * @param context A pointer to the `ZydisDecoderContext` struct. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param definition A pointer to the `ZydisInstructionDefinition` struct. + */ +static void ZydisSetEffectiveAddressWidth(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + + static const ZyanU8 address_size_map[3][8] = + { + // Default for most instructions + { + 16, // 16 __ + 32, // 16 67 + 32, // 32 __ + 16, // 32 67 + 64, // 64 __ + 32, // 64 67 + }, + // The address-size override is ignored + { + 16, // 16 __ + 16, // 16 67 + 32, // 32 __ + 32, // 32 67 + 64, // 64 __ + 64, // 64 67 + }, + // The address-size is forced to 64-bit in 64-bit mode and 32-bit in non 64-bit mode. This + // is used by e.g. `ENCLS`, `ENCLV`, `ENCLU`. + { + 32, // 16 __ + 32, // 16 67 + 32, // 32 __ + 32, // 32 67 + 64, // 64 __ + 64 // 64 67 + } + }; + + ZyanU8 index = (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) ? 1 : 0; + switch (context->decoder->address_width) + { + case ZYDIS_ADDRESS_WIDTH_16: + index += 0; + break; + case ZYDIS_ADDRESS_WIDTH_32: + index += 2; + break; + case ZYDIS_ADDRESS_WIDTH_64: + index += 4; + break; + default: + ZYAN_UNREACHABLE; + } + ZYAN_ASSERT(definition->address_size_map < ZYAN_ARRAY_LENGTH(address_size_map)); + ZYAN_ASSERT(index < ZYAN_ARRAY_LENGTH(address_size_map[definition->address_size_map])); + + instruction->address_width = address_size_map[definition->address_size_map][index]; + + switch (instruction->address_width) + { + case 16: + context->easz_index = 0; + break; + case 32: + context->easz_index = 1; + break; + case 64: + context->easz_index = 2; + break; + default: + ZYAN_UNREACHABLE; + } +} + +/* ---------------------------------------------------------------------------------------------- */ + +static ZyanStatus ZydisNodeHandlerXOP(ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + *index = 0; + break; + case ZYDIS_INSTRUCTION_ENCODING_XOP: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_XOP); + *index = (instruction->raw.xop.m_mmmm - 0x08) + (instruction->raw.xop.pp * 3) + 1; + break; + default: + ZYAN_UNREACHABLE; + } + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerVEX(ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + *index = 0; + break; + case ZYDIS_INSTRUCTION_ENCODING_VEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX); + *index = instruction->raw.vex.m_mmmm + (instruction->raw.vex.pp << 2) + 1; + break; + default: + ZYAN_UNREACHABLE; + } + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerEMVEX(ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + *index = 0; + break; + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX); + *index = instruction->raw.evex.mm + (instruction->raw.evex.pp << 2) + 1; + break; + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX); + *index = instruction->raw.mvex.mmmm + (instruction->raw.mvex.pp << 2) + 17; + break; + default: + ZYAN_UNREACHABLE; + } + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerOpcode(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + // Handle possible encoding-prefix and opcode-map changes + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + ZYAN_CHECK(ZydisInputNext(context, instruction, &instruction->opcode)); + switch (instruction->opcode_map) + { + case ZYDIS_OPCODE_MAP_DEFAULT: + switch (instruction->opcode) + { + case 0x0F: + instruction->opcode_map = ZYDIS_OPCODE_MAP_0F; + break; + case 0xC4: + case 0xC5: + case 0x62: + { + ZyanU8 next_input; + ZYAN_CHECK(ZydisInputPeek(context, instruction, &next_input)); + if (((next_input & 0xF0) >= 0xC0) || + (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64)) + { + if (instruction->attributes & ZYDIS_ATTRIB_HAS_REX) + { + return ZYDIS_STATUS_ILLEGAL_REX; + } + if (context->prefixes.has_lock) + { + return ZYDIS_STATUS_ILLEGAL_LOCK; + } + if (context->prefixes.mandatory_candidate) + { + return ZYDIS_STATUS_ILLEGAL_LEGACY_PFX; + } + ZyanU8 prefix_bytes[4] = { 0, 0, 0, 0 }; + prefix_bytes[0] = instruction->opcode; + switch (instruction->opcode) + { + case 0xC4: + instruction->raw.vex.offset = instruction->length - 1; + // Read additional 3-byte VEX-prefix data + ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX)); + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, &prefix_bytes[1], 2)); + break; + case 0xC5: + instruction->raw.vex.offset = instruction->length - 1; + // Read additional 2-byte VEX-prefix data + ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX)); + ZYAN_CHECK(ZydisInputNext(context, instruction, &prefix_bytes[1])); + break; + case 0x62: +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + // Read additional EVEX/MVEX-prefix data + ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX)); + ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX)); + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, &prefix_bytes[1], 3)); + break; +#else + return ZYDIS_STATUS_DECODING_ERROR; +#endif + default: + ZYAN_UNREACHABLE; + } + switch (instruction->opcode) + { + case 0xC4: + case 0xC5: + // Decode VEX-prefix + instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_VEX; + ZYAN_CHECK(ZydisDecodeVEX(context, instruction, prefix_bytes)); + instruction->opcode_map = + ZYDIS_OPCODE_MAP_DEFAULT + instruction->raw.vex.m_mmmm; + break; + case 0x62: +#if defined(ZYDIS_DISABLE_AVX512) && defined(ZYDIS_DISABLE_KNC) + return ZYDIS_STATUS_DECODING_ERROR; +#else + switch ((prefix_bytes[2] >> 2) & 0x01) + { + case 0: +#ifndef ZYDIS_DISABLE_KNC + instruction->raw.mvex.offset = instruction->length - 4; + // `KNC` instructions are only valid in 64-bit mode. + // This condition catches the `MVEX` encoded ones to save a bunch of + // `mode` filters in the data-tables. + // `KNC` instructions with `VEX` encoding still require a `mode` filter. + if (context->decoder->machine_mode != ZYDIS_MACHINE_MODE_LONG_64) + { + return ZYDIS_STATUS_DECODING_ERROR; + } + // Decode MVEX-prefix + instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_MVEX; + ZYAN_CHECK(ZydisDecodeMVEX(context, instruction, prefix_bytes)); + instruction->opcode_map = + ZYDIS_OPCODE_MAP_DEFAULT + instruction->raw.mvex.mmmm; + break; +#else + return ZYDIS_STATUS_DECODING_ERROR; +#endif + case 1: +#ifndef ZYDIS_DISABLE_AVX512 + instruction->raw.evex.offset = instruction->length - 4; + // Decode EVEX-prefix + instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_EVEX; + ZYAN_CHECK(ZydisDecodeEVEX(context, instruction, prefix_bytes)); + instruction->opcode_map = + ZYDIS_OPCODE_MAP_DEFAULT + instruction->raw.evex.mm; + break; +#else + return ZYDIS_STATUS_DECODING_ERROR; +#endif + default: + ZYAN_UNREACHABLE; + } + break; +#endif + default: + ZYAN_UNREACHABLE; + } + } + break; + } + case 0x8F: + { + ZyanU8 next_input; + ZYAN_CHECK(ZydisInputPeek(context, instruction, &next_input)); + if ((next_input & 0x1F) >= 8) + { + if (instruction->attributes & ZYDIS_ATTRIB_HAS_REX) + { + return ZYDIS_STATUS_ILLEGAL_REX; + } + if (context->prefixes.has_lock) + { + return ZYDIS_STATUS_ILLEGAL_LOCK; + } + if (context->prefixes.mandatory_candidate) + { + return ZYDIS_STATUS_ILLEGAL_LEGACY_PFX; + } + instruction->raw.xop.offset = instruction->length - 1; + ZyanU8 prefixBytes[3] = { 0x8F, 0x00, 0x00 }; + // Read additional xop-prefix data + ZYAN_CHECK(ZydisInputNextBytes(context, instruction, &prefixBytes[1], 2)); + // Decode xop-prefix + instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_XOP; + ZYAN_CHECK(ZydisDecodeXOP(context, instruction, prefixBytes)); + instruction->opcode_map = + ZYDIS_OPCODE_MAP_XOP8 + instruction->raw.xop.m_mmmm - 0x08; + } + break; + } + default: + break; + } + break; + case ZYDIS_OPCODE_MAP_0F: + switch (instruction->opcode) + { + case 0x0F: + if (context->prefixes.has_lock) + { + return ZYDIS_STATUS_ILLEGAL_LOCK; + } + instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_3DNOW; + instruction->opcode_map = ZYDIS_OPCODE_MAP_0F0F; + break; + case 0x38: + instruction->opcode_map = ZYDIS_OPCODE_MAP_0F38; + break; + case 0x3A: + instruction->opcode_map = ZYDIS_OPCODE_MAP_0F3A; + break; + default: + break; + } + break; + case ZYDIS_OPCODE_MAP_0F38: + case ZYDIS_OPCODE_MAP_0F3A: + case ZYDIS_OPCODE_MAP_XOP8: + case ZYDIS_OPCODE_MAP_XOP9: + case ZYDIS_OPCODE_MAP_XOPA: + // Nothing to do here + break; + default: + ZYAN_UNREACHABLE; + } + break; + case ZYDIS_INSTRUCTION_ENCODING_3DNOW: + // All 3DNOW (0x0F 0x0F) instructions are using the same operand encoding. We just + // decode a random (pi2fw) instruction and extract the actual opcode later. + *index = 0x0C; + return ZYAN_STATUS_SUCCESS; + default: + ZYAN_CHECK(ZydisInputNext(context, instruction, &instruction->opcode)); + break; + } + + *index = instruction->opcode; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerMode(ZydisDecoderContext* context, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(index); + + switch (context->decoder->machine_mode) + { + case ZYDIS_MACHINE_MODE_LONG_COMPAT_16: + case ZYDIS_MACHINE_MODE_LEGACY_16: + case ZYDIS_MACHINE_MODE_REAL_16: + *index = 0; + break; + case ZYDIS_MACHINE_MODE_LONG_COMPAT_32: + case ZYDIS_MACHINE_MODE_LEGACY_32: + *index = 1; + break; + case ZYDIS_MACHINE_MODE_LONG_64: + *index = 2; + break; + default: + ZYAN_UNREACHABLE; + } + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerModeCompact(ZydisDecoderContext* context, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(index); + + *index = (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) ? 0 : 1; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerModrmMod(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + if (!instruction->raw.modrm.offset) + { + instruction->raw.modrm.offset = instruction->length; + ZyanU8 modrm_byte; + ZYAN_CHECK(ZydisInputNext(context, instruction, &modrm_byte)); + ZydisDecodeModRM(instruction, modrm_byte); + } + *index = instruction->raw.modrm.mod; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerModrmModCompact(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_CHECK(ZydisNodeHandlerModrmMod(context, instruction, index)); + *index = (*index == 0x3) ? 0 : 1; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerModrmReg(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + if (!instruction->raw.modrm.offset) + { + instruction->raw.modrm.offset = instruction->length; + ZyanU8 modrm_byte; + ZYAN_CHECK(ZydisInputNext(context, instruction, &modrm_byte)); + ZydisDecodeModRM(instruction, modrm_byte); + } + *index = instruction->raw.modrm.reg; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerModrmRm(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + if (!instruction->raw.modrm.offset) + { + instruction->raw.modrm.offset = instruction->length; + ZyanU8 modrm_byte; + ZYAN_CHECK(ZydisInputNext(context, instruction, &modrm_byte)); + ZydisDecodeModRM(instruction, modrm_byte); + } + *index = instruction->raw.modrm.rm; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerMandatoryPrefix(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + switch (context->prefixes.mandatory_candidate) + { + case 0x66: + instruction->raw.prefixes[context->prefixes.offset_mandatory].type = + ZYDIS_PREFIX_TYPE_MANDATORY; + instruction->attributes &= ~ZYDIS_ATTRIB_HAS_OPERANDSIZE; + *index = 2; + break; + case 0xF3: + instruction->raw.prefixes[context->prefixes.offset_mandatory].type = + ZYDIS_PREFIX_TYPE_MANDATORY; + *index = 3; + break; + case 0xF2: + instruction->raw.prefixes[context->prefixes.offset_mandatory].type = + ZYDIS_PREFIX_TYPE_MANDATORY; + *index = 4; + break; + default: + *index = 1; + break; + } + // TODO: Consume prefix and make sure it's available again, if we need to fallback + + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerOperandSize(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) && (context->cache.W)) + { + *index = 2; + } else + { + if (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE) + { + instruction->raw.prefixes[context->prefixes.offset_osz_override].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + } + switch (context->decoder->machine_mode) + { + case ZYDIS_MACHINE_MODE_LONG_COMPAT_16: + case ZYDIS_MACHINE_MODE_LEGACY_16: + case ZYDIS_MACHINE_MODE_REAL_16: + *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE) ? 1 : 0; + break; + case ZYDIS_MACHINE_MODE_LONG_COMPAT_32: + case ZYDIS_MACHINE_MODE_LEGACY_32: + case ZYDIS_MACHINE_MODE_LONG_64: + *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE) ? 0 : 1; + break; + default: + ZYAN_UNREACHABLE; + } + } + + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerAddressSize(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + /*if (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) + { + instruction->raw.prefixes[context->prefixes.offset_asz_override].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + }*/ + switch (context->decoder->address_width) + { + case ZYDIS_ADDRESS_WIDTH_16: + *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) ? 1 : 0; + break; + case ZYDIS_ADDRESS_WIDTH_32: + *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) ? 0 : 1; + break; + case ZYDIS_ADDRESS_WIDTH_64: + *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) ? 1 : 2; + break; + default: + ZYAN_UNREACHABLE; + } + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerVectorLength(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_XOP: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_XOP); + break; + case ZYDIS_INSTRUCTION_ENCODING_VEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX); + break; + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX); + break; + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX); + break; + default: + ZYAN_UNREACHABLE; + } + + *index = context->cache.LL; + if (*index == 3) + { + return ZYDIS_STATUS_DECODING_ERROR; + } + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerRexW(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + // nothing to do here + break; + case ZYDIS_INSTRUCTION_ENCODING_XOP: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_XOP); + break; + case ZYDIS_INSTRUCTION_ENCODING_VEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX); + break; + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX); + break; + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX); + break; + default: + ZYAN_UNREACHABLE; + } + *index = context->cache.W; + return ZYAN_STATUS_SUCCESS; +} + +static ZyanStatus ZydisNodeHandlerRexB(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + // nothing to do here + break; + case ZYDIS_INSTRUCTION_ENCODING_XOP: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_XOP); + break; + case ZYDIS_INSTRUCTION_ENCODING_VEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX); + break; + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX); + break; + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX); + break; + default: + ZYAN_UNREACHABLE; + } + *index = context->cache.B; + return ZYAN_STATUS_SUCCESS; +} + +#ifndef ZYDIS_DISABLE_AVX512 +static ZyanStatus ZydisNodeHandlerEvexB(ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + ZYAN_ASSERT(instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX); + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX); + *index = instruction->raw.evex.b; + return ZYAN_STATUS_SUCCESS; +} +#endif + +#ifndef ZYDIS_DISABLE_KNC +static ZyanStatus ZydisNodeHandlerMvexE(ZydisDecodedInstruction* instruction, ZyanU16* index) +{ + ZYAN_ASSERT(instruction); + ZYAN_ASSERT(index); + + ZYAN_ASSERT(instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX); + ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX); + *index = instruction->raw.mvex.E; + return ZYAN_STATUS_SUCCESS; +} +#endif + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Checks for certain post-decode error-conditions. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param definition A pointer to the `ZydisInstructionDefinition` struct. + * + * @return A zyan status code. + * + * This function is called immediately after a valid instruction-definition was found. + */ +static ZyanStatus ZydisCheckErrorConditions(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition) +{ + const ZydisRegisterConstraint constr_REG = definition->constr_REG; + const ZydisRegisterConstraint constr_RM = definition->constr_RM; + // We set this to `NONE` instead of `UNUSED` to save up some unnecessary runtime checks + ZydisRegisterConstraint constr_NDSNDD = ZYDIS_REG_CONSTRAINTS_NONE; + ZyanBool has_VSIB = ZYAN_FALSE; + ZyanBool is_gather = ZYAN_FALSE; +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + ZydisMaskPolicy mask_policy = ZYDIS_MASK_POLICY_INVALID; +#endif + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + { + const ZydisInstructionDefinitionLEGACY* def = + (const ZydisInstructionDefinitionLEGACY*)definition; + + if (def->requires_protected_mode && + (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_REAL_16)) + { + return ZYDIS_STATUS_DECODING_ERROR; + } + + if (context->prefixes.has_lock && !def->accepts_LOCK) + { + return ZYDIS_STATUS_ILLEGAL_LOCK; + } + break; + } + case ZYDIS_INSTRUCTION_ENCODING_3DNOW: + { + break; + } + case ZYDIS_INSTRUCTION_ENCODING_XOP: + { + const ZydisInstructionDefinitionXOP* def = + (const ZydisInstructionDefinitionXOP*)definition; + constr_NDSNDD = def->constr_NDSNDD; + break; + } + case ZYDIS_INSTRUCTION_ENCODING_VEX: + { + const ZydisInstructionDefinitionVEX* def = + (const ZydisInstructionDefinitionVEX*)definition; + constr_NDSNDD = def->constr_NDSNDD; + is_gather = def->is_gather; + break; + } + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + { +#ifndef ZYDIS_DISABLE_AVX512 + const ZydisInstructionDefinitionEVEX* def = + (const ZydisInstructionDefinitionEVEX*)definition; + constr_NDSNDD = def->constr_NDSNDD; + is_gather = def->is_gather; + mask_policy = def->mask_policy; + + // Check for invalid zero-mask + if ((instruction->raw.evex.z) && (!def->accepts_zero_mask)) + { + return ZYDIS_STATUS_INVALID_MASK; // TODO: Dedicated status code + } +#else + ZYAN_UNREACHABLE; +#endif + break; + } + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + { +#ifndef ZYDIS_DISABLE_KNC + const ZydisInstructionDefinitionMVEX* def = + (const ZydisInstructionDefinitionMVEX*)definition; + constr_NDSNDD = def->constr_NDSNDD; + is_gather = def->is_gather; + mask_policy = def->mask_policy; + + // Check for invalid MVEX.SSS values + static const ZyanU8 lookup[26][8] = + { + // ZYDIS_MVEX_FUNC_IGNORED + { 1, 1, 1, 1, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_INVALID + { 1, 0, 0, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_RC + { 1, 1, 1, 1, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_SAE + { 1, 1, 1, 1, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_F_32 + { 1, 0, 0, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_I_32 + { 1, 0, 0, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_F_64 + { 1, 0, 0, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_I_64 + { 1, 0, 0, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_SWIZZLE_32 + { 1, 1, 1, 1, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_SWIZZLE_64 + { 1, 1, 1, 1, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_SF_32 + { 1, 1, 1, 1, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_SF_32_BCST + { 1, 1, 1, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16 + { 1, 0, 1, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_SF_64 + { 1, 1, 1, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_SI_32 + { 1, 1, 1, 0, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_SI_32_BCST + { 1, 1, 1, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16 + { 1, 0, 1, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_SI_64 + { 1, 1, 1, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_UF_32 + { 1, 0, 0, 1, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_UF_64 + { 1, 0, 0, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_UI_32 + { 1, 0, 0, 0, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_UI_64 + { 1, 0, 0, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_DF_32 + { 1, 0, 0, 1, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_DF_64 + { 1, 0, 0, 0, 0, 0, 0, 0 }, + // ZYDIS_MVEX_FUNC_DI_32 + { 1, 0, 0, 0, 1, 1, 1, 1 }, + // ZYDIS_MVEX_FUNC_DI_64 + { 1, 0, 0, 0, 0, 0, 0, 0 } + }; + ZYAN_ASSERT(def->functionality < ZYAN_ARRAY_LENGTH(lookup)); + ZYAN_ASSERT(instruction->raw.mvex.SSS < 8); + if (!lookup[def->functionality][instruction->raw.mvex.SSS]) + { + return ZYDIS_STATUS_DECODING_ERROR; + } +#else + ZYAN_UNREACHABLE; +#endif + break; + } + default: + ZYAN_UNREACHABLE; + } + + // Validate register constraints + switch (constr_REG) + { + case ZYDIS_REG_CONSTRAINTS_UNUSED: + case ZYDIS_REG_CONSTRAINTS_NONE: + break; + case ZYDIS_REG_CONSTRAINTS_GPR: + if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) && context->cache.R2) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + case ZYDIS_REG_CONSTRAINTS_SR_DEST: + // `ZYDIS_REGISTER_CR` is not allowed as `MOV` target + if (instruction->raw.modrm.reg == 1) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + ZYAN_FALLTHROUGH; + case ZYDIS_REG_CONSTRAINTS_SR: + { + if (instruction->raw.modrm.reg > 5) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + } + case ZYDIS_REG_CONSTRAINTS_CR: + { + // Attempts to reference CR1, CR5, CR6, CR7, and CR9CR15 result in undefined opcode (#UD) + // exceptions + const ZyanU8 value = instruction->raw.modrm.reg | (context->cache.R << 3); + static const ZyanU8 lookup[16] = + { + 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 + }; + ZYAN_ASSERT(value < ZYAN_ARRAY_LENGTH(lookup)); + if (!lookup[value]) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + } + case ZYDIS_REG_CONSTRAINTS_DR: + // Attempts to reference DR8DR15 result in undefined opcode (#UD) exceptions. DR4 and DR5 + // are only valid, if the debug extension (DE) flag in CR4 is set. As we can't check this, + // we just allow them. + if (context->cache.R) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + case ZYDIS_REG_CONSTRAINTS_MASK: + if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) && + (context->cache.R || context->cache.R2)) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + case ZYDIS_REG_CONSTRAINTS_BND: + ZYAN_ASSERT(!context->cache.R2); + if (context->cache.R || instruction->raw.modrm.reg > 3) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + default: + ZYAN_UNREACHABLE; + } + switch (constr_RM) + { + case ZYDIS_REG_CONSTRAINTS_UNUSED: + case ZYDIS_REG_CONSTRAINTS_NONE: + break; + case ZYDIS_REG_CONSTRAINTS_SR_DEST: + // `ZYDIS_REGISTER_CR` is not allowed as `MOV` target + if (instruction->raw.modrm.rm == 1) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + ZYAN_FALLTHROUGH; + case ZYDIS_REG_CONSTRAINTS_SR: + { + if (instruction->raw.modrm.rm > 6) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + } + case ZYDIS_REG_CONSTRAINTS_MASK: + break; + case ZYDIS_REG_CONSTRAINTS_BND: + if (context->cache.B || instruction->raw.modrm.rm > 3) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + case ZYDIS_REG_CONSTRAINTS_VSIB: + has_VSIB = ZYAN_TRUE; + break; + case ZYDIS_REG_CONSTRAINTS_NO_REL: + if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) && + (instruction->raw.modrm.mod == 0) && + (instruction->raw.modrm.rm == 5)) + { + return ZYDIS_STATUS_DECODING_ERROR; + } + break; + default: + ZYAN_UNREACHABLE; + } + switch (constr_NDSNDD) + { + case ZYDIS_REG_CONSTRAINTS_UNUSED: + // `.vvvv` is not allowed, if the instruction does not encode a NDS/NDD operand + if (context->cache.v_vvvv & 0x0F) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + // `.v'` is not allowed, if the instruction does not encode a NDS/NDD or VSIB operand + if (!has_VSIB && context->cache.V2) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + case ZYDIS_REG_CONSTRAINTS_NONE: + ZYAN_ASSERT(!has_VSIB || ((instruction->encoding != ZYDIS_INSTRUCTION_ENCODING_EVEX) && + (instruction->encoding != ZYDIS_INSTRUCTION_ENCODING_MVEX))); + break; + case ZYDIS_REG_CONSTRAINTS_GPR: + // `.v'` is invalid for GPR-registers + if (context->cache.V2) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + case ZYDIS_REG_CONSTRAINTS_MASK: + if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) && + (context->cache.v_vvvv > 7)) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + break; + default: + ZYAN_UNREACHABLE; + } + + // Check gather registers + if (is_gather) + { + ZYAN_ASSERT(has_VSIB); + ZYAN_ASSERT(instruction->raw.modrm.mod != 3); + ZYAN_ASSERT(instruction->raw.modrm.rm == 4); + + ZyanU8 dest = instruction->raw.modrm.reg; + ZyanU8 index = instruction->raw.sib.index; + if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) + { + dest = dest | (context->cache.R << 3) | (context->cache.R2 << 4); + index = index | (context->cache.X << 3) | (context->cache.V2 << 4); + } + ZyanU8 mask = 0xF0; + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_VEX: + ZYAN_ASSERT((constr_REG == ZYDIS_REG_CONSTRAINTS_NONE) && + (constr_RM == ZYDIS_REG_CONSTRAINTS_VSIB) && + (constr_NDSNDD == ZYDIS_REG_CONSTRAINTS_NONE)); + if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) + { + mask = context->cache.v_vvvv; + } else + { + // Ignore the high-register bits in 16- and 32-bit mode + mask = context->cache.v_vvvv & 0x07; + } + break; + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + ZYAN_ASSERT(((constr_REG == ZYDIS_REG_CONSTRAINTS_UNUSED) || + (constr_REG == ZYDIS_REG_CONSTRAINTS_NONE)) && + (constr_RM == ZYDIS_REG_CONSTRAINTS_VSIB) && + (constr_NDSNDD == ZYDIS_REG_CONSTRAINTS_UNUSED)); + + // Some gather instructions (like `VGATHERPF0{D|Q}{PS|PD}`) do not have a destination + // operand + if (constr_REG == ZYDIS_REG_CONSTRAINTS_UNUSED) + { + dest = 0xF1; + } + break; + default: + ZYAN_UNREACHABLE; + } + // If any pair of the index, mask, or destination registers are the same, the instruction + // results a UD fault. + if (dest == index || dest == mask || index == mask) + { + return ZYDIS_STATUS_BAD_REGISTER; + } + } + +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + // Check for invalid MASK registers + switch (mask_policy) + { + case ZYDIS_MASK_POLICY_INVALID: + case ZYDIS_MASK_POLICY_ALLOWED: + // Nothing to do here + break; + case ZYDIS_MASK_POLICY_REQUIRED: + if (!context->cache.mask) + { + return ZYDIS_STATUS_INVALID_MASK; + } + break; + case ZYDIS_MASK_POLICY_FORBIDDEN: + if (context->cache.mask) + { + return ZYDIS_STATUS_INVALID_MASK; + } + break; + default: + ZYAN_UNREACHABLE; + } +#endif + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Uses the decoder-tree to decode the current instruction. + * + * @param context A pointer to the `ZydisDecoderContext` instance. + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * + * @return A zyan status code. + */ +static ZyanStatus ZydisDecodeInstruction(ZydisDecoderContext* context, + ZydisDecodedInstruction* instruction) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(instruction); + + // Iterate through the decoder tree + const ZydisDecoderTreeNode* node = ZydisDecoderTreeGetRootNode(); + const ZydisDecoderTreeNode* temp = ZYAN_NULL; + ZydisDecoderTreeNodeType node_type; + do + { + node_type = node->type; + ZyanU16 index = 0; + ZyanStatus status = 0; + switch (node_type) + { + case ZYDIS_NODETYPE_INVALID: + if (temp) + { + node = temp; + temp = ZYAN_NULL; + node_type = ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX; + if (context->prefixes.mandatory_candidate != 0x00) + { + instruction->raw.prefixes[context->prefixes.offset_mandatory].type = + ZYDIS_PREFIX_TYPE_IGNORED; + } + if (context->prefixes.mandatory_candidate == 0x66) + { + if (context->prefixes.offset_osz_override == + context->prefixes.offset_mandatory) + { + instruction->raw.prefixes[context->prefixes.offset_mandatory].type = + ZYDIS_PREFIX_TYPE_EFFECTIVE; + } + instruction->attributes |= ZYDIS_ATTRIB_HAS_OPERANDSIZE; + } + continue; + } + return ZYDIS_STATUS_DECODING_ERROR; + case ZYDIS_NODETYPE_FILTER_XOP: + status = ZydisNodeHandlerXOP(instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_VEX: + status = ZydisNodeHandlerVEX(instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_EMVEX: + status = ZydisNodeHandlerEMVEX(instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_OPCODE: + status = ZydisNodeHandlerOpcode(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_MODE: + status = ZydisNodeHandlerMode(context, &index); + break; + case ZYDIS_NODETYPE_FILTER_MODE_COMPACT: + status = ZydisNodeHandlerModeCompact(context, &index); + break; + case ZYDIS_NODETYPE_FILTER_MODRM_MOD: + status = ZydisNodeHandlerModrmMod(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT: + status = ZydisNodeHandlerModrmModCompact(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_MODRM_REG: + status = ZydisNodeHandlerModrmReg(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_MODRM_RM: + status = ZydisNodeHandlerModrmRm(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1: + index = context->prefixes.group1 ? 1 : 0; + break; + case ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX: + status = ZydisNodeHandlerMandatoryPrefix(context, instruction, &index); + temp = ZydisDecoderTreeGetChildNode(node, 0); + // TODO: Return to this point, if index == 0 contains a value and the previous path + // TODO: was not successfull + // TODO: Restore consumed prefix + break; + case ZYDIS_NODETYPE_FILTER_OPERAND_SIZE: + status = ZydisNodeHandlerOperandSize(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE: + status = ZydisNodeHandlerAddressSize(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH: + status = ZydisNodeHandlerVectorLength(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_REX_W: + status = ZydisNodeHandlerRexW(context, instruction, &index); + break; + case ZYDIS_NODETYPE_FILTER_REX_B: + status = ZydisNodeHandlerRexB(context, instruction, &index); + break; +#ifndef ZYDIS_DISABLE_AVX512 + case ZYDIS_NODETYPE_FILTER_EVEX_B: + status = ZydisNodeHandlerEvexB(instruction, &index); + break; +#endif +#ifndef ZYDIS_DISABLE_KNC + case ZYDIS_NODETYPE_FILTER_MVEX_E: + status = ZydisNodeHandlerMvexE(instruction, &index); + break; +#endif + case ZYDIS_NODETYPE_FILTER_MODE_AMD: + index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_AMD_BRANCHES] ? 1 : 0; + break; + case ZYDIS_NODETYPE_FILTER_MODE_KNC: + index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_KNC] ? 1 : 0; + break; + case ZYDIS_NODETYPE_FILTER_MODE_MPX: + index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_MPX] ? 1 : 0; + break; + case ZYDIS_NODETYPE_FILTER_MODE_CET: + index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_CET] ? 1 : 0; + break; + case ZYDIS_NODETYPE_FILTER_MODE_LZCNT: + index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_LZCNT] ? 1 : 0; + break; + case ZYDIS_NODETYPE_FILTER_MODE_TZCNT: + index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_TZCNT] ? 1 : 0; + break; + case ZYDIS_NODETYPE_FILTER_MODE_WBNOINVD: + index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_WBNOINVD] ? 1 : 0; + break; + case ZYDIS_NODETYPE_FILTER_MODE_CLDEMOTE: + index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_CLDEMOTE] ? 1 : 0; + break; + default: + if (node_type & ZYDIS_NODETYPE_DEFINITION_MASK) + { + const ZydisInstructionDefinition* definition; + ZydisGetInstructionDefinition(instruction->encoding, node->value, &definition); + ZydisSetEffectiveOperandWidth(context, instruction, definition); + ZydisSetEffectiveAddressWidth(context, instruction, definition); + + const ZydisInstructionEncodingInfo* info; + ZydisGetInstructionEncodingInfo(node, &info); + ZYAN_CHECK(ZydisDecodeOptionalInstructionParts(context, instruction, info)); + ZYAN_CHECK(ZydisCheckErrorConditions(context, instruction, definition)); + + if (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_3DNOW) + { + // Get actual 3dnow opcode and definition + ZYAN_CHECK(ZydisInputNext(context, instruction, &instruction->opcode)); + node = ZydisDecoderTreeGetRootNode(); + node = ZydisDecoderTreeGetChildNode(node, 0x0F); + node = ZydisDecoderTreeGetChildNode(node, 0x0F); + node = ZydisDecoderTreeGetChildNode(node, instruction->opcode); + if (node->type == ZYDIS_NODETYPE_INVALID) + { + return ZYDIS_STATUS_DECODING_ERROR; + } + ZYAN_ASSERT(node->type == ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT); + node = ZydisDecoderTreeGetChildNode( + node, (instruction->raw.modrm.mod == 0x3) ? 0 : 1); + ZYAN_ASSERT(node->type & ZYDIS_NODETYPE_DEFINITION_MASK); + ZydisGetInstructionDefinition(instruction->encoding, node->value, &definition); + } + + instruction->mnemonic = definition->mnemonic; +#ifndef ZYDIS_MINIMAL_MODE + instruction->meta.category = definition->category; + instruction->meta.isa_set = definition->isa_set; + instruction->meta.isa_ext = definition->isa_ext; + instruction->meta.branch_type = definition->branch_type; + ZYAN_ASSERT((instruction->meta.branch_type == ZYDIS_BRANCH_TYPE_NONE) || + ((instruction->meta.category == ZYDIS_CATEGORY_CALL) || + (instruction->meta.category == ZYDIS_CATEGORY_COND_BR) || + (instruction->meta.category == ZYDIS_CATEGORY_UNCOND_BR) || + (instruction->meta.category == ZYDIS_CATEGORY_RET))); + instruction->meta.exception_class = definition->exception_class; + + if (!context->decoder->decoder_mode[ZYDIS_DECODER_MODE_MINIMAL]) + { + ZydisSetAttributes(context, instruction, definition); + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_XOP: + case ZYDIS_INSTRUCTION_ENCODING_VEX: + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + ZydisSetAVXInformation(context, instruction, definition); + break; + default: + break; + } + ZYAN_CHECK(ZydisDecodeOperands(context, instruction, definition)); + const ZydisAccessedFlags* flags; + if (ZydisGetAccessedFlags(definition, &flags)) + { + instruction->attributes |= ZYDIS_ATTRIB_CPUFLAG_ACCESS; + ZYAN_ASSERT((ZYAN_ARRAY_LENGTH(instruction->accessed_flags) == + ZYAN_ARRAY_LENGTH(flags->action )) && + (sizeof (instruction->accessed_flags) == + sizeof (flags->action ))); + ZYAN_MEMCPY(&instruction->accessed_flags, &flags->action, + sizeof(flags->action)); + + instruction->cpu_flags_read = flags->cpu_flags_read; + instruction->cpu_flags_written = flags->cpu_flags_written; + instruction->fpu_flags_read = flags->fpu_flags_read; + instruction->fpu_flags_written = flags->fpu_flags_written; + } + } +#endif + + return ZYAN_STATUS_SUCCESS; + } + ZYAN_UNREACHABLE; + } + ZYAN_CHECK(status); + node = ZydisDecoderTreeGetChildNode(node, index); + } while ((node_type != ZYDIS_NODETYPE_INVALID) && !(node_type & ZYDIS_NODETYPE_DEFINITION_MASK)); + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +ZyanStatus ZydisDecoderInit(ZydisDecoder* decoder, ZydisMachineMode machine_mode, + ZydisAddressWidth address_width) +{ + static const ZyanBool decoderModes[ZYDIS_DECODER_MODE_MAX_VALUE + 1] = + { +#ifdef ZYDIS_MINIMAL_MODE + ZYAN_TRUE , // ZYDIS_DECODER_MODE_MINIMAL +#else + ZYAN_FALSE, // ZYDIS_DECODER_MODE_MINIMAL +#endif + ZYAN_FALSE, // ZYDIS_DECODER_MODE_AMD_BRANCHES + ZYAN_FALSE, // ZYDIS_DECODER_MODE_KNC + ZYAN_TRUE , // ZYDIS_DECODER_MODE_MPX + ZYAN_TRUE , // ZYDIS_DECODER_MODE_CET + ZYAN_TRUE , // ZYDIS_DECODER_MODE_LZCNT + ZYAN_TRUE , // ZYDIS_DECODER_MODE_TZCNT + ZYAN_FALSE, // ZYDIS_DECODER_MODE_WBNOINVD + ZYAN_TRUE // ZYDIS_DECODER_MODE_CLDEMOTE + }; + + if (!decoder) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + switch (machine_mode) + { + case ZYDIS_MACHINE_MODE_LONG_64: + if (address_width != ZYDIS_ADDRESS_WIDTH_64) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + break; + case ZYDIS_MACHINE_MODE_LONG_COMPAT_32: + case ZYDIS_MACHINE_MODE_LONG_COMPAT_16: + case ZYDIS_MACHINE_MODE_LEGACY_32: + case ZYDIS_MACHINE_MODE_LEGACY_16: + case ZYDIS_MACHINE_MODE_REAL_16: + if ((address_width != ZYDIS_ADDRESS_WIDTH_16) && (address_width != ZYDIS_ADDRESS_WIDTH_32)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + decoder->machine_mode = machine_mode; + decoder->address_width = address_width; + ZYAN_MEMCPY(&decoder->decoder_mode, &decoderModes, sizeof(decoderModes)); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisDecoderEnableMode(ZydisDecoder* decoder, ZydisDecoderMode mode, ZyanBool enabled) +{ + if (!decoder || (mode < 0) || (mode > ZYDIS_DECODER_MODE_MAX_VALUE)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + +#ifdef ZYDIS_MINIMAL_MODE + if ((mode == ZYDIS_DECODER_MODE_MINIMAL) && !enabled) + { + return ZYAN_STATUS_INVALID_OPERATION; + } +#endif + + decoder->decoder_mode[mode] = enabled; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisDecoderDecodeBuffer(const ZydisDecoder* decoder, const void* buffer, + ZyanUSize length, ZydisDecodedInstruction* instruction) +{ + if (!decoder || !instruction) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (!buffer || !length) + { + return ZYDIS_STATUS_NO_MORE_DATA; + } + + ZydisDecoderContext context; + ZYAN_MEMSET(&context, 0, sizeof(context)); + context.decoder = decoder; + context.buffer = (ZyanU8*)buffer; + context.buffer_len = length; + + ZYAN_MEMSET(instruction, 0, sizeof(*instruction)); + instruction->machine_mode = decoder->machine_mode; + + // Calculate stack width from address width using a mapping process: [0, 1, 2] -> [16, 32, 64] + instruction->stack_width = 16 << decoder->address_width; + + ZYAN_CHECK(ZydisCollectOptionalPrefixes(&context, instruction)); + ZYAN_CHECK(ZydisDecodeInstruction(&context, instruction)); + + return ZYAN_STATUS_SUCCESS; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/DecoderData.c b/externals/dynarmic/externals/zydis/src/DecoderData.c new file mode 100755 index 000000000..d9ac13541 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/DecoderData.c @@ -0,0 +1,174 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Data tables */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Physical instruction encodings */ +/* ---------------------------------------------------------------------------------------------- */ + +#include + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoder tree */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYDIS_INVALID \ + { ZYDIS_NODETYPE_INVALID, 0x00000000 } +#define ZYDIS_FILTER(type, id) \ + { type, id } +#define ZYDIS_DEFINITION(encoding_id, id) \ + { ZYDIS_NODETYPE_DEFINITION_MASK | encoding_id, id } + +#include + +#undef ZYDIS_INVALID +#undef ZYDIS_FILTER +#undef ZYDIS_DEFINITION + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Decoder tree */ +/* ---------------------------------------------------------------------------------------------- */ + +const ZydisDecoderTreeNode zydis_decoder_tree_root = { ZYDIS_NODETYPE_FILTER_OPCODE, 0x0000 }; + +const ZydisDecoderTreeNode* ZydisDecoderTreeGetChildNode(const ZydisDecoderTreeNode* parent, + ZyanU16 index) +{ + switch (parent->type) + { + case ZYDIS_NODETYPE_FILTER_XOP: + ZYAN_ASSERT(index < 13); + return &FILTERS_XOP[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_VEX: + ZYAN_ASSERT(index < 17); + return &FILTERS_VEX[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_EMVEX: + ZYAN_ASSERT(index < 33); + return &FILTERS_EMVEX[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_OPCODE: + ZYAN_ASSERT(index < 256); + return &FILTERS_OPCODE[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE: + ZYAN_ASSERT(index < 4); + return &FILTERS_MODE[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE_COMPACT: + ZYAN_ASSERT(index < 3); + return &FILTERS_MODE_COMPACT[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODRM_MOD: + ZYAN_ASSERT(index < 4); + return &FILTERS_MODRM_MOD[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODRM_MOD_COMPACT[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODRM_REG: + ZYAN_ASSERT(index < 8); + return &FILTERS_MODRM_REG[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODRM_RM: + ZYAN_ASSERT(index < 8); + return &FILTERS_MODRM_RM[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1: + ZYAN_ASSERT(index < 2); + return &FILTERS_PREFIX_GROUP1[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX: + ZYAN_ASSERT(index < 5); + return &FILTERS_MANDATORY_PREFIX[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_OPERAND_SIZE: + ZYAN_ASSERT(index < 3); + return &FILTERS_OPERAND_SIZE[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE: + ZYAN_ASSERT(index < 3); + return &FILTERS_ADDRESS_SIZE[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH: + ZYAN_ASSERT(index < 3); + return &FILTERS_VECTOR_LENGTH[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_REX_W: + ZYAN_ASSERT(index < 2); + return &FILTERS_REX_W[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_REX_B: + ZYAN_ASSERT(index < 2); + return &FILTERS_REX_B[parent->value][index]; +#ifndef ZYDIS_DISABLE_AVX512 + case ZYDIS_NODETYPE_FILTER_EVEX_B: + ZYAN_ASSERT(index < 2); + return &FILTERS_EVEX_B[parent->value][index]; +#endif +#ifndef ZYDIS_DISABLE_KNC + case ZYDIS_NODETYPE_FILTER_MVEX_E: + ZYAN_ASSERT(index < 2); + return &FILTERS_MVEX_E[parent->value][index]; +#endif + case ZYDIS_NODETYPE_FILTER_MODE_AMD: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODE_AMD[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE_KNC: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODE_KNC[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE_MPX: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODE_MPX[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE_CET: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODE_CET[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE_LZCNT: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODE_LZCNT[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE_TZCNT: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODE_TZCNT[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE_WBNOINVD: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODE_WBNOINVD[parent->value][index]; + case ZYDIS_NODETYPE_FILTER_MODE_CLDEMOTE: + ZYAN_ASSERT(index < 2); + return &FILTERS_MODE_CLDEMOTE[parent->value][index]; + default: + ZYAN_UNREACHABLE; + } +} + +void ZydisGetInstructionEncodingInfo(const ZydisDecoderTreeNode* node, + const ZydisInstructionEncodingInfo** info) +{ + ZYAN_ASSERT(node->type & ZYDIS_NODETYPE_DEFINITION_MASK); + const ZyanU8 class = (node->type) & 0x7F; + ZYAN_ASSERT(class < ZYAN_ARRAY_LENGTH(INSTR_ENCODINGS)); + *info = &INSTR_ENCODINGS[class]; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/Formatter.c b/externals/dynarmic/externals/zydis/src/Formatter.c new file mode 100755 index 000000000..fc5473b8c --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Formatter.c @@ -0,0 +1,646 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatter presets */ +/* ---------------------------------------------------------------------------------------------- */ + +static const ZydisFormatter* const FORMATTER_PRESETS[ZYDIS_FORMATTER_STYLE_MAX_VALUE + 1] = +{ + &FORMATTER_ATT, + &FORMATTER_INTEL, + &FORMATTER_INTEL_MASM +}; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Internal functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper functions */ +/* ---------------------------------------------------------------------------------------------- */ + +void ZydisFormatterBufferInit(ZydisFormatterBuffer* buffer, char* user_buffer, + ZyanUSize length) +{ + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(user_buffer); + ZYAN_ASSERT(length); + + buffer->is_token_list = ZYAN_FALSE; + buffer->string.flags = ZYAN_STRING_HAS_FIXED_CAPACITY; + buffer->string.vector.allocator = ZYAN_NULL; + buffer->string.vector.element_size = sizeof(char); + buffer->string.vector.size = 1; + buffer->string.vector.capacity = length; + buffer->string.vector.data = user_buffer; + *user_buffer = '\0'; +} + +void ZydisFormatterBufferInitTokenized(ZydisFormatterBuffer* buffer, + ZydisFormatterToken** first_token, void* user_buffer, ZyanUSize length) +{ + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(first_token); + ZYAN_ASSERT(user_buffer); + ZYAN_ASSERT(length); + + *first_token = user_buffer; + (*first_token)->type = ZYDIS_TOKEN_INVALID; + (*first_token)->next = 0; + + user_buffer = (ZyanU8*)user_buffer + sizeof(ZydisFormatterToken); + length -= sizeof(ZydisFormatterToken); + + buffer->is_token_list = ZYAN_TRUE; + buffer->capacity = length; + buffer->string.flags = ZYAN_STRING_HAS_FIXED_CAPACITY; + buffer->string.vector.allocator = ZYAN_NULL; + buffer->string.vector.element_size = sizeof(char); + buffer->string.vector.size = 1; + buffer->string.vector.capacity = length; + buffer->string.vector.data = user_buffer; + *(char*)user_buffer = '\0'; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Initialization */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterInit(ZydisFormatter* formatter, ZydisFormatterStyle style) +{ + if (!formatter || (style > ZYDIS_FORMATTER_STYLE_MAX_VALUE)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_MEMCPY(formatter, FORMATTER_PRESETS[style], sizeof(*formatter)); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Setter */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterSetProperty(ZydisFormatter* formatter, ZydisFormatterProperty property, + ZyanUPointer value) +{ + if (!formatter) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZydisNumericBase base = (ZydisNumericBase)(-1); + ZyanU8 index = 0xFF; + + switch (property) + { + case ZYDIS_FORMATTER_PROP_FORCE_SIZE: + { + formatter->force_memory_size = (value) ? ZYAN_TRUE : ZYAN_FALSE; + break; + } + case ZYDIS_FORMATTER_PROP_FORCE_SEGMENT: + { + formatter->force_memory_segment = (value) ? ZYAN_TRUE : ZYAN_FALSE; + break; + } + case ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_BRANCHES: + { + formatter->force_relative_branches = (value) ? ZYAN_TRUE : ZYAN_FALSE; + break; + } + case ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_RIPREL: + { + formatter->force_relative_riprel = (value) ? ZYAN_TRUE : ZYAN_FALSE; + break; + } + case ZYDIS_FORMATTER_PROP_PRINT_BRANCH_SIZE: + { + formatter->print_branch_size = (value) ? ZYAN_TRUE : ZYAN_FALSE; + break; + } + case ZYDIS_FORMATTER_PROP_DETAILED_PREFIXES: + { + formatter->detailed_prefixes = (value) ? ZYAN_TRUE : ZYAN_FALSE; + break; + } + case ZYDIS_FORMATTER_PROP_ADDR_BASE: + { + if ((ZydisNumericBase)value > ZYDIS_NUMERIC_BASE_MAX_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + formatter->addr_base = (ZydisNumericBase)value; + break; + } + case ZYDIS_FORMATTER_PROP_ADDR_SIGNEDNESS: + { + if ((ZydisSignedness)value > ZYDIS_SIGNEDNESS_MAX_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + formatter->addr_signedness = (ZydisSignedness)value; + break; + } + case ZYDIS_FORMATTER_PROP_ADDR_PADDING_ABSOLUTE: + { + formatter->addr_padding_absolute = (ZydisPadding)value; + break; + } + case ZYDIS_FORMATTER_PROP_ADDR_PADDING_RELATIVE: + { + formatter->addr_padding_relative = (ZydisPadding)value; + break; + } + case ZYDIS_FORMATTER_PROP_DISP_BASE: + { + if ((ZydisNumericBase)value > ZYDIS_NUMERIC_BASE_MAX_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + formatter->disp_base = (ZydisNumericBase)value; + break; + } + case ZYDIS_FORMATTER_PROP_DISP_SIGNEDNESS: + { + if ((ZydisSignedness)value > ZYDIS_SIGNEDNESS_MAX_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + formatter->disp_signedness = (ZydisSignedness)value; + break; + } + case ZYDIS_FORMATTER_PROP_DISP_PADDING: + { + if ((ZydisPadding)value == ZYDIS_PADDING_AUTO) + { + if (formatter->style > ZYDIS_FORMATTER_STYLE_MAX_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + formatter->disp_padding = FORMATTER_PRESETS[formatter->style]->disp_padding; + } + formatter->disp_padding = (ZydisPadding)value; + break; + } + case ZYDIS_FORMATTER_PROP_IMM_BASE: + { + if ((ZydisNumericBase)value > ZYDIS_NUMERIC_BASE_MAX_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + formatter->imm_base = (ZydisNumericBase)value; + break; + } + case ZYDIS_FORMATTER_PROP_IMM_SIGNEDNESS: + { + if ((ZydisSignedness)value > ZYDIS_SIGNEDNESS_MAX_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + formatter->imm_signedness = (ZydisSignedness)value; + break; + } + case ZYDIS_FORMATTER_PROP_IMM_PADDING: + { + if ((ZydisPadding)value == ZYDIS_PADDING_AUTO) + { + if (formatter->style > ZYDIS_FORMATTER_STYLE_MAX_VALUE) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + formatter->imm_padding = FORMATTER_PRESETS[formatter->style]->imm_padding; + } + formatter->imm_padding = (ZydisPadding)value; + break; + } + case ZYDIS_FORMATTER_PROP_UPPERCASE_PREFIXES: + { + formatter->case_prefixes = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT; + break; + } + case ZYDIS_FORMATTER_PROP_UPPERCASE_MNEMONIC: + { + formatter->case_mnemonic = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT; + break; + } + case ZYDIS_FORMATTER_PROP_UPPERCASE_REGISTERS: + { + formatter->case_registers = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT; + break; + } + case ZYDIS_FORMATTER_PROP_UPPERCASE_TYPECASTS: + { + formatter->case_typecasts = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT; + break; + } + case ZYDIS_FORMATTER_PROP_UPPERCASE_DECORATORS: + { + formatter->case_decorators = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT; + break; + } + case ZYDIS_FORMATTER_PROP_DEC_PREFIX: + { + base = ZYDIS_NUMERIC_BASE_DEC; + index = 0; + break; + } + case ZYDIS_FORMATTER_PROP_DEC_SUFFIX: + { + base = ZYDIS_NUMERIC_BASE_DEC; + index = 1; + break; + } + case ZYDIS_FORMATTER_PROP_HEX_UPPERCASE: + { + formatter->hex_uppercase = (value) ? ZYAN_TRUE : ZYAN_FALSE; + break; + } + case ZYDIS_FORMATTER_PROP_HEX_PREFIX: + { + base = ZYDIS_NUMERIC_BASE_HEX; + index = 0; + break; + } + case ZYDIS_FORMATTER_PROP_HEX_SUFFIX: + { + base = ZYDIS_NUMERIC_BASE_HEX; + index = 1; + break; + } + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Set prefix or suffix + if (base != (ZydisNumericBase)(-1)) + { + if (value) + { + const ZyanUSize len = ZYAN_STRLEN((char*)value); + if (len > 10) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + ZYAN_MEMCPY(formatter->number_format[base][index].buffer, (void*)value, len); + formatter->number_format[base][index].buffer[len] = '\0'; + formatter->number_format[base][index].string_data.string.vector.data = + formatter->number_format[base][index].buffer; + formatter->number_format[base][index].string_data.string.vector.size = len + 1; + formatter->number_format[base][index].string = + &formatter->number_format[base][index].string_data; + } else + { + formatter->number_format[base][index].string = ZYAN_NULL; + } + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterSetHook(ZydisFormatter* formatter, ZydisFormatterFunction type, + const void** callback) +{ + if (!formatter || !callback || (type > ZYDIS_FORMATTER_FUNC_MAX_VALUE)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const void* const temp = *callback; + + // The following code relies on the order of the enum values and the function fields inside + // the `ZydisFormatter` struct + +#ifdef ZYAN_DEBUG + const ZyanUPointer* test = (ZyanUPointer*)(&formatter->func_pre_instruction + type); + switch (type) + { + case ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_pre_instruction ); break; + case ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_post_instruction ); break; + case ZYDIS_FORMATTER_FUNC_FORMAT_INSTRUCTION: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_instruction); break; + case ZYDIS_FORMATTER_FUNC_PRE_OPERAND: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_pre_operand ); break; + case ZYDIS_FORMATTER_FUNC_POST_OPERAND: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_post_operand ); break; + case ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_operand_reg); break; + case ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_operand_mem); break; + case ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_operand_ptr); break; + case ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_operand_imm); break; + case ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_mnemonic ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_REGISTER: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_register ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_address_abs ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_address_rel ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_DISP: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_disp ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_IMM: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_imm ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_typecast ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_segment ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_PREFIXES: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_prefixes ); break; + case ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR: + ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_decorator ); break; + default: + ZYAN_UNREACHABLE; + } +#endif + + *callback = *(const void**)(&formatter->func_pre_instruction + type); + if (!temp) + { + return ZYAN_STATUS_SUCCESS; + } + ZYAN_MEMCPY(&formatter->func_pre_instruction + type, &temp, sizeof(ZyanUPointer)); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatting */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterFormatInstruction(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, char* buffer, ZyanUSize length, + ZyanU64 runtime_address) +{ + return ZydisFormatterFormatInstructionEx(formatter, instruction, buffer, length, + runtime_address, ZYAN_NULL); +} + +ZyanStatus ZydisFormatterFormatInstructionEx(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, char* buffer, ZyanUSize length, + ZyanU64 runtime_address, void* user_data) +{ + if (!formatter || !instruction || !buffer || (length == 0)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZydisFormatterBuffer formatter_buffer; + ZydisFormatterBufferInit(&formatter_buffer, buffer, length); + + ZydisFormatterContext context; + context.instruction = instruction; + context.runtime_address = runtime_address; + context.operand = ZYAN_NULL; + context.user_data = user_data; + + if (formatter->func_pre_instruction) + { + ZYAN_CHECK(formatter->func_pre_instruction(formatter, &formatter_buffer, &context)); + } + + ZYAN_CHECK(formatter->func_format_instruction(formatter, &formatter_buffer, &context)); + + if (formatter->func_post_instruction) + { + ZYAN_CHECK(formatter->func_post_instruction(formatter, &formatter_buffer, &context)); + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterFormatOperand(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, ZyanU8 index, char* buffer, ZyanUSize length, + ZyanU64 runtime_address) +{ + return ZydisFormatterFormatOperandEx(formatter, instruction, index, buffer, length, + runtime_address, ZYAN_NULL); +} + +ZyanStatus ZydisFormatterFormatOperandEx(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, ZyanU8 index, char* buffer, ZyanUSize length, + ZyanU64 runtime_address, void* user_data) +{ + if (!formatter || !instruction || index >= instruction->operand_count || !buffer || + (length == 0)) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZydisFormatterBuffer formatter_buffer; + ZydisFormatterBufferInit(&formatter_buffer, buffer, length); + + ZydisFormatterContext context; + context.instruction = instruction; + context.runtime_address = runtime_address; + context.operand = &instruction->operands[index]; + context.user_data = user_data; + + // We ignore `ZYDIS_STATUS_SKIP_TOKEN` for all operand-functions as it does not make any sense + // to skip the only operand printed by this function + + if (formatter->func_pre_operand) + { + ZYAN_CHECK(formatter->func_pre_operand(formatter, &formatter_buffer, &context)); + } + + switch (context.operand->type) + { + case ZYDIS_OPERAND_TYPE_REGISTER: + ZYAN_CHECK(formatter->func_format_operand_reg(formatter, &formatter_buffer, &context)); + break; + case ZYDIS_OPERAND_TYPE_MEMORY: + ZYAN_CHECK(formatter->func_format_operand_mem(formatter, &formatter_buffer, &context)); + break; + case ZYDIS_OPERAND_TYPE_IMMEDIATE: + ZYAN_CHECK(formatter->func_format_operand_imm(formatter, &formatter_buffer, &context)); + break; + case ZYDIS_OPERAND_TYPE_POINTER: + ZYAN_CHECK(formatter->func_format_operand_ptr(formatter, &formatter_buffer, &context)); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (formatter->func_post_operand) + { + ZYAN_CHECK(formatter->func_post_operand(formatter, &formatter_buffer, &context)); + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Tokenizing */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterTokenizeInstruction(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, void* buffer, ZyanUSize length, + ZyanU64 runtime_address, ZydisFormatterTokenConst** token) +{ + return ZydisFormatterTokenizeInstructionEx(formatter, instruction, buffer, length, + runtime_address, token, ZYAN_NULL); +} + +ZyanStatus ZydisFormatterTokenizeInstructionEx(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, void* buffer, ZyanUSize length, + ZyanU64 runtime_address, ZydisFormatterTokenConst** token, void* user_data) +{ + if (!formatter || !instruction || !buffer || (length <= sizeof(ZydisFormatterToken)) || !token) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZydisFormatterBuffer formatter_buffer; + ZydisFormatterToken* first_token; + ZydisFormatterBufferInitTokenized(&formatter_buffer, &first_token, buffer, length); + + ZydisFormatterContext context; + context.instruction = instruction; + context.runtime_address = runtime_address; + context.operand = ZYAN_NULL; + context.user_data = user_data; + + if (formatter->func_pre_instruction) + { + ZYAN_CHECK(formatter->func_pre_instruction(formatter, &formatter_buffer, &context)); + } + + ZYAN_CHECK(formatter->func_format_instruction(formatter, &formatter_buffer, &context)); + + if (formatter->func_post_instruction) + { + ZYAN_CHECK(formatter->func_post_instruction(formatter, &formatter_buffer, &context)); + } + + if (first_token->next) + { + *token = (ZydisFormatterTokenConst*)((ZyanU8*)first_token + sizeof(ZydisFormatterToken) + + first_token->next); + return ZYAN_STATUS_SUCCESS; + } + + *token = first_token; + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterTokenizeOperand(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, ZyanU8 index, void* buffer, ZyanUSize length, + ZyanU64 runtime_address, ZydisFormatterTokenConst** token) +{ + return ZydisFormatterTokenizeOperandEx(formatter, instruction, index, buffer, length, + runtime_address, token, ZYAN_NULL); +} + +ZyanStatus ZydisFormatterTokenizeOperandEx(const ZydisFormatter* formatter, + const ZydisDecodedInstruction* instruction, ZyanU8 index, void* buffer, ZyanUSize length, + ZyanU64 runtime_address, ZydisFormatterTokenConst** token, void* user_data) +{ + if (!formatter || !instruction || (index >= instruction->operand_count) || !buffer || + (length <= sizeof(ZydisFormatterToken)) || !token) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZydisFormatterToken* first_token; + ZydisFormatterBuffer formatter_buffer; + ZydisFormatterBufferInitTokenized(&formatter_buffer, &first_token, buffer, length); + + ZydisFormatterContext context; + context.instruction = instruction; + context.runtime_address = runtime_address; + context.operand = &instruction->operands[index]; + context.user_data = user_data; + + // We ignore `ZYDIS_STATUS_SKIP_TOKEN` for all operand-functions as it does not make any sense + // to skip the only operand printed by this function + + if (formatter->func_pre_operand) + { + ZYAN_CHECK(formatter->func_pre_operand(formatter, &formatter_buffer, &context)); + } + + switch (context.operand->type) + { + case ZYDIS_OPERAND_TYPE_REGISTER: + ZYAN_CHECK(formatter->func_format_operand_reg(formatter, &formatter_buffer, &context)); + break; + case ZYDIS_OPERAND_TYPE_MEMORY: + ZYAN_CHECK(formatter->func_format_operand_mem(formatter, &formatter_buffer, &context)); + break; + case ZYDIS_OPERAND_TYPE_IMMEDIATE: + ZYAN_CHECK(formatter->func_format_operand_imm(formatter, &formatter_buffer, &context)); + break; + case ZYDIS_OPERAND_TYPE_POINTER: + ZYAN_CHECK(formatter->func_format_operand_ptr(formatter, &formatter_buffer, &context)); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (formatter->func_post_operand) + { + ZYAN_CHECK(formatter->func_post_operand(formatter, &formatter_buffer, &context)); + } + + if (first_token->next) + { + *token = (ZydisFormatterTokenConst*)((ZyanU8*)first_token + sizeof(ZydisFormatterToken) + + first_token->next); + return ZYAN_STATUS_SUCCESS; + } + + *token = first_token; + return ZYAN_STATUS_SUCCESS; +} + +/* ============================================================================================== */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/FormatterATT.c b/externals/dynarmic/externals/zydis/src/FormatterATT.c new file mode 100755 index 000000000..c6335788d --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/FormatterATT.c @@ -0,0 +1,395 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +#include + +/* ============================================================================================== */ +/* Formatter functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterATTFormatInstruction(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZYAN_CHECK(formatter->func_print_prefixes(formatter, buffer, context)); + ZYAN_CHECK(formatter->func_print_mnemonic(formatter, buffer, context)); + + ZyanUPointer state_mnemonic; + ZYDIS_BUFFER_REMEMBER(buffer, state_mnemonic); + ZyanI8 c = (ZyanI8)context->instruction->operand_count - 1; + for (; c >= 0; --c) + { + if (context->instruction->operands[c].visibility != ZYDIS_OPERAND_VISIBILITY_HIDDEN) + { + break; + } + } + + for (ZyanI8 i = c; i >= 0; --i) + { + const ZydisDecodedOperand* const operand = &context->instruction->operands[i]; + + // Print embedded-mask registers as decorator instead of a regular operand + if ((i == 1) && (operand->type == ZYDIS_OPERAND_TYPE_REGISTER) && + (operand->encoding == ZYDIS_OPERAND_ENCODING_MASK)) + { + continue; + } + + ZyanUPointer buffer_state; + ZYDIS_BUFFER_REMEMBER(buffer, buffer_state); + + if (buffer_state != state_mnemonic) + { + ZYDIS_BUFFER_APPEND(buffer, DELIM_OPERAND); + } else + { + ZYDIS_BUFFER_APPEND(buffer, DELIM_MNEMONIC); + } + + // Set current operand + context->operand = operand; + + ZyanStatus status; + if (formatter->func_pre_operand) + { + status = formatter->func_pre_operand(formatter, buffer, context); + if (status == ZYDIS_STATUS_SKIP_TOKEN) + { + ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state)); + continue; + } + if (!ZYAN_SUCCESS(status)) + { + return status; + } + } + + switch (operand->type) + { + case ZYDIS_OPERAND_TYPE_REGISTER: + status = formatter->func_format_operand_reg(formatter, buffer, context); + break; + case ZYDIS_OPERAND_TYPE_MEMORY: + status = formatter->func_format_operand_mem(formatter, buffer, context); + break; + case ZYDIS_OPERAND_TYPE_POINTER: + status = formatter->func_format_operand_ptr(formatter, buffer, context); + break; + case ZYDIS_OPERAND_TYPE_IMMEDIATE: + status = formatter->func_format_operand_imm(formatter, buffer, context); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (status == ZYDIS_STATUS_SKIP_TOKEN) + { + ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state)); + continue; + } + if (!ZYAN_SUCCESS(status)) + { + return status; + } + + if (formatter->func_post_operand) + { + status = formatter->func_post_operand(formatter, buffer, context); + if (status == ZYDIS_STATUS_SKIP_TOKEN) + { + ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state)); + continue; + } + if (ZYAN_SUCCESS(status)) + { + return status; + } + } + +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + if ((context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || + (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) + { + if ((i == 0) && + (context->instruction->operands[i + 1].encoding == ZYDIS_OPERAND_ENCODING_MASK)) + { + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_MASK)); + } + if (operand->type == ZYDIS_OPERAND_TYPE_MEMORY) + { + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_BC)); + if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX) + { + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_CONVERSION)); + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_EH)); + } + } else + { + if ((i == (context->instruction->operand_count - 1)) || + (context->instruction->operands[i + 1].type == ZYDIS_OPERAND_TYPE_IMMEDIATE)) + { + if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX) + { + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_SWIZZLE)); + } + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_RC)); + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_SAE)); + } + } + } +#endif + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Operands */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterATTFormatOperandMEM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZYAN_CHECK(formatter->func_print_segment(formatter, buffer, context)); + + const ZyanBool absolute = !formatter->force_relative_riprel && + (context->runtime_address != ZYDIS_RUNTIME_ADDRESS_NONE); + if (absolute && context->operand->mem.disp.has_displacement && + (context->operand->mem.index == ZYDIS_REGISTER_NONE) && + ((context->operand->mem.base == ZYDIS_REGISTER_NONE) || + (context->operand->mem.base == ZYDIS_REGISTER_EIP ) || + (context->operand->mem.base == ZYDIS_REGISTER_RIP ))) + { + // EIP/RIP-relative or absolute-displacement address operand + ZYAN_CHECK(formatter->func_print_address_abs(formatter, buffer, context)); + } else + { + ZyanBool should_print_reg = context->operand->mem.base != ZYDIS_REGISTER_NONE; + ZyanBool should_print_idx = (context->operand->mem.index != ZYDIS_REGISTER_NONE) && + (context->operand->mem.type != ZYDIS_MEMOP_TYPE_MIB); + ZyanBool neither_reg_nor_idx = !should_print_reg && !should_print_idx; + + // Regular memory operand + if (context->operand->mem.disp.has_displacement && (context->operand->mem.disp.value + || neither_reg_nor_idx)) + { + ZYAN_CHECK(formatter->func_print_disp(formatter, buffer, context)); + } + + if (neither_reg_nor_idx) + { + return ZYAN_STATUS_SUCCESS; + } + + ZYDIS_BUFFER_APPEND(buffer, MEMORY_BEGIN_ATT); + + if (should_print_reg) + { + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->operand->mem.base)); + } + if (should_print_idx) + { + ZYDIS_BUFFER_APPEND(buffer, DELIM_MEMORY); + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->operand->mem.index)); + if (context->operand->mem.scale) + { + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_DELIMITER); + ZYDIS_BUFFER_APPEND(buffer, DELIM_MEMORY); + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE); + ZYAN_CHECK(ZydisStringAppendDecU(&buffer->string, context->operand->mem.scale, 0, + ZYAN_NULL, ZYAN_NULL)); + } + } + + ZYDIS_BUFFER_APPEND(buffer, MEMORY_END_ATT); + return ZYAN_STATUS_SUCCESS; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Elemental tokens */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterATTPrintMnemonic(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + const ZydisShortString* mnemonic = ZydisMnemonicGetStringWrapped( + context->instruction->mnemonic); + if (!mnemonic) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, INVALID_MNEMONIC, formatter->case_mnemonic); + return ZYAN_STATUS_SUCCESS; + } + + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_MNEMONIC); + if (context->instruction->meta.branch_type == ZYDIS_BRANCH_TYPE_FAR) + { + ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, &STR_FAR_ATT, + formatter->case_mnemonic)); + } + ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, mnemonic, formatter->case_mnemonic)); + + // Append operand-size suffix + ZyanU32 size = 0; + for (ZyanU8 i = 0; i < context->instruction->operand_count; ++i) + { + const ZydisDecodedOperand* const operand = &context->instruction->operands[i]; + if (operand->visibility == ZYDIS_OPERAND_VISIBILITY_HIDDEN) + { + break; + } + if ((operand->type == ZYDIS_OPERAND_TYPE_MEMORY) && + (operand->mem.type == ZYDIS_MEMOP_TYPE_MEM)) + { + size = ZydisFormatterHelperGetExplicitSize(formatter, context, i); + break; + } + } + + switch (size) + { + case 8: ZydisStringAppendShort(&buffer->string, &STR_SIZE_8_ATT ); break; + case 16: ZydisStringAppendShort(&buffer->string, &STR_SIZE_16_ATT ); break; + case 32: ZydisStringAppendShort(&buffer->string, &STR_SIZE_32_ATT ); break; + case 64: ZydisStringAppendShort(&buffer->string, &STR_SIZE_64_ATT ); break; + case 128: ZydisStringAppendShort(&buffer->string, &STR_SIZE_128_ATT); break; + case 256: ZydisStringAppendShort(&buffer->string, &STR_SIZE_256_ATT); break; + case 512: ZydisStringAppendShort(&buffer->string, &STR_SIZE_512_ATT); break; + default: + break; + } + + if (formatter->print_branch_size) + { + switch (context->instruction->meta.branch_type) + { + case ZYDIS_BRANCH_TYPE_NONE: + break; + case ZYDIS_BRANCH_TYPE_SHORT: + return ZydisStringAppendShortCase(&buffer->string, &STR_SHORT, + formatter->case_mnemonic); + case ZYDIS_BRANCH_TYPE_NEAR: + return ZydisStringAppendShortCase(&buffer->string, &STR_NEAR, + formatter->case_mnemonic); + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterATTPrintRegister(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg) +{ + ZYAN_UNUSED(context); + + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZYDIS_BUFFER_APPEND(buffer, REGISTER); + const ZydisShortString* str = ZydisRegisterGetStringWrapped(reg); + if (!str) + { + return ZydisStringAppendShortCase(&buffer->string, &STR_INVALID_REG, + formatter->case_registers); + } + return ZydisStringAppendShortCase(&buffer->string, str, formatter->case_registers); +} + +ZyanStatus ZydisFormatterATTPrintDISP(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_DISPLACEMENT); + switch (formatter->disp_signedness) + { + case ZYDIS_SIGNEDNESS_AUTO: + case ZYDIS_SIGNEDNESS_SIGNED: + ZYDIS_STRING_APPEND_NUM_S(formatter, formatter->disp_base, &buffer->string, + context->operand->mem.disp.value, formatter->disp_padding, ZYAN_FALSE); + break; + case ZYDIS_SIGNEDNESS_UNSIGNED: + ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->disp_base, &buffer->string, + context->operand->mem.disp.value, formatter->disp_padding); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterATTPrintIMM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZYDIS_BUFFER_APPEND(buffer, IMMEDIATE); + return ZydisFormatterBasePrintIMM(formatter, buffer, context); +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/FormatterBase.c b/externals/dynarmic/externals/zydis/src/FormatterBase.c new file mode 100755 index 000000000..7017ce48f --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/FormatterBase.c @@ -0,0 +1,756 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +#include + +static const ZydisShortString* const STR_PREF_REX[16] = +{ + &STR_PREF_REX_40, + &STR_PREF_REX_41, + &STR_PREF_REX_42, + &STR_PREF_REX_43, + &STR_PREF_REX_44, + &STR_PREF_REX_45, + &STR_PREF_REX_46, + &STR_PREF_REX_47, + &STR_PREF_REX_48, + &STR_PREF_REX_49, + &STR_PREF_REX_4A, + &STR_PREF_REX_4B, + &STR_PREF_REX_4C, + &STR_PREF_REX_4D, + &STR_PREF_REX_4E, + &STR_PREF_REX_4F +}; + +static const ZydisPredefinedToken* const TOK_PREF_REX[16] = +{ + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_40, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_41, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_42, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_43, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_44, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_45, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_46, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_47, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_48, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_49, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4A, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4B, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4C, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4D, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4E, + (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4F +}; + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +ZyanU32 ZydisFormatterHelperGetExplicitSize(const ZydisFormatter* formatter, + ZydisFormatterContext* context, ZyanU8 memop_id) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(context); + ZYAN_ASSERT(memop_id < context->instruction->operand_count); + + const ZydisDecodedOperand* const operand = &context->instruction->operands[memop_id]; + ZYAN_ASSERT(operand->type == ZYDIS_OPERAND_TYPE_MEMORY); + ZYAN_ASSERT(operand->mem.type == ZYDIS_MEMOP_TYPE_MEM); + + if (formatter->force_memory_size) + { + return operand->size; + } + + switch (operand->id) + { + case 0: + if ((context->instruction->operands[1].type == ZYDIS_OPERAND_TYPE_UNUSED) || + (context->instruction->operands[1].type == ZYDIS_OPERAND_TYPE_IMMEDIATE)) + { + return context->instruction->operands[0].size; + } + if (context->instruction->operands[0].size != context->instruction->operands[1].size) + { + return context->instruction->operands[0].size; + } + if ((context->instruction->operands[1].type == ZYDIS_OPERAND_TYPE_REGISTER) && + (context->instruction->operands[1].visibility == ZYDIS_OPERAND_VISIBILITY_IMPLICIT) && + (context->instruction->operands[1].reg.value == ZYDIS_REGISTER_CL)) + { + return context->instruction->operands[0].size; + } + break; + case 1: + case 2: + if (context->instruction->operands[operand->id - 1].size != + context->instruction->operands[operand->id].size) + { + return context->instruction->operands[operand->id].size; + } + break; + default: + break; + } + + return 0; +} + +/* ============================================================================================== */ +/* Formatter functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Operands */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterBaseFormatOperandREG(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + return formatter->func_print_register(formatter, buffer, context, context->operand->reg.value); +} + +ZyanStatus ZydisFormatterBaseFormatOperandPTR(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE); + ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->addr_base, &buffer->string, + context->operand->ptr.segment, 4); + ZYDIS_BUFFER_APPEND(buffer, DELIM_SEGMENT); + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE); + ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->addr_base, &buffer->string, + context->operand->ptr.offset , 8); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBaseFormatOperandIMM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + // The immediate operand contains an address + if (context->operand->imm.is_relative) + { + const ZyanBool absolute = !formatter->force_relative_branches && + (context->runtime_address != ZYDIS_RUNTIME_ADDRESS_NONE); + if (absolute) + { + return formatter->func_print_address_abs(formatter, buffer, context); + } + return formatter->func_print_address_rel(formatter, buffer, context); + } + + // The immediate operand contains an actual ordinal value + return formatter->func_print_imm(formatter, buffer, context); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Elemental tokens */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterBasePrintAddressABS(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZyanU64 address; + ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, + context->runtime_address, &address)); + ZyanU8 padding = (formatter->addr_padding_absolute == + ZYDIS_PADDING_AUTO) ? 0 : (ZyanU8)formatter->addr_padding_absolute; + if ((formatter->addr_padding_absolute == ZYDIS_PADDING_AUTO) && + (formatter->addr_base == ZYDIS_NUMERIC_BASE_HEX)) + { + switch (context->instruction->stack_width) + { + case 16: + padding = 4; + address = (ZyanU16)address; + break; + case 32: + padding = 8; + address = (ZyanU32)address; + break; + case 64: + padding = 16; + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } + + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_ADDRESS_ABS); + ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->addr_base, &buffer->string, address, padding); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBasePrintAddressREL(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZyanU64 address; + ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, 0, &address)); + + ZyanU8 padding = (formatter->addr_padding_relative == + ZYDIS_PADDING_AUTO) ? 0 : (ZyanU8)formatter->addr_padding_relative; + if ((formatter->addr_padding_relative == ZYDIS_PADDING_AUTO) && + (formatter->addr_base == ZYDIS_NUMERIC_BASE_HEX)) + { + switch (context->instruction->stack_width) + { + case 16: + padding = 4; + address = (ZyanU16)address; + break; + case 32: + padding = 8; + address = (ZyanU32)address; + break; + case 64: + padding = 16; + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } + + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_ADDRESS_REL); + switch (formatter->addr_signedness) + { + case ZYDIS_SIGNEDNESS_AUTO: + case ZYDIS_SIGNEDNESS_SIGNED: + ZYDIS_STRING_APPEND_NUM_S(formatter, formatter->addr_base, &buffer->string, address, + padding, ZYAN_TRUE); + break; + case ZYDIS_SIGNEDNESS_UNSIGNED: + ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_ADD)); + ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->addr_base, &buffer->string, address, + padding); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBasePrintIMM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE); + + const ZyanBool is_signed = + (formatter->imm_signedness == ZYDIS_SIGNEDNESS_SIGNED) || + (formatter->imm_signedness == ZYDIS_SIGNEDNESS_AUTO && (context->operand->imm.is_signed)); + if (is_signed && (context->operand->imm.value.s < 0)) + { + ZYDIS_STRING_APPEND_NUM_S(formatter, formatter->imm_base, &buffer->string, + context->operand->imm.value.s, formatter->imm_padding, ZYAN_FALSE); + return ZYAN_STATUS_SUCCESS; + } + ZyanU64 value; + ZyanU8 padding = (formatter->imm_padding == + ZYDIS_PADDING_AUTO) ? 0 : (ZyanU8)formatter->imm_padding; + switch (context->instruction->operand_width) + { + case 8: + if (formatter->imm_padding == ZYDIS_PADDING_AUTO) + { + padding = 2; + } + value = (ZyanU8 )context->operand->imm.value.u; + break; + case 16: + if (formatter->imm_padding == ZYDIS_PADDING_AUTO) + { + padding = 4; + } + value = (ZyanU16)context->operand->imm.value.u; + break; + case 32: + if (formatter->imm_padding == ZYDIS_PADDING_AUTO) + { + padding = 8; + } + value = (ZyanU32)context->operand->imm.value.u; + break; + case 64: + if (formatter->imm_padding == ZYDIS_PADDING_AUTO) + { + padding = 16; + } + value = (ZyanU64)context->operand->imm.value.u; + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->imm_base, &buffer->string, value, padding); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Optional tokens */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterBasePrintSegment(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZyanBool printed_segment = ZYAN_FALSE; + switch (context->operand->mem.segment) + { + case ZYDIS_REGISTER_ES: + case ZYDIS_REGISTER_CS: + case ZYDIS_REGISTER_FS: + case ZYDIS_REGISTER_GS: + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->operand->mem.segment)); + printed_segment = ZYAN_TRUE; + break; + case ZYDIS_REGISTER_SS: + if ((formatter->force_memory_segment) || + (context->instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_SS)) + { + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->operand->mem.segment)); + printed_segment = ZYAN_TRUE; + } + break; + case ZYDIS_REGISTER_DS: + if ((formatter->force_memory_segment) || + (context->instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_DS)) + { + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->operand->mem.segment)); + printed_segment = ZYAN_TRUE; + } + break; + default: + break; + } + if (printed_segment) + { + ZYDIS_BUFFER_APPEND(buffer, DELIM_SEGMENT); + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBasePrintPrefixes(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + if (formatter->detailed_prefixes) + { + for (ZyanU8 i = 0; i < context->instruction->raw.prefix_count; ++i) + { + const ZyanU8 value = context->instruction->raw.prefixes[i].value; + switch (context->instruction->raw.prefixes[i].type) + { + case ZYDIS_PREFIX_TYPE_IGNORED: + case ZYDIS_PREFIX_TYPE_MANDATORY: + { + if ((value & 0xF0) == 0x40) + { + if (buffer->is_token_list) + { + // TODO: Case + ZYAN_CHECK(ZydisFormatterBufferAppendPredefined(buffer, + TOK_PREF_REX[value & 0x0F])); + } else + { + ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, + STR_PREF_REX[value & 0x0F], formatter->case_prefixes)); + } + } else + { + switch (value) + { + case 0xF0: + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_LOCK, formatter->case_prefixes); + break; + case 0x2E: + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_CS, formatter->case_prefixes); + break; + case 0x36: + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_SS, formatter->case_prefixes); + break; + case 0x3E: + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_DS, formatter->case_prefixes); + break; + case 0x26: + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_ES, formatter->case_prefixes); + break; + case 0x64: + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_FS, formatter->case_prefixes); + break; + case 0x65: + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_GS, formatter->case_prefixes); + break; + default: + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_PREFIX); + ZYAN_CHECK(ZydisStringAppendHexU(&buffer->string, value, 0, + formatter->hex_uppercase, ZYAN_NULL, ZYAN_NULL)); + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_WHITESPACE); + ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_WHITESPACE)); + break; + } + } + break; + } + case ZYDIS_PREFIX_TYPE_EFFECTIVE: + switch (value) + { + case 0xF0: + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_LOCK, formatter->case_prefixes); + break; + case 0xF2: + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_XACQUIRE) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_XACQUIRE, formatter->case_prefixes); + } + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REPNE) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REPNE, formatter->case_prefixes); + } + + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_BND) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_BND, formatter->case_prefixes); + } + break; + case 0xF3: + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_XRELEASE) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_XRELEASE, formatter->case_prefixes); + } + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REP) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REP, formatter->case_prefixes); + } + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REPE) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REPE, formatter->case_prefixes); + } + break; + default: + break; + } + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } + return ZYAN_STATUS_SUCCESS; + } + + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_XACQUIRE) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_XACQUIRE, formatter->case_prefixes); + } + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_XRELEASE) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_XRELEASE, formatter->case_prefixes); + } + + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_LOCK) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_LOCK, formatter->case_prefixes); + return ZYAN_STATUS_SUCCESS; + } + + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REP) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REP, formatter->case_prefixes); + return ZYAN_STATUS_SUCCESS; + } + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REPE) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REPE, formatter->case_prefixes); + return ZYAN_STATUS_SUCCESS; + } + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REPNE) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REPNE, formatter->case_prefixes); + return ZYAN_STATUS_SUCCESS; + } + + if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_BND) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_BND, formatter->case_prefixes); + return ZYAN_STATUS_SUCCESS; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBasePrintDecorator(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisDecorator decorator) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + +#if defined(ZYDIS_DISABLE_AVX512) && defined(ZYDIS_DISABLE_KNC) + ZYAN_UNUSED(formatter); + ZYAN_UNUSED(buffer); + ZYAN_UNUSED(context); +#endif + + switch (decorator) + { + case ZYDIS_DECORATOR_MASK: + { +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + if (context->instruction->avx.mask.reg != ZYDIS_REGISTER_K0) + { + if (buffer->is_token_list) + { + ZYDIS_BUFFER_APPEND(buffer, DECO_BEGIN); + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->instruction->avx.mask.reg)); + ZYDIS_BUFFER_APPEND(buffer, DECO_END); + } else + { + ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_DECO_BEGIN)); + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->instruction->avx.mask.reg)); + ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_DECO_END)); + } + + // Only print the zeroing decorator, if the instruction is not a "zeroing masking only" + // instruction (e.g. `vcmpsd`) + if ((context->instruction->avx.mask.mode == ZYDIS_MASK_MODE_ZEROING || + context->instruction->avx.mask.mode == ZYDIS_MASK_MODE_CONTROL_ZEROING) && + (context->instruction->raw.evex.z)) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_ZERO, formatter->case_decorators); + } + } +#endif + break; + } + case ZYDIS_DECORATOR_BC: +#if !defined(ZYDIS_DISABLE_AVX512) + if (!context->instruction->avx.broadcast.is_static) + { + switch (context->instruction->avx.broadcast.mode) + { + case ZYDIS_BROADCAST_MODE_INVALID: + break; + case ZYDIS_BROADCAST_MODE_1_TO_2: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_1TO2, formatter->case_decorators); + break; + case ZYDIS_BROADCAST_MODE_1_TO_4: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_1TO4, formatter->case_decorators); + break; + case ZYDIS_BROADCAST_MODE_1_TO_8: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_1TO8, formatter->case_decorators); + break; + case ZYDIS_BROADCAST_MODE_1_TO_16: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_1TO16, formatter->case_decorators); + break; + case ZYDIS_BROADCAST_MODE_4_TO_8: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_4TO8, formatter->case_decorators); + break; + case ZYDIS_BROADCAST_MODE_4_TO_16: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_4TO16, formatter->case_decorators); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } +#endif + break; + case ZYDIS_DECORATOR_RC: +#if !defined(ZYDIS_DISABLE_AVX512) + if (context->instruction->avx.has_sae) + { + switch (context->instruction->avx.rounding.mode) + { + case ZYDIS_ROUNDING_MODE_INVALID: + break; + case ZYDIS_ROUNDING_MODE_RN: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RN_SAE, formatter->case_decorators); + break; + case ZYDIS_ROUNDING_MODE_RD: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RD_SAE, formatter->case_decorators); + break; + case ZYDIS_ROUNDING_MODE_RU: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RU_SAE, formatter->case_decorators); + break; + case ZYDIS_ROUNDING_MODE_RZ: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RZ_SAE, formatter->case_decorators); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } else + { + switch (context->instruction->avx.rounding.mode) + { + case ZYDIS_ROUNDING_MODE_INVALID: + break; + case ZYDIS_ROUNDING_MODE_RN: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RN, formatter->case_decorators); + break; + case ZYDIS_ROUNDING_MODE_RD: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RD, formatter->case_decorators); + break; + case ZYDIS_ROUNDING_MODE_RU: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RU, formatter->case_decorators); + break; + case ZYDIS_ROUNDING_MODE_RZ: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RZ, formatter->case_decorators); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } +#endif + break; + case ZYDIS_DECORATOR_SAE: +#if !defined(ZYDIS_DISABLE_AVX512) + if (context->instruction->avx.has_sae && !context->instruction->avx.rounding.mode) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_SAE, formatter->case_decorators); + } +#endif + break; + case ZYDIS_DECORATOR_SWIZZLE: +#if !defined(ZYDIS_DISABLE_KNC) + switch (context->instruction->avx.swizzle.mode) + { + case ZYDIS_SWIZZLE_MODE_INVALID: + case ZYDIS_SWIZZLE_MODE_DCBA: + // Nothing to do here + break; + case ZYDIS_SWIZZLE_MODE_CDAB: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_CDAB, formatter->case_decorators); + break; + case ZYDIS_SWIZZLE_MODE_BADC: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_BADC, formatter->case_decorators); + break; + case ZYDIS_SWIZZLE_MODE_DACB: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_DACB, formatter->case_decorators); + break; + case ZYDIS_SWIZZLE_MODE_AAAA: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_AAAA, formatter->case_decorators); + break; + case ZYDIS_SWIZZLE_MODE_BBBB: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_BBBB, formatter->case_decorators); + break; + case ZYDIS_SWIZZLE_MODE_CCCC: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_CCCC, formatter->case_decorators); + break; + case ZYDIS_SWIZZLE_MODE_DDDD: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_DDDD, formatter->case_decorators); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } +#endif + break; + case ZYDIS_DECORATOR_CONVERSION: +#if !defined(ZYDIS_DISABLE_KNC) + switch (context->instruction->avx.conversion.mode) + { + case ZYDIS_CONVERSION_MODE_INVALID: + break; + case ZYDIS_CONVERSION_MODE_FLOAT16: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_FLOAT16, formatter->case_decorators); + break; + case ZYDIS_CONVERSION_MODE_SINT8: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_SINT8, formatter->case_decorators); + break; + case ZYDIS_CONVERSION_MODE_UINT8: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_UINT8, formatter->case_decorators); + break; + case ZYDIS_CONVERSION_MODE_SINT16: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_SINT16, formatter->case_decorators); + break; + case ZYDIS_CONVERSION_MODE_UINT16: + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_UINT16, formatter->case_decorators); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } +#endif + break; + case ZYDIS_DECORATOR_EH: +#if !defined(ZYDIS_DISABLE_KNC) + if (context->instruction->avx.has_eviction_hint) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_EH, formatter->case_decorators); + } +#endif + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/FormatterBuffer.c b/externals/dynarmic/externals/zydis/src/FormatterBuffer.c new file mode 100755 index 000000000..8781a899b --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/FormatterBuffer.c @@ -0,0 +1,191 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Token */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterTokenGetValue(const ZydisFormatterToken* token, + ZydisTokenType* type, ZyanConstCharPointer* value) +{ + if (!token || !type || !value) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *type = token->type; + *value = (ZyanConstCharPointer)((ZyanU8*)token + sizeof(ZydisFormatterToken)); + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterTokenNext(ZydisFormatterTokenConst** token) +{ + if (!token || !*token) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + const ZyanU8 next = (*token)->next; + if (!next) + { + return ZYAN_STATUS_OUT_OF_RANGE; + } + *token = (ZydisFormatterTokenConst*)((ZyanU8*)*token + sizeof(ZydisFormatterToken) + next); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Buffer */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterBufferGetToken(const ZydisFormatterBuffer* buffer, + ZydisFormatterTokenConst** token) +{ + if (!buffer || !token) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *token = ((ZydisFormatterTokenConst*)buffer->string.vector.data - 1); + if ((*token)->type == ZYDIS_TOKEN_INVALID) + { + return ZYAN_STATUS_INVALID_OPERATION; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBufferGetString(ZydisFormatterBuffer* buffer, ZyanString** string) +{ + if (!buffer || !string) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (buffer->is_token_list && + ((ZydisFormatterTokenConst*)buffer->string.vector.data - 1)->type == ZYDIS_TOKEN_INVALID) + { + return ZYAN_STATUS_INVALID_OPERATION; + } + + ZYAN_ASSERT(buffer->string.vector.data); + ZYAN_ASSERT(buffer->string.vector.size); + + *string = &buffer->string; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBufferAppend(ZydisFormatterBuffer* buffer, ZydisTokenType type) +{ + if (!buffer) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (!buffer->is_token_list) + { + return ZYAN_STATUS_SUCCESS; + } + + const ZyanUSize len = buffer->string.vector.size; + ZYAN_ASSERT((len > 0) && (len < 256)); + if (buffer->capacity <= len + sizeof(ZydisFormatterToken)) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZydisFormatterToken* const last = (ZydisFormatterToken*)buffer->string.vector.data - 1; + last->next = (ZyanU8)len; + + const ZyanUSize delta = len + sizeof(ZydisFormatterToken); + buffer->capacity -= delta; + buffer->string.vector.data = (ZyanU8*)buffer->string.vector.data + delta; + buffer->string.vector.size = 1; + buffer->string.vector.capacity = ZYAN_MIN(buffer->capacity, 255); + *(char*)buffer->string.vector.data = '\0'; + + ZydisFormatterToken* const token = (ZydisFormatterToken*)buffer->string.vector.data - 1; + token->type = type; + token->next = 0; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBufferRemember(const ZydisFormatterBuffer* buffer, ZyanUPointer* state) +{ + if (!buffer || !state) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (buffer->is_token_list) + { + *state = (ZyanUPointer)buffer->string.vector.data; + } else + { + *state = (ZyanUPointer)buffer->string.vector.size; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterBufferRestore(ZydisFormatterBuffer* buffer, ZyanUPointer state) +{ + if (!buffer) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if (buffer->is_token_list) + { + const ZyanUSize delta = (ZyanUPointer)buffer->string.vector.data - state; + buffer->capacity += delta; + buffer->string.vector.data = (void*)state; + buffer->string.vector.size = 1; // TODO: Restore size? + buffer->string.vector.capacity = ZYAN_MIN(buffer->capacity, 255); + *(char*)buffer->string.vector.data = '\0'; + } else + { + buffer->string.vector.size = (ZyanUSize)state; + ZYDIS_STRING_NULLTERMINATE(&buffer->string); + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/FormatterIntel.c b/externals/dynarmic/externals/zydis/src/FormatterIntel.c new file mode 100755 index 000000000..90ae5d5c8 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/FormatterIntel.c @@ -0,0 +1,442 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include +#include + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +#include + +/* ============================================================================================== */ +/* Formatter functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Intel */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterIntelFormatInstruction(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZYAN_CHECK(formatter->func_print_prefixes(formatter, buffer, context)); + ZYAN_CHECK(formatter->func_print_mnemonic(formatter, buffer, context)); + + ZyanUPointer state_mnemonic; + ZYDIS_BUFFER_REMEMBER(buffer, state_mnemonic); + for (ZyanU8 i = 0; i < context->instruction->operand_count; ++i) + { + const ZydisDecodedOperand* const operand = &context->instruction->operands[i]; + + if (operand->visibility == ZYDIS_OPERAND_VISIBILITY_HIDDEN) + { + break; + } + + // Print embedded-mask registers as decorator instead of a regular operand + if ((i == 1) && (operand->type == ZYDIS_OPERAND_TYPE_REGISTER) && + (operand->encoding == ZYDIS_OPERAND_ENCODING_MASK)) + { + continue; + } + + ZyanUPointer buffer_state; + ZYDIS_BUFFER_REMEMBER(buffer, buffer_state); + + if (buffer_state != state_mnemonic) + { + ZYDIS_BUFFER_APPEND(buffer, DELIM_OPERAND); + } else + { + ZYDIS_BUFFER_APPEND(buffer, DELIM_MNEMONIC); + } + + // Set current operand + context->operand = operand; + + ZyanStatus status; + if (formatter->func_pre_operand) + { + status = formatter->func_pre_operand(formatter, buffer, context); + if (status == ZYDIS_STATUS_SKIP_TOKEN) + { + ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state)); + continue; + } + if (!ZYAN_SUCCESS(status)) + { + return status; + } + } + + switch (operand->type) + { + case ZYDIS_OPERAND_TYPE_REGISTER: + status = formatter->func_format_operand_reg(formatter, buffer, context); + break; + case ZYDIS_OPERAND_TYPE_MEMORY: + status = formatter->func_format_operand_mem(formatter, buffer, context); + break; + case ZYDIS_OPERAND_TYPE_POINTER: + status = formatter->func_format_operand_ptr(formatter, buffer, context); + break; + case ZYDIS_OPERAND_TYPE_IMMEDIATE: + status = formatter->func_format_operand_imm(formatter, buffer, context); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (status == ZYDIS_STATUS_SKIP_TOKEN) + { + ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state)); + continue; + } + if (!ZYAN_SUCCESS(status)) + { + return status; + } + + if (formatter->func_post_operand) + { + status = formatter->func_post_operand(formatter, buffer, context); + if (status == ZYDIS_STATUS_SKIP_TOKEN) + { + ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state)); + continue; + } + if (ZYAN_SUCCESS(status)) + { + return status; + } + } + +#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC) + if ((context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || + (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) + { + if ((i == 0) && + (context->instruction->operands[i + 1].encoding == ZYDIS_OPERAND_ENCODING_MASK)) + { + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_MASK)); + } + if (operand->type == ZYDIS_OPERAND_TYPE_MEMORY) + { + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_BC)); + if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX) + { + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_CONVERSION)); + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_EH)); + } + } else + { + // TODO: `sae` is displayed twice e.g. for `62 E30D1B 0A D3 A5` + // TODO: Checking the `operand_count` does not work for instructions with hidden operands + if ((i == (context->instruction->operand_count - 1)) || + (context->instruction->operands[i + 1].type == ZYDIS_OPERAND_TYPE_IMMEDIATE)) + { + if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX) + { + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_SWIZZLE)); + } + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_RC)); + ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context, + ZYDIS_DECORATOR_SAE)); + } + } + } +#endif + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterIntelFormatOperandMEM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + if (context->operand->mem.type == ZYDIS_MEMOP_TYPE_MEM) + { + ZYAN_CHECK(formatter->func_print_typecast(formatter, buffer, context)); + } + ZYAN_CHECK(formatter->func_print_segment(formatter, buffer, context)); + + ZYDIS_BUFFER_APPEND(buffer, MEMORY_BEGIN_INTEL); + + const ZyanBool absolute = !formatter->force_relative_riprel && + (context->runtime_address != ZYDIS_RUNTIME_ADDRESS_NONE); + if (absolute && context->operand->mem.disp.has_displacement && + (context->operand->mem.index == ZYDIS_REGISTER_NONE) && + ((context->operand->mem.base == ZYDIS_REGISTER_NONE) || + (context->operand->mem.base == ZYDIS_REGISTER_EIP ) || + (context->operand->mem.base == ZYDIS_REGISTER_RIP ))) + { + // EIP/RIP-relative or absolute-displacement address operand + ZYAN_CHECK(formatter->func_print_address_abs(formatter, buffer, context)); + } else + { + ZyanBool should_print_reg = context->operand->mem.base != ZYDIS_REGISTER_NONE; + ZyanBool should_print_idx = (context->operand->mem.index != ZYDIS_REGISTER_NONE) && + (context->operand->mem.type != ZYDIS_MEMOP_TYPE_MIB); + ZyanBool neither_reg_nor_idx = !should_print_reg && !should_print_idx; + + // Regular memory operand + if (should_print_reg) + { + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->operand->mem.base)); + } + if (should_print_idx) + { + if (context->operand->mem.base != ZYDIS_REGISTER_NONE) + { + ZYDIS_BUFFER_APPEND(buffer, ADD); + } + ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context, + context->operand->mem.index)); + if (context->operand->mem.scale) + { + ZYDIS_BUFFER_APPEND(buffer, MUL); + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE); + ZYAN_CHECK(ZydisStringAppendDecU(&buffer->string, context->operand->mem.scale, 0, + ZYAN_NULL, ZYAN_NULL)); + } + } + if (context->operand->mem.disp.has_displacement && (context->operand->mem.disp.value + || neither_reg_nor_idx)) + { + ZYAN_CHECK(formatter->func_print_disp(formatter, buffer, context)); + } + } + + ZYDIS_BUFFER_APPEND(buffer, MEMORY_END_INTEL); + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterIntelPrintMnemonic(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + const ZydisShortString* mnemonic = ZydisMnemonicGetStringWrapped( + context->instruction->mnemonic); + if (!mnemonic) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, INVALID_MNEMONIC, formatter->case_mnemonic); + return ZYAN_STATUS_SUCCESS; + } + + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_MNEMONIC); + ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, mnemonic, formatter->case_mnemonic)); + if (context->instruction->meta.branch_type == ZYDIS_BRANCH_TYPE_FAR) + { + return ZydisStringAppendShortCase(&buffer->string, &STR_FAR, formatter->case_mnemonic); + } + if (formatter->print_branch_size) + { + switch (context->instruction->meta.branch_type) + { + case ZYDIS_BRANCH_TYPE_NONE: + break; + case ZYDIS_BRANCH_TYPE_SHORT: + return ZydisStringAppendShortCase(&buffer->string, &STR_SHORT, + formatter->case_mnemonic); + case ZYDIS_BRANCH_TYPE_NEAR: + return ZydisStringAppendShortCase(&buffer->string, &STR_NEAR, + formatter->case_mnemonic); + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterIntelPrintRegister(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg) +{ + ZYAN_UNUSED(context); + + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + const ZydisShortString* str = ZydisRegisterGetStringWrapped(reg); + if (!str) + { + ZYDIS_BUFFER_APPEND_CASE(buffer, INVALID_REG, formatter->case_registers); + return ZYAN_STATUS_SUCCESS; + } + + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_REGISTER); + return ZydisStringAppendShortCase(&buffer->string, str, formatter->case_registers); +} + +ZyanStatus ZydisFormatterIntelPrintDISP(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + switch (formatter->disp_signedness) + { + case ZYDIS_SIGNEDNESS_AUTO: + case ZYDIS_SIGNEDNESS_SIGNED: + if (context->operand->mem.disp.value < 0) + { + if ((context->operand->mem.base != ZYDIS_REGISTER_NONE) || + (context->operand->mem.index != ZYDIS_REGISTER_NONE)) + { + ZYDIS_BUFFER_APPEND(buffer, SUB); + } + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_DISPLACEMENT); + ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->disp_base, &buffer->string, + ZyanAbsI64(context->operand->mem.disp.value), formatter->disp_padding); + break; + } + ZYAN_FALLTHROUGH; + case ZYDIS_SIGNEDNESS_UNSIGNED: + if ((context->operand->mem.base != ZYDIS_REGISTER_NONE) || + (context->operand->mem.index != ZYDIS_REGISTER_NONE)) + { + ZYDIS_BUFFER_APPEND(buffer, ADD); + } + ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_DISPLACEMENT); + ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->disp_base, &buffer->string, + context->operand->mem.disp.value, formatter->disp_padding); + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisFormatterIntelPrintTypecast(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + switch (ZydisFormatterHelperGetExplicitSize(formatter, context, context->operand->id)) + { + case 8: ZYDIS_BUFFER_APPEND(buffer, SIZE_8_INTEL ); break; + case 16: ZYDIS_BUFFER_APPEND(buffer, SIZE_16_INTEL ); break; + case 32: ZYDIS_BUFFER_APPEND(buffer, SIZE_32_INTEL ); break; + case 48: ZYDIS_BUFFER_APPEND(buffer, SIZE_48 ); break; + case 64: ZYDIS_BUFFER_APPEND(buffer, SIZE_64_INTEL ); break; + case 80: ZYDIS_BUFFER_APPEND(buffer, SIZE_80 ); break; + case 128: ZYDIS_BUFFER_APPEND(buffer, SIZE_128_INTEL); break; + case 256: ZYDIS_BUFFER_APPEND(buffer, SIZE_256_INTEL); break; + case 512: ZYDIS_BUFFER_APPEND(buffer, SIZE_512_INTEL); break; + default: + break; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* MASM */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisFormatterIntelFormatInstructionMASM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + // Force the formatter to always call our MASM `ZYDIS_FORMATTER_PRINT_ADDRESS_ABS` function. + // This implicitly omits printing of the `RIP`/`EIP` registers for `RIP`/`EIP`-relative + // memory operands + context->runtime_address = 0; + + return ZydisFormatterIntelFormatInstruction(formatter, buffer, context); +} + +ZyanStatus ZydisFormatterIntelPrintAddressMASM(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZYAN_ASSERT(formatter); + ZYAN_ASSERT(buffer); + ZYAN_ASSERT(context); + + ZyanU64 address; + ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, 0, &address)); + + ZyanU8 padding = (formatter->addr_padding_relative == + ZYDIS_PADDING_AUTO) ? 0 : (ZyanU8)formatter->addr_padding_relative; + if ((formatter->addr_padding_relative == ZYDIS_PADDING_AUTO) && + (formatter->addr_base == ZYDIS_NUMERIC_BASE_HEX)) + { + switch (context->instruction->stack_width) + { + case 16: + padding = 4; + address = (ZyanU16)address; + break; + case 32: + padding = 8; + address = (ZyanU32)address; + break; + case 64: + padding = 16; + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } + + ZYDIS_BUFFER_APPEND(buffer, ADDR_RELATIVE); + ZYDIS_STRING_APPEND_NUM_S(formatter, formatter->addr_base, &buffer->string, address, padding, + ZYAN_TRUE); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/Generated/AccessedFlags.inc b/externals/dynarmic/externals/zydis/src/Generated/AccessedFlags.inc new file mode 100755 index 000000000..7d1d1cad3 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/AccessedFlags.inc @@ -0,0 +1,77 @@ +#ifndef ZYDIS_MINIMAL_MODE +static const ZydisAccessedFlags ACCESSED_FLAGS[] = +{ + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED }, 0x0, 0x0, 0x0, 0xF }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED }, 0x0, 0x0, 0x0, 0xF }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED }, 0x0, 0x0, 0x0, 0xF }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED }, 0x0, 0x0, 0x0, 0xF }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x40000, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_1, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x40000, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x1000, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x800, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x800, 0x800, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x400, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x1400, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x400, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_1, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x400, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x1000, 0x80200, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x30200, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x21800, 0x74300, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x21000, 0xF4300, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x80, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x880, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x40, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED }, 0x40, 0x0, 0x0, 0xF }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x8C0, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x40, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x4, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED }, 0x4, 0x0, 0x0, 0xF }, + { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D4, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x1, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED }, 0x1, 0x0, 0x0, 0xF }, + { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x41, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED }, 0x41, 0x0, 0x0, 0xF }, + { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0xD5, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x3F5FD5, 0x0, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x1, 0x1, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x1, 0x801, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x11, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x1, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x1, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x1, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x801, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x41, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x440, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0xD5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x400, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x25000, 0x3F5FD5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x21000, 0x3D5FD5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x121000, 0x2D5FD5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x3F5FD5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x3D5FD5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x3F5FD5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x2 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x10, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x895, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x1, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_SET_1, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x1, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 }, + { { ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE }, 0x0, 0x8D5, 0x0, 0x0 } +}; +#endif diff --git a/externals/dynarmic/externals/zydis/src/Generated/DecoderTables.inc b/externals/dynarmic/externals/zydis/src/Generated/DecoderTables.inc new file mode 100755 index 000000000..38d73560c --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/DecoderTables.inc @@ -0,0 +1,6929 @@ +const ZydisDecoderTreeNode FILTERS_XOP[][13] = +{ + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x17), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x18), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_VEX[][17] = +{ + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x19), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x20), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x22), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x23) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x19), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x21), ZYDIS_INVALID, ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_EMVEX[][33] = +{ + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x154), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x8), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x12), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x13), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x14), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x15) } +}; + +const ZydisDecoderTreeNode FILTERS_OPCODE[][256] = +{ + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3), ZYDIS_DEFINITION(0x6, 0x22), ZYDIS_DEFINITION(0x7, 0x23), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7), ZYDIS_DEFINITION(0x3, 0x3E2), ZYDIS_DEFINITION(0x7, 0x3E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13F), ZYDIS_DEFINITION(0x6, 0xC), ZYDIS_DEFINITION(0x7, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x140), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x141), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x142), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x143), ZYDIS_DEFINITION(0x6, 0x635), ZYDIS_DEFINITION(0x7, 0x636), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x144), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x145), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x147), ZYDIS_DEFINITION(0x6, 0x50), ZYDIS_DEFINITION(0x7, 0x51), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x148), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x149), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14B), ZYDIS_DEFINITION(0x6, 0x6D9), ZYDIS_DEFINITION(0x7, 0x6DA), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x51), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14F), ZYDIS_DEFINITION(0x3, 0x75A), ZYDIS_DEFINITION(0x7, 0x75B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x150), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x151), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x152), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x153), ZYDIS_DEFINITION(0x6, 0xDE), ZYDIS_DEFINITION(0x7, 0xDF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x53), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x57), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x60), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x61), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x63), ZYDIS_DEFINITION(0x0, 0x5B7), ZYDIS_DEFINITION(0x0, 0x5B7), ZYDIS_DEFINITION(0x0, 0x5B7), ZYDIS_DEFINITION(0x0, 0x5B7), ZYDIS_DEFINITION(0x0, 0x5B7), ZYDIS_DEFINITION(0x0, 0x5B7), ZYDIS_DEFINITION(0x0, 0x5B7), ZYDIS_DEFINITION(0x0, 0x5B7), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x64), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x65), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EMVEX, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x7, 0x5B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36E), ZYDIS_DEFINITION(0x6, 0x5B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x90), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x91), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x92), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x93), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x94), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x95), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x96), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x97), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x98), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x99), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x370), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x371), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x372), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x373), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x374), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x375), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x376), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x377), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x378), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x379), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_XOP, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A4), ZYDIS_DEFINITION(0x0, 0x749), ZYDIS_DEFINITION(0x0, 0x749), ZYDIS_DEFINITION(0x0, 0x749), ZYDIS_DEFINITION(0x0, 0x749), ZYDIS_DEFINITION(0x0, 0x749), ZYDIS_DEFINITION(0x0, 0x749), ZYDIS_DEFINITION(0x0, 0x749), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB4), ZYDIS_DEFINITION(0x0, 0x1FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB6), ZYDIS_DEFINITION(0x0, 0x61E), ZYDIS_DEFINITION(0x0, 0x2B2), ZYDIS_DEFINITION(0x2, 0x301), ZYDIS_DEFINITION(0x2, 0x302), ZYDIS_DEFINITION(0x2, 0x303), ZYDIS_DEFINITION(0x2, 0x304), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A8), ZYDIS_DEFINITION(0x6, 0x6F9), ZYDIS_DEFINITION(0x7, 0x6FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AE), ZYDIS_DEFINITION(0x3, 0x305), ZYDIS_DEFINITION(0x3, 0x305), ZYDIS_DEFINITION(0x3, 0x305), ZYDIS_DEFINITION(0x3, 0x305), ZYDIS_DEFINITION(0x3, 0x305), ZYDIS_DEFINITION(0x3, 0x305), ZYDIS_DEFINITION(0x3, 0x305), ZYDIS_DEFINITION(0x3, 0x305), ZYDIS_DEFINITION(0x5, 0x306), ZYDIS_DEFINITION(0x5, 0x306), ZYDIS_DEFINITION(0x5, 0x306), ZYDIS_DEFINITION(0x5, 0x306), ZYDIS_DEFINITION(0x5, 0x306), ZYDIS_DEFINITION(0x5, 0x306), ZYDIS_DEFINITION(0x5, 0x306), ZYDIS_DEFINITION(0x5, 0x306), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D5), ZYDIS_DEFINITION(0x4, 0x5F2), ZYDIS_DEFINITION(0x0, 0x5F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VEX, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VEX, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BF), ZYDIS_DEFINITION(0x11, 0x169), ZYDIS_DEFINITION(0x0, 0x2B9), ZYDIS_DEFINITION(0x4, 0x5F4), ZYDIS_DEFINITION(0x0, 0x5F5), ZYDIS_DEFINITION(0x0, 0x245), ZYDIS_DEFINITION(0x3, 0x243), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x10B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x20), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x10D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x10E), ZYDIS_DEFINITION(0x0, 0x751), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6CB), ZYDIS_DEFINITION(0x8, 0x2D4), ZYDIS_DEFINITION(0x8, 0x2D3), ZYDIS_DEFINITION(0x8, 0x2D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x10F), ZYDIS_DEFINITION(0x3, 0x226), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x25), ZYDIS_DEFINITION(0x3, 0x3F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x26), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x110), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x111), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x112), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x113), ZYDIS_DEFINITION(0x0, 0x229), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x27), ZYDIS_DEFINITION(0x0, 0x3F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x28), ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x244), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x213), ZYDIS_DEFINITION(0x0, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6CD), ZYDIS_DEFINITION(0x0, 0xAA), ZYDIS_DEFINITION(0x0, 0x6BE), ZYDIS_DEFINITION(0x0, 0xB0), ZYDIS_DEFINITION(0x0, 0x6C1), ZYDIS_DEFINITION(0x0, 0xAB), ZYDIS_DEFINITION(0x0, 0x6BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6CF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x12), ZYDIS_DEFINITION(0x0, 0xB2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x13), ZYDIS_DEFINITION(0x0, 0x247), ZYDIS_DEFINITION(0x0, 0x735), ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x710), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC), ZYDIS_DEFINITION(0x0, 0x199), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_MPX, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_MPX, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x20), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x22), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x23), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E), ZYDIS_DEFINITION(0x0, 0x738), ZYDIS_DEFINITION(0x0, 0x5F0), ZYDIS_DEFINITION(0x0, 0x5E6), ZYDIS_DEFINITION(0x0, 0x5EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x24), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x25), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x3), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x125), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x37), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x38), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x39), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x40), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x41), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x42), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x43), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x44), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x45), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE9), ZYDIS_DEFINITION(0x0, 0x5BC), ZYDIS_DEFINITION(0x0, 0x510), ZYDIS_DEFINITION(0x0, 0x107), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEE), ZYDIS_DEFINITION(0x0, 0x5BD), ZYDIS_DEFINITION(0x0, 0x511), ZYDIS_DEFINITION(0x0, 0x618), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x100), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x101), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x102), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x103), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x104), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x105), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x106), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x107), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x108), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x109), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10B), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x110), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x111), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x112), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x113), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x114), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x115), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x116), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x117), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x118), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x119), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x120), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x121), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x122), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x123), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x124), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x125), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x126), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x127), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x128), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x129), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x130), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x131), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x132), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x133), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x134), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x135), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x136), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x137), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x138), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x139), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13B) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x70), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x71), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x72), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x73), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x74), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x75), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x76), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x77), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x78), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x79), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x80), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x81), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x82), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x83), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x84), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x85), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x86), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x87), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x88), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x89), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x90), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x91), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x92), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x93), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x94), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x95), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x96), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x97), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x98), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x99), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x155), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x156), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x157), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x158), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x159), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x160), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x161), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x162), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x163), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x164), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x165), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x166), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x167), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x168), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x169), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x170), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x171), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x172), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x173), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x175), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x176), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x177), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x178), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x179), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x180), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x181), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x182), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x183), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x184), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x185), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x186), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x187), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x188), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x189), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x190), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x191), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x192), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x193), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x194), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x195), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x196), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x197), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x198), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x199), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A3), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AA), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B3), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CB), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D1), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E4), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x200), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x201), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x202), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x203), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x204), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x205), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x206), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x207), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x208), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x209), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x210), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x211), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x212), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x213), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x214), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x215), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x216), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x217), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x218), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x219), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x220), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x221), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x222), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x223), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x224), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x225), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x226), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x227), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x228), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x229), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x230), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x231), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x232), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x233), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x234), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x235), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x236), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x237), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x238), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x239), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x240), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x241), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x242), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x243), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x244), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x245), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x246), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x247), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x248), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x249), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x250), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x251), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x252), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x253), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x254), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x255), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x256), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x257), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x258), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x259), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x260), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x261), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x262), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x263), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x264), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x265), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x266), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x267), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x268), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x269), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x270), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x271), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x272), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x273), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x274), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x275), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x276), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x277), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x278), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x279), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x280), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x281), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x282), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x283), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x284), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x285), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x286), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x287), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x288), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x289), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x290), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x291), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x292), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x293), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x294), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x295), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x296), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x297), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x298), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x299), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A7), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DC), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E2), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2ED), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FD), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x300), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x301), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x302), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x303), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x304), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x305), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x306), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x307), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x308), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x309), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x310), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x311), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x312), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x313), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x314), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x315), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x316), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x317), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x318), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x319), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x320), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x321), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x322), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x323), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x324), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x325), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x326), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x327), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x328), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x329), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x330), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x331), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x332), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x333), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x334), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x335), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x336), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x337), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x338), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x339), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x340), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x341), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x342), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x343), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x344), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x345), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x346), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x347), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x348), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x349), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x350), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x351), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x352), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x353), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x354), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x355), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x356), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x357), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x358), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x359), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x360), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x361), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x362), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x363), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x364), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x365), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x366), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x367), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x368), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x369), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x40), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x41), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x42), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x400), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x401), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x402), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x403), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x404), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x405), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x406), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x407), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x408), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x409), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x410), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x43), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x413), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x414), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x415), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x416), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x417), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x418), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x419), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x48), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x423), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x424), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x425), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x426), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x427), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x428), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x429), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x430), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x431), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x432), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x433), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x434), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x435), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x436), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x437), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x438), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x439), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x440), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x441), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x442), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x443), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x444), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x445), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x446), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x447), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x448), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x449), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x49), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x456), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x457), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x460), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x461), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x462), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x463), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x464), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x465), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x466), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x467), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x468), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x469), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x470), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x471), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x472), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x473), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x474), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x475), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x476), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x477), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x478), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x479), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x480), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x481), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x482), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x483), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x484), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x485), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x486), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x487), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x488), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x489), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x499), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A6), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C9), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4ED), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F0), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x500), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x501), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x502), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x503), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x504), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x505), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x506), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x507), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x508), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x509), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x510), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x511), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x512), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x513), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x31), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x516), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x517), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x518), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x519), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x32), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x35), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x522), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x523), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x524), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x525), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x526), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x527), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x528), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x529), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x530), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x531), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x532), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x533), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x534), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x535), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x536), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x537), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x538), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x539), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x540), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x541), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x542), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x602), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x603), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x543), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x544), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x545), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x546), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x547), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x548), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x549), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x550), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x551), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x552), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x553), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x554), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x555), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x556), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x557), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x558), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x559), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x560), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x561), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x562), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x563), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x564), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x565), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x566), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x567), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x568), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x569), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x645), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x646), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x651), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x652), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x570), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x571), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x657), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x658), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x572), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x573), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x574), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x575), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x576), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEE), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x577), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x672), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x673), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x674), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x675), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x578), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x579), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x50), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x580), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x682), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x581), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x36), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x583), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x584), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x585), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x586), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x587), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFB), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x696), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x697), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x698), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x699), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x588), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x589), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x58A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x58B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x58C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x51), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x58F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x590), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x591), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x592), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x37), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x38), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x595), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x596), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x597), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x598), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x599), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_MODE[][3] = +{ + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_COMPACT[][2] = +{ + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x5B3) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x50A) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x5B4) }, + { ZYDIS_DEFINITION(0x1, 0x6EB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x163), ZYDIS_DEFINITION(0x1, 0x164) }, + { ZYDIS_DEFINITION(0x1, 0x2F0), ZYDIS_DEFINITION(0x1, 0x2F1) }, + { ZYDIS_DEFINITION(0x1, 0x39A), ZYDIS_DEFINITION(0x1, 0x39B) }, + { ZYDIS_DEFINITION(0x1, 0x15F), ZYDIS_DEFINITION(0x1, 0x160) }, + { ZYDIS_DEFINITION(0x1, 0x161), ZYDIS_DEFINITION(0x1, 0x162) }, + { ZYDIS_DEFINITION(0x1, 0x2F2), ZYDIS_DEFINITION(0x1, 0x2F3) }, + { ZYDIS_DEFINITION(0x1, 0x39C), ZYDIS_DEFINITION(0x1, 0x39D) }, + { ZYDIS_DEFINITION(0x1, 0x5F6), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x553), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5F7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x66E), ZYDIS_DEFINITION(0x1, 0x66F) }, + { ZYDIS_DEFINITION(0x1, 0x6AE), ZYDIS_DEFINITION(0x1, 0x6AF) }, + { ZYDIS_DEFINITION(0x1, 0x2BD), ZYDIS_DEFINITION(0x1, 0x2BE) }, + { ZYDIS_DEFINITION(0x1, 0x2C0), ZYDIS_DEFINITION(0x1, 0x2C1) }, + { ZYDIS_DEFINITION(0x0, 0x6EC), ZYDIS_DEFINITION(0x0, 0x6ED) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x0), ZYDIS_DEFINITION(0x0, 0x6F4) }, + { ZYDIS_DEFINITION(0x1, 0x6C), ZYDIS_DEFINITION(0x1, 0x6E) }, + { ZYDIS_DEFINITION(0x1, 0x74), ZYDIS_DEFINITION(0x1, 0x76) }, + { ZYDIS_DEFINITION(0x1, 0x78), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1) }, + { ZYDIS_DEFINITION(0x1, 0x7D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2) }, + { ZYDIS_DEFINITION(0x1, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x3) }, + { ZYDIS_DEFINITION(0x1, 0x75), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x4) }, + { ZYDIS_DEFINITION(0x1, 0x70), ZYDIS_DEFINITION(0x1, 0x72) }, + { ZYDIS_DEFINITION(0x1, 0x82), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x5) }, + { ZYDIS_DEFINITION(0x1, 0x80), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x6) }, + { ZYDIS_DEFINITION(0x1, 0x7A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x7) }, + { ZYDIS_DEFINITION(0x1, 0x71), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1) }, + { ZYDIS_DEFINITION(0x10, 0x30B), ZYDIS_DEFINITION(0x10, 0x30C) }, + { ZYDIS_DEFINITION(0x10, 0x30D), ZYDIS_DEFINITION(0x10, 0x30E) }, + { ZYDIS_DEFINITION(0x10, 0x30F), ZYDIS_DEFINITION(0x10, 0x310) }, + { ZYDIS_DEFINITION(0x10, 0x311), ZYDIS_DEFINITION(0x10, 0x312) }, + { ZYDIS_DEFINITION(0x0, 0x6EE), ZYDIS_DEFINITION(0x0, 0x6EF) }, + { ZYDIS_DEFINITION(0x0, 0x6F0), ZYDIS_DEFINITION(0x0, 0x6F1) }, + { ZYDIS_DEFINITION(0x1, 0x248), ZYDIS_DEFINITION(0x1, 0x249) }, + { ZYDIS_DEFINITION(0x1, 0x250), ZYDIS_DEFINITION(0x1, 0x251) }, + { ZYDIS_DEFINITION(0x1, 0x24E), ZYDIS_DEFINITION(0x1, 0x24F) }, + { ZYDIS_DEFINITION(0x1, 0x32F), ZYDIS_DEFINITION(0x1, 0x330) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F), ZYDIS_DEFINITION(0x1, 0x31F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20), ZYDIS_DEFINITION(0x1, 0x323) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21), ZYDIS_DEFINITION(0x1, 0x320) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22), ZYDIS_DEFINITION(0x1, 0x324) }, + { ZYDIS_DEFINITION(0x1, 0x728), ZYDIS_DEFINITION(0x1, 0x72A) }, + { ZYDIS_DEFINITION(0x1, 0x729), ZYDIS_DEFINITION(0x1, 0x72B) }, + { ZYDIS_DEFINITION(0x1, 0x72F), ZYDIS_DEFINITION(0x1, 0x731) }, + { ZYDIS_DEFINITION(0x1, 0x730), ZYDIS_DEFINITION(0x1, 0x732) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23), ZYDIS_DEFINITION(0x1, 0x327) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24), ZYDIS_DEFINITION(0x1, 0x32B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25), ZYDIS_DEFINITION(0x1, 0x328) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26), ZYDIS_DEFINITION(0x1, 0x32C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x0), ZYDIS_DEFINITION(0x9, 0x2A1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x1), ZYDIS_DEFINITION(0x9, 0x28D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x2), ZYDIS_DEFINITION(0x9, 0x259) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x3), ZYDIS_DEFINITION(0x9, 0x279) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x4), ZYDIS_DEFINITION(0x9, 0x2B1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x5), ZYDIS_DEFINITION(0x9, 0x29C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x6), ZYDIS_DEFINITION(0x9, 0x25E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x7), ZYDIS_DEFINITION(0x9, 0x27E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x8), ZYDIS_DEFINITION(0x9, 0x2AC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x9), ZYDIS_DEFINITION(0x9, 0x297) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xA), ZYDIS_DEFINITION(0x9, 0x2A6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xB), ZYDIS_DEFINITION(0x9, 0x292) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xC), ZYDIS_DEFINITION(0x9, 0x266) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xD), ZYDIS_DEFINITION(0x9, 0x283) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xE), ZYDIS_DEFINITION(0x9, 0x26B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xF), ZYDIS_DEFINITION(0x9, 0x288) }, + { ZYDIS_DEFINITION(0x1, 0x5E4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5E5), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x736), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x737), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5E7), ZYDIS_DEFINITION(0x1, 0x5E8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F), ZYDIS_DEFINITION(0x1, 0x102) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x5B5) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x50B) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x5B6) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x50C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x147) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x148) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x0) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x3) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x60), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x61) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x63), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x64) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x90) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x267), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x268) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x289), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x310), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x311) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x313), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x314) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x318), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x319) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x363), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x364) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x366), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x367) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x369), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x370) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x372), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x373) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x391), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x392) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x394), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x395) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x398), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x399) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39C) }, + { ZYDIS_DEFINITION(0x1, 0x37E), ZYDIS_DEFINITION(0x1, 0x62) }, + { ZYDIS_DEFINITION(0x1, 0x37F), ZYDIS_DEFINITION(0x1, 0x63) }, + { ZYDIS_DEFINITION(0x8, 0x29D), ZYDIS_DEFINITION(0x8, 0x29E) }, + { ZYDIS_DEFINITION(0x8, 0x289), ZYDIS_DEFINITION(0x8, 0x28A) }, + { ZYDIS_DEFINITION(0x8, 0x255), ZYDIS_DEFINITION(0x8, 0x256) }, + { ZYDIS_DEFINITION(0x8, 0x275), ZYDIS_DEFINITION(0x8, 0x276) }, + { ZYDIS_DEFINITION(0x8, 0x2AD), ZYDIS_DEFINITION(0x8, 0x2AE) }, + { ZYDIS_DEFINITION(0x8, 0x298), ZYDIS_DEFINITION(0x8, 0x299) }, + { ZYDIS_DEFINITION(0x8, 0x25A), ZYDIS_DEFINITION(0x8, 0x25B) }, + { ZYDIS_DEFINITION(0x8, 0x27A), ZYDIS_DEFINITION(0x8, 0x27B) }, + { ZYDIS_DEFINITION(0x8, 0x2A8), ZYDIS_DEFINITION(0x8, 0x2A9) }, + { ZYDIS_DEFINITION(0x8, 0x293), ZYDIS_DEFINITION(0x8, 0x294) }, + { ZYDIS_DEFINITION(0x8, 0x2A2), ZYDIS_DEFINITION(0x8, 0x2A3) }, + { ZYDIS_DEFINITION(0x8, 0x28E), ZYDIS_DEFINITION(0x8, 0x28F) }, + { ZYDIS_DEFINITION(0x8, 0x262), ZYDIS_DEFINITION(0x8, 0x263) }, + { ZYDIS_DEFINITION(0x8, 0x27F), ZYDIS_DEFINITION(0x8, 0x280) }, + { ZYDIS_DEFINITION(0x8, 0x267), ZYDIS_DEFINITION(0x8, 0x268) }, + { ZYDIS_DEFINITION(0x8, 0x284), ZYDIS_DEFINITION(0x8, 0x285) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x28) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x3E8) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x12) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x63B) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x56) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x6DF) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x760) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0xE4) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x29) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x3E9) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x13) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x63C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x57) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x6E0) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x761) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0xE5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D1) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x12, 0x9F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x10) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x423), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x424), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x400), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x401), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x436), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x437), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x424), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x425) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x427), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x428) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x429), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x436), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x437), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x438), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x439), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x440) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x441), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x442) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x443), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x444) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x445), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x446) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x447), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x448) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x449), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x617), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x618) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x640) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x664), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x665) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x666), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x667) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x668), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x669) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x680), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x681), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x685), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x686), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x687), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x688), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x689) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x690), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x691) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x692), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x693) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x694), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x695) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BC) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2B7) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x246) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x3, 0x2) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x3, 0x1) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x61F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x39), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x3A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x10), ZYDIS_DEFINITION(0x9, 0xA2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x11), ZYDIS_DEFINITION(0x9, 0x26E) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x12, 0x26F) }, + { ZYDIS_DEFINITION(0x8, 0x270), ZYDIS_DEFINITION(0x8, 0x271) } +}; + +const ZydisDecoderTreeNode FILTERS_PREFIX_GROUP1[][2] = +{ + { ZYDIS_DEFINITION(0x1, 0x31B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9D) }, + { ZYDIS_DEFINITION(0x1, 0x31C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x17), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x133) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x22), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x144) } +}; + +const ZydisDecoderTreeNode FILTERS_MODRM_MOD[][4] = +{ + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_MODRM_MOD_COMPACT[][2] = +{ + { ZYDIS_DEFINITION(0x1, 0x1A), ZYDIS_DEFINITION(0x1, 0x1B) }, + { ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, + { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F) }, + { ZYDIS_DEFINITION(0x1, 0x20), ZYDIS_DEFINITION(0x1, 0x21) }, + { ZYDIS_DEFINITION(0x1, 0x3DA), ZYDIS_DEFINITION(0x1, 0x3DB) }, + { ZYDIS_DEFINITION(0x1, 0x3DC), ZYDIS_DEFINITION(0x1, 0x3DD) }, + { ZYDIS_DEFINITION(0x1, 0x3DE), ZYDIS_DEFINITION(0x1, 0x3DF) }, + { ZYDIS_DEFINITION(0x1, 0x3E0), ZYDIS_DEFINITION(0x1, 0x3E1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1) }, + { ZYDIS_DEFINITION(0x1, 0x2B3), ZYDIS_DEFINITION(0x1, 0x2B4) }, + { ZYDIS_DEFINITION(0x1, 0x2D5), ZYDIS_DEFINITION(0x1, 0x2D6) }, + { ZYDIS_DEFINITION(0x1, 0x3A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x8) }, + { ZYDIS_DEFINITION(0x1, 0x2A), ZYDIS_DEFINITION(0x1, 0x2B) }, + { ZYDIS_DEFINITION(0x1, 0x28), ZYDIS_DEFINITION(0x1, 0x29) }, + { ZYDIS_DEFINITION(0x1, 0x4), ZYDIS_DEFINITION(0x1, 0x5) }, + { ZYDIS_DEFINITION(0x1, 0x2), ZYDIS_DEFINITION(0x1, 0x3) }, + { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19) }, + { ZYDIS_DEFINITION(0x1, 0x1A), ZYDIS_DEFINITION(0x1, 0x1B) }, + { ZYDIS_DEFINITION(0x1, 0xC), ZYDIS_DEFINITION(0x1, 0xD) }, + { ZYDIS_DEFINITION(0x1, 0x14), ZYDIS_DEFINITION(0x1, 0x15) }, + { ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, + { ZYDIS_DEFINITION(0x1, 0x22), ZYDIS_DEFINITION(0x1, 0x23) }, + { ZYDIS_DEFINITION(0x1, 0x24), ZYDIS_DEFINITION(0x1, 0x25) }, + { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, + { ZYDIS_DEFINITION(0x1, 0xE), ZYDIS_DEFINITION(0x1, 0xF) }, + { ZYDIS_DEFINITION(0x1, 0x12), ZYDIS_DEFINITION(0x1, 0x13) }, + { ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_DEFINITION(0x1, 0x11) }, + { ZYDIS_DEFINITION(0x1, 0x20), ZYDIS_DEFINITION(0x1, 0x21) }, + { ZYDIS_DEFINITION(0x1, 0x26), ZYDIS_DEFINITION(0x1, 0x27) }, + { ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, + { ZYDIS_DEFINITION(0x1, 0xA), ZYDIS_DEFINITION(0x1, 0xB) }, + { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, + { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F) }, + { ZYDIS_DEFINITION(0x1, 0x2C), ZYDIS_DEFINITION(0x1, 0x2D) }, + { ZYDIS_DEFINITION(0x1, 0x2E), ZYDIS_DEFINITION(0x1, 0x2F) }, + { ZYDIS_DEFINITION(0x1, 0x0), ZYDIS_DEFINITION(0x1, 0x1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xA) }, + { ZYDIS_DEFINITION(0x1, 0x3B0), ZYDIS_DEFINITION(0x1, 0x3B1) }, + { ZYDIS_DEFINITION(0x1, 0x3B2), ZYDIS_DEFINITION(0x1, 0x3B3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11) }, + { ZYDIS_DEFINITION(0x1, 0x3B5), ZYDIS_DEFINITION(0x1, 0x3B6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13) }, + { ZYDIS_DEFINITION(0x1, 0x3B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CLDEMOTE, 0x0) }, + { ZYDIS_DEFINITION(0x1, 0x3BB), ZYDIS_DEFINITION(0x1, 0x3BC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15), ZYDIS_DEFINITION(0x1, 0x3BD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x20) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x22) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x23), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x24) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x26), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x27) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x28), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x29) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x30), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x31) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x32), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x33) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x35) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x37) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x38), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x39) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x40), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x41) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x42), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x43) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x44), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x45) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x47) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x49) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x51) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x53) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x55) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x57) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x59) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x60) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x61), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x62) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x63), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x64) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x65), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x66) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x67), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x68) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x69), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x70) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x71), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x72) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x73), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x74) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x75), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x76) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x77), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x78) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x79), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x80) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x81) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x82) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x83) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x84), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x85) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x86), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x87) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x88), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x89) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x90), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x91) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x92), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x93) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x94), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x95) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x96), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x97) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x98), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x99) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1, 0x0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1, 0x1) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDA) }, + { ZYDIS_DEFINITION(0x1, 0xCE), ZYDIS_DEFINITION(0x1, 0xCF) }, + { ZYDIS_DEFINITION(0x1, 0xC6), ZYDIS_DEFINITION(0x1, 0xC7) }, + { ZYDIS_DEFINITION(0x1, 0xB6), ZYDIS_DEFINITION(0x1, 0xB7) }, + { ZYDIS_DEFINITION(0x1, 0xBE), ZYDIS_DEFINITION(0x1, 0xBF) }, + { ZYDIS_DEFINITION(0x1, 0xD4), ZYDIS_DEFINITION(0x1, 0xD5) }, + { ZYDIS_DEFINITION(0x1, 0xCC), ZYDIS_DEFINITION(0x1, 0xCD) }, + { ZYDIS_DEFINITION(0x1, 0xB8), ZYDIS_DEFINITION(0x1, 0xB9) }, + { ZYDIS_DEFINITION(0x1, 0xC0), ZYDIS_DEFINITION(0x1, 0xC1) }, + { ZYDIS_DEFINITION(0x1, 0xD2), ZYDIS_DEFINITION(0x1, 0xD3) }, + { ZYDIS_DEFINITION(0x1, 0xCA), ZYDIS_DEFINITION(0x1, 0xCB) }, + { ZYDIS_DEFINITION(0x1, 0xD0), ZYDIS_DEFINITION(0x1, 0xD1) }, + { ZYDIS_DEFINITION(0x1, 0xC8), ZYDIS_DEFINITION(0x1, 0xC9) }, + { ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xBB) }, + { ZYDIS_DEFINITION(0x1, 0xC2), ZYDIS_DEFINITION(0x1, 0xC3) }, + { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_DEFINITION(0x1, 0xBD) }, + { ZYDIS_DEFINITION(0x1, 0xC4), ZYDIS_DEFINITION(0x1, 0xC5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xED) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x100), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x101) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x102), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x103) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x104), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x105) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x106), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x107) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x108), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x109) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x110), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x111) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x112), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x113) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x114), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x115) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x116), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x117) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x118), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x119) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x120) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x121), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x122) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x123), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x124) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x126), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x127) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x128), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x129) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x130), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x131) }, + { ZYDIS_DEFINITION(0x1, 0x664), ZYDIS_DEFINITION(0x1, 0x665) }, + { ZYDIS_DEFINITION(0x1, 0x65C), ZYDIS_DEFINITION(0x1, 0x65D) }, + { ZYDIS_DEFINITION(0x1, 0x64C), ZYDIS_DEFINITION(0x1, 0x64D) }, + { ZYDIS_DEFINITION(0x1, 0x654), ZYDIS_DEFINITION(0x1, 0x655) }, + { ZYDIS_DEFINITION(0x1, 0x66B), ZYDIS_DEFINITION(0x1, 0x66C) }, + { ZYDIS_DEFINITION(0x1, 0x662), ZYDIS_DEFINITION(0x1, 0x663) }, + { ZYDIS_DEFINITION(0x1, 0x64E), ZYDIS_DEFINITION(0x1, 0x64F) }, + { ZYDIS_DEFINITION(0x1, 0x656), ZYDIS_DEFINITION(0x1, 0x657) }, + { ZYDIS_DEFINITION(0x1, 0x668), ZYDIS_DEFINITION(0x1, 0x669) }, + { ZYDIS_DEFINITION(0x1, 0x660), ZYDIS_DEFINITION(0x1, 0x661) }, + { ZYDIS_DEFINITION(0x1, 0x666), ZYDIS_DEFINITION(0x1, 0x667) }, + { ZYDIS_DEFINITION(0x1, 0x65E), ZYDIS_DEFINITION(0x1, 0x65F) }, + { ZYDIS_DEFINITION(0x1, 0x650), ZYDIS_DEFINITION(0x1, 0x651) }, + { ZYDIS_DEFINITION(0x1, 0x658), ZYDIS_DEFINITION(0x1, 0x659) }, + { ZYDIS_DEFINITION(0x1, 0x652), ZYDIS_DEFINITION(0x1, 0x653) }, + { ZYDIS_DEFINITION(0x1, 0x65A), ZYDIS_DEFINITION(0x1, 0x65B) }, + { ZYDIS_DEFINITION(0x1, 0x8F), ZYDIS_DEFINITION(0x1, 0x90) }, + { ZYDIS_DEFINITION(0xB, 0x696), ZYDIS_DEFINITION(0xB, 0x697) }, + { ZYDIS_DEFINITION(0x1, 0x698), ZYDIS_DEFINITION(0x1, 0x699) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x132), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1, 0x2), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x9B), ZYDIS_DEFINITION(0x1, 0x9C) }, + { ZYDIS_DEFINITION(0xB, 0x6A6), ZYDIS_DEFINITION(0xB, 0x6A7) }, + { ZYDIS_DEFINITION(0x1, 0x6A8), ZYDIS_DEFINITION(0x1, 0x6A9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x134), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x135) }, + { ZYDIS_DEFINITION(0x1, 0x224), ZYDIS_DEFINITION(0x1, 0x225) }, + { ZYDIS_DEFINITION(0x1, 0xFC), ZYDIS_DEFINITION(0x1, 0xFD) }, + { ZYDIS_DEFINITION(0x1, 0xFE), ZYDIS_DEFINITION(0x1, 0xFF) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2D7) }, + { ZYDIS_DEFINITION(0x1, 0x97), ZYDIS_DEFINITION(0x1, 0x98) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BC) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BF) }, + { ZYDIS_DEFINITION(0x1, 0x388), ZYDIS_DEFINITION(0x1, 0x389) }, + { ZYDIS_DEFINITION(0x1, 0x38A), ZYDIS_DEFINITION(0x1, 0x38B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x136), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x137) }, + { ZYDIS_DEFINITION(0x1, 0x70E), ZYDIS_DEFINITION(0x1, 0x70F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x20), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x21) }, + { ZYDIS_DEFINITION(0x1, 0x95), ZYDIS_DEFINITION(0x1, 0x96) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x138), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x139) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13B) }, + { ZYDIS_DEFINITION(0x1, 0x37A), ZYDIS_DEFINITION(0x1, 0x37B) }, + { ZYDIS_DEFINITION(0x1, 0x37C), ZYDIS_DEFINITION(0x1, 0x37D) }, + { ZYDIS_DEFINITION(0x1, 0x73F), ZYDIS_DEFINITION(0x1, 0x740) }, + { ZYDIS_DEFINITION(0x1, 0x741), ZYDIS_DEFINITION(0x1, 0x742) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x140) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x141), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x142), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x143) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1, 0x3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x145) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x147) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x148), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x149) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x150), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x151) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x152), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x153) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x154), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x155), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x156) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x157), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x158) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x159), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x160) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x161), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x162) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x163), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x164) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x165), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x166) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x167), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x168) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x169), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x170) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x171), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x172) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x173) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x175) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x176), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x177) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x178), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x179) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x180), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x181) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x182), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x183) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x184) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x185), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x186) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x187), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x188) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x189), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x190) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x191), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x192), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x193) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x194), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x195) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x196), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x197) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x198), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x199) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19F) }, + { ZYDIS_DEFINITION(0x1, 0x70C), ZYDIS_DEFINITION(0x1, 0x70D) }, + { ZYDIS_DEFINITION(0x1, 0x4), ZYDIS_DEFINITION(0x1, 0x5) }, + { ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, + { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, + { ZYDIS_DEFINITION(0x1, 0xA), ZYDIS_DEFINITION(0x1, 0xB) }, + { ZYDIS_DEFINITION(0x1, 0x62D), ZYDIS_DEFINITION(0x1, 0x62E) }, + { ZYDIS_DEFINITION(0x1, 0x62F), ZYDIS_DEFINITION(0x1, 0x630) }, + { ZYDIS_DEFINITION(0x1, 0x631), ZYDIS_DEFINITION(0x1, 0x632) }, + { ZYDIS_DEFINITION(0x1, 0x633), ZYDIS_DEFINITION(0x1, 0x634) }, + { ZYDIS_DEFINITION(0x1, 0x48), ZYDIS_DEFINITION(0x1, 0x49) }, + { ZYDIS_DEFINITION(0x1, 0x4A), ZYDIS_DEFINITION(0x1, 0x4B) }, + { ZYDIS_DEFINITION(0x1, 0x4C), ZYDIS_DEFINITION(0x1, 0x4D) }, + { ZYDIS_DEFINITION(0x1, 0x4E), ZYDIS_DEFINITION(0x1, 0x4F) }, + { ZYDIS_DEFINITION(0x1, 0x6D1), ZYDIS_DEFINITION(0x1, 0x6D2) }, + { ZYDIS_DEFINITION(0x1, 0x6D3), ZYDIS_DEFINITION(0x1, 0x6D4) }, + { ZYDIS_DEFINITION(0x1, 0x6D5), ZYDIS_DEFINITION(0x1, 0x6D6) }, + { ZYDIS_DEFINITION(0x1, 0x6D7), ZYDIS_DEFINITION(0x1, 0x6D8) }, + { ZYDIS_DEFINITION(0x1, 0x752), ZYDIS_DEFINITION(0x1, 0x753) }, + { ZYDIS_DEFINITION(0x1, 0x754), ZYDIS_DEFINITION(0x1, 0x755) }, + { ZYDIS_DEFINITION(0x1, 0x756), ZYDIS_DEFINITION(0x1, 0x757) }, + { ZYDIS_DEFINITION(0x1, 0x758), ZYDIS_DEFINITION(0x1, 0x759) }, + { ZYDIS_DEFINITION(0x1, 0xD6), ZYDIS_DEFINITION(0x1, 0xD7) }, + { ZYDIS_DEFINITION(0x1, 0xD8), ZYDIS_DEFINITION(0x1, 0xD9) }, + { ZYDIS_DEFINITION(0x1, 0xDA), ZYDIS_DEFINITION(0x1, 0xDB) }, + { ZYDIS_DEFINITION(0x1, 0xDC), ZYDIS_DEFINITION(0x1, 0xDD) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x66) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x60), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x61) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x63) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x64), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x65) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x66), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x67) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x68), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x69) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x70) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x71) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x72), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x73) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x74), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x75) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x76) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x77) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x78), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x79) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x80) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x81), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x82) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x83), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x84) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x85), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x86) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x87), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x88) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x89), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x90) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x91), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x92) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x93), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x94) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x95), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x96) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x97), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x98) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x99), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x49), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x51) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x53) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x56) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x57), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x58) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x28), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x29) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x80), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x81) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x96), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x97) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x98), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDC) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xED) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x100), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x101) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x102), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x103) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x104) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x105) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x106), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x107) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x108), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x109) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x111), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x112) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x113), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x114) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x115), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x116) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x117), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x118) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x119), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x110), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x111) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x112), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x113) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x114) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x115), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x116) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x117), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x118) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x119), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x130) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x131), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x132) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x133), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x134) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x135), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x136) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x120) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x121), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x122) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x140), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x141) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x123), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x124) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x144), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x145) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x125), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x126) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x148), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x149) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x127), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x128) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x129), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x130) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x131), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x132) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x133), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x134) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x135), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x136) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x137), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x138) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x139), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x140) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x141), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x142) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x143), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x144) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x145), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x146) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x147), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x148) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x149), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x150) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x151), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x152) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x153), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x154) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x155), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x156) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x157), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x158) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x159), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x160) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x161), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x162) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x163), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x164) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x165), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x166) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x167), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x168) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x169), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x170), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x171) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x172), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x173) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x175) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x176), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x177) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x178), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x179) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x180), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x181) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x182), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x183) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x16) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x17) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x18) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x19) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x188), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x189) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x190), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x191) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x192), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x193) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x194), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x195) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x196), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x197) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x198), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x199) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CD) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x250), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x251) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x252), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x253) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1ED) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x260), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x261) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x262), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x263) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x264), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x265) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x200), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x201) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x202), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x203) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x284), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x285) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x204), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x205) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x206), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x207) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x208), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x209) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x210), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x211) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x212), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x213) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x214), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x215) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x216), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x217) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x218), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x219) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x220), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x221) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x222), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x223) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x224), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x225) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x226), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x227) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x228), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x229) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x230), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x231) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x232), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x233) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x234), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x235) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x236), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x237) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x238), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x239) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x240), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x241) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x242), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x243) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x244), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x245) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x246), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x247) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x248), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x249) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x250), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x251) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x252), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x253) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x254), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x255) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x256), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x257) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x258), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x259) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x307), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x308) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x260), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x261) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x262), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x263) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x264), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x265) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x266), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x267) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x268), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x269) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x270), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x271) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x272), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x273) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x274), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x275) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x276), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x277) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x278), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x279) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x280), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x281) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x282), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x283) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x284), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x285) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x286), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x287) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x288), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x289) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x290) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x291), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x292) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x293), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x294) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x295), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x296) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x297), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x298) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x299), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x388), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x389) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CB) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CC) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D1) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D4) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D5) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x30) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D7) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E4) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E5) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EC) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2ED) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x32) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x302), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x303) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x304) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x305), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x306) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x307), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x308) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x309), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x310) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x311), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x312) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x313) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x314) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x315) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x316) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x317), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x318) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x319), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x320) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x321), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x322) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x323), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x324) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x325), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x326) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x327), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x328) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x329), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x330) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x331), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x332) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x333), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x334) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x335), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x336) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x337) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x338) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x339) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x340) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x341), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x342) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x343), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x344) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x345), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x346) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x347), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x348) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x349), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x350) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x351), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x352) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x353), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x354) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x355), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x356) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x26) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x27) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x359), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x360) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x28) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x29) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x363), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x364) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x365), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x366) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x367), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x368) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x369), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x370) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x371), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x372) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x373), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x374) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x375), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x376) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x377), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x378) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x33) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x380) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x381), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x382) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x383), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x384) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x385), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x386) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x387), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x388) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x389), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x390) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x391), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x392) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x393), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x394) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x395), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x396) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x397), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x398) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x399), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A1) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x34) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A4) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x35) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x88), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x89) }, + { ZYDIS_DEFINITION(0xE, 0x21C), ZYDIS_DEFINITION(0xE, 0x21D) }, + { ZYDIS_DEFINITION(0xD, 0x21E), ZYDIS_DEFINITION(0xD, 0x21F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x37) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x38), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x39) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3D) }, + { ZYDIS_DEFINITION(0x1, 0x6F5), ZYDIS_DEFINITION(0x1, 0x6F6) }, + { ZYDIS_DEFINITION(0x1, 0x6F7), ZYDIS_DEFINITION(0x1, 0x6F8) }, + { ZYDIS_DEFINITION(0x1, 0x744), ZYDIS_DEFINITION(0x1, 0x745) }, + { ZYDIS_DEFINITION(0x1, 0x746), ZYDIS_DEFINITION(0x1, 0x747) }, + { ZYDIS_DEFINITION(0x1, 0x2F5), ZYDIS_DEFINITION(0x1, 0x2F6) }, + { ZYDIS_DEFINITION(0x1, 0x2F7), ZYDIS_DEFINITION(0x1, 0x2F8) }, + { ZYDIS_DEFINITION(0x1, 0x2F9), ZYDIS_DEFINITION(0x1, 0x2FA) }, + { ZYDIS_DEFINITION(0x1, 0x2FB), ZYDIS_DEFINITION(0x1, 0x2FC) }, + { ZYDIS_DEFINITION(0x1, 0x2FD), ZYDIS_DEFINITION(0x1, 0x2FE) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2B8) }, + { ZYDIS_DEFINITION(0x1, 0x2FF), ZYDIS_DEFINITION(0x1, 0x300) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DE) }, + { ZYDIS_DEFINITION(0x1, 0x4), ZYDIS_DEFINITION(0x1, 0x5) }, + { ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, + { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19) }, + { ZYDIS_DEFINITION(0x1, 0x1A), ZYDIS_DEFINITION(0x1, 0x1B) }, + { ZYDIS_DEFINITION(0x1, 0x14), ZYDIS_DEFINITION(0x1, 0x15) }, + { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, + { ZYDIS_DEFINITION(0x1, 0x2A), ZYDIS_DEFINITION(0x1, 0x2B) }, + { ZYDIS_DEFINITION(0x1, 0x2C), ZYDIS_DEFINITION(0x1, 0x2D) }, + { ZYDIS_DEFINITION(0x1, 0xC), ZYDIS_DEFINITION(0x1, 0xD) }, + { ZYDIS_DEFINITION(0x1, 0xE), ZYDIS_DEFINITION(0x1, 0xF) }, + { ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, + { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F) }, + { ZYDIS_DEFINITION(0x1, 0x26), ZYDIS_DEFINITION(0x1, 0x27) }, + { ZYDIS_DEFINITION(0x1, 0x28), ZYDIS_DEFINITION(0x1, 0x29) }, + { ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_DEFINITION(0x1, 0x11) }, + { ZYDIS_DEFINITION(0x1, 0x12), ZYDIS_DEFINITION(0x1, 0x13) }, + { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, + { ZYDIS_DEFINITION(0x1, 0xA), ZYDIS_DEFINITION(0x1, 0xB) }, + { ZYDIS_DEFINITION(0x1, 0x20), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x25), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x400) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x401), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x402) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x403), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x404) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x405), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x406) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x407), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x408) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x409), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x410) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x411), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x412) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x413), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x414) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x415), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x416) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x417), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x418) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x419), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x420) }, + { ZYDIS_DEFINITION(0xC, 0x0), ZYDIS_DEFINITION(0xC, 0x1) }, + { ZYDIS_DEFINITION(0xC, 0x2), ZYDIS_DEFINITION(0xC, 0x3) }, + { ZYDIS_DEFINITION(0xC, 0x21), ZYDIS_DEFINITION(0xC, 0x22) }, + { ZYDIS_DEFINITION(0xC, 0x23), ZYDIS_DEFINITION(0xC, 0x24) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x44), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x45) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x47) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB7) }, + { ZYDIS_DEFINITION(0x1, 0x379), ZYDIS_DEFINITION(0x1, 0x37B) }, + { ZYDIS_DEFINITION(0x1, 0x37A), ZYDIS_DEFINITION(0x1, 0x37C) }, + { ZYDIS_DEFINITION(0x1, 0x37D), ZYDIS_DEFINITION(0x1, 0x37F) }, + { ZYDIS_DEFINITION(0x1, 0x37E), ZYDIS_DEFINITION(0x1, 0x380) }, + { ZYDIS_DEFINITION(0x1, 0x343), ZYDIS_DEFINITION(0x1, 0x34B) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34C) }, + { ZYDIS_DEFINITION(0x1, 0x63B), ZYDIS_DEFINITION(0x1, 0x63D) }, + { ZYDIS_DEFINITION(0x1, 0x63C), ZYDIS_DEFINITION(0x1, 0x63E) }, + { ZYDIS_DEFINITION(0x1, 0x633), ZYDIS_DEFINITION(0x1, 0x635) }, + { ZYDIS_DEFINITION(0x1, 0x634), ZYDIS_DEFINITION(0x1, 0x636) }, + { ZYDIS_DEFINITION(0x1, 0x348), ZYDIS_DEFINITION(0x1, 0x346) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x347) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x539) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x532) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x533) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x534) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x538) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x535) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x536) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x537) }, + { ZYDIS_DEFINITION(0x1, 0x31F), ZYDIS_DEFINITION(0x1, 0x321) }, + { ZYDIS_DEFINITION(0x1, 0x320), ZYDIS_DEFINITION(0x1, 0x322) }, + { ZYDIS_DEFINITION(0x1, 0x323), ZYDIS_DEFINITION(0x1, 0x325) }, + { ZYDIS_DEFINITION(0x1, 0x324), ZYDIS_DEFINITION(0x1, 0x326) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x357) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x358) }, + { ZYDIS_DEFINITION(0x1, 0x62D), ZYDIS_DEFINITION(0x1, 0x62E) }, + { ZYDIS_DEFINITION(0x1, 0x11F), ZYDIS_DEFINITION(0x1, 0x120) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x425), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x426), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x427), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x428), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x429), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x430), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x431), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x432), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x433), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x434), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x435), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x34F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x350), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x60E), ZYDIS_DEFINITION(0x1, 0x610) }, + { ZYDIS_DEFINITION(0x1, 0x60F), ZYDIS_DEFINITION(0x1, 0x611) }, + { ZYDIS_DEFINITION(0x1, 0x5FC), ZYDIS_DEFINITION(0x1, 0x5FE) }, + { ZYDIS_DEFINITION(0x1, 0x5FD), ZYDIS_DEFINITION(0x1, 0x5FF) }, + { ZYDIS_DEFINITION(0x1, 0x5EA), ZYDIS_DEFINITION(0x1, 0x5EC) }, + { ZYDIS_DEFINITION(0x1, 0x5EB), ZYDIS_DEFINITION(0x1, 0x5ED) }, + { ZYDIS_DEFINITION(0x1, 0xF5), ZYDIS_DEFINITION(0x1, 0xF7) }, + { ZYDIS_DEFINITION(0x1, 0xF6), ZYDIS_DEFINITION(0x1, 0xF8) }, + { ZYDIS_DEFINITION(0x1, 0xED), ZYDIS_DEFINITION(0x1, 0xEF) }, + { ZYDIS_DEFINITION(0x1, 0xEE), ZYDIS_DEFINITION(0x1, 0xF0) }, + { ZYDIS_DEFINITION(0x1, 0x395), ZYDIS_DEFINITION(0x1, 0x397) }, + { ZYDIS_DEFINITION(0x1, 0x396), ZYDIS_DEFINITION(0x1, 0x398) }, + { ZYDIS_DEFINITION(0x1, 0x643), ZYDIS_DEFINITION(0x1, 0x645) }, + { ZYDIS_DEFINITION(0x1, 0x644), ZYDIS_DEFINITION(0x1, 0x646) }, + { ZYDIS_DEFINITION(0x1, 0xC5), ZYDIS_DEFINITION(0x1, 0xC7) }, + { ZYDIS_DEFINITION(0x1, 0xC6), ZYDIS_DEFINITION(0x1, 0xC8) }, + { ZYDIS_DEFINITION(0x1, 0x389), ZYDIS_DEFINITION(0x1, 0x38B) }, + { ZYDIS_DEFINITION(0x1, 0x38A), ZYDIS_DEFINITION(0x1, 0x38C) }, + { ZYDIS_DEFINITION(0x1, 0x139), ZYDIS_DEFINITION(0x1, 0x13B) }, + { ZYDIS_DEFINITION(0x1, 0x13A), ZYDIS_DEFINITION(0x1, 0x13C) }, + { ZYDIS_DEFINITION(0x1, 0x125), ZYDIS_DEFINITION(0x1, 0x127) }, + { ZYDIS_DEFINITION(0x1, 0x126), ZYDIS_DEFINITION(0x1, 0x128) }, + { ZYDIS_DEFINITION(0x1, 0x61B), ZYDIS_DEFINITION(0x1, 0x61D) }, + { ZYDIS_DEFINITION(0x1, 0x61C), ZYDIS_DEFINITION(0x1, 0x61E) }, + { ZYDIS_DEFINITION(0x1, 0x30F), ZYDIS_DEFINITION(0x1, 0x311) }, + { ZYDIS_DEFINITION(0x1, 0x310), ZYDIS_DEFINITION(0x1, 0x312) }, + { ZYDIS_DEFINITION(0x1, 0x175), ZYDIS_DEFINITION(0x1, 0x177) }, + { ZYDIS_DEFINITION(0x1, 0x176), ZYDIS_DEFINITION(0x1, 0x178) }, + { ZYDIS_DEFINITION(0x1, 0x303), ZYDIS_DEFINITION(0x1, 0x305) }, + { ZYDIS_DEFINITION(0x1, 0x304), ZYDIS_DEFINITION(0x1, 0x306) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x438), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x439) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x440), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x441), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x442), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x443), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x444), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x445), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2F5) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x616) }, + { ZYDIS_DEFINITION(0xB, 0x115), ZYDIS_DEFINITION(0xB, 0x117) }, + { ZYDIS_DEFINITION(0xB, 0x116), ZYDIS_DEFINITION(0xB, 0x118) }, + { ZYDIS_DEFINITION(0xB, 0x606), ZYDIS_DEFINITION(0xB, 0x608) }, + { ZYDIS_DEFINITION(0xB, 0x607), ZYDIS_DEFINITION(0xB, 0x609) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x446), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x447) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x448) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x449) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x450), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x451) }, + { ZYDIS_DEFINITION(0x1, 0x4), ZYDIS_DEFINITION(0x1, 0x5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x452), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x453) }, + { ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x454), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x455) }, + { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x456), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x457) }, + { ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_DEFINITION(0x1, 0x11) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x458), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x459) }, + { ZYDIS_DEFINITION(0x1, 0x22), ZYDIS_DEFINITION(0x1, 0x23) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45B) }, + { ZYDIS_DEFINITION(0x1, 0xA), ZYDIS_DEFINITION(0x1, 0xB) }, + { ZYDIS_DEFINITION(0x1, 0x371), ZYDIS_DEFINITION(0x1, 0x373) }, + { ZYDIS_DEFINITION(0x1, 0x372), ZYDIS_DEFINITION(0x1, 0x374) }, + { ZYDIS_DEFINITION(0x1, 0x375), ZYDIS_DEFINITION(0x1, 0x377) }, + { ZYDIS_DEFINITION(0x1, 0x376), ZYDIS_DEFINITION(0x1, 0x378) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x349) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34A) }, + { ZYDIS_DEFINITION(0x1, 0x637), ZYDIS_DEFINITION(0x1, 0x639) }, + { ZYDIS_DEFINITION(0x1, 0x638), ZYDIS_DEFINITION(0x1, 0x63A) }, + { ZYDIS_DEFINITION(0x1, 0x62F), ZYDIS_DEFINITION(0x1, 0x631) }, + { ZYDIS_DEFINITION(0x1, 0x630), ZYDIS_DEFINITION(0x1, 0x632) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x344) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x345) }, + { ZYDIS_DEFINITION(0x1, 0x317), ZYDIS_DEFINITION(0x1, 0x319) }, + { ZYDIS_DEFINITION(0x1, 0x318), ZYDIS_DEFINITION(0x1, 0x31A) }, + { ZYDIS_DEFINITION(0x1, 0x31B), ZYDIS_DEFINITION(0x1, 0x31D) }, + { ZYDIS_DEFINITION(0x1, 0x31C), ZYDIS_DEFINITION(0x1, 0x31E) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x355) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x356) }, + { ZYDIS_DEFINITION(0x1, 0x62B), ZYDIS_DEFINITION(0x1, 0x62C) }, + { ZYDIS_DEFINITION(0x1, 0x11D), ZYDIS_DEFINITION(0x1, 0x11E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x460), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x461), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x462), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x463), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x34D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x34E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x60A), ZYDIS_DEFINITION(0x1, 0x60C) }, + { ZYDIS_DEFINITION(0x1, 0x60B), ZYDIS_DEFINITION(0x1, 0x60D) }, + { ZYDIS_DEFINITION(0x1, 0xF1), ZYDIS_DEFINITION(0x1, 0xF3) }, + { ZYDIS_DEFINITION(0x1, 0xF2), ZYDIS_DEFINITION(0x1, 0xF4) }, + { ZYDIS_DEFINITION(0x1, 0xE9), ZYDIS_DEFINITION(0x1, 0xEB) }, + { ZYDIS_DEFINITION(0x1, 0xEA), ZYDIS_DEFINITION(0x1, 0xEC) }, + { ZYDIS_DEFINITION(0x1, 0x391), ZYDIS_DEFINITION(0x1, 0x393) }, + { ZYDIS_DEFINITION(0x1, 0x392), ZYDIS_DEFINITION(0x1, 0x394) }, + { ZYDIS_DEFINITION(0x1, 0x63F), ZYDIS_DEFINITION(0x1, 0x641) }, + { ZYDIS_DEFINITION(0x1, 0x640), ZYDIS_DEFINITION(0x1, 0x642) }, + { ZYDIS_DEFINITION(0x1, 0xC1), ZYDIS_DEFINITION(0x1, 0xC3) }, + { ZYDIS_DEFINITION(0x1, 0xC2), ZYDIS_DEFINITION(0x1, 0xC4) }, + { ZYDIS_DEFINITION(0x1, 0x385), ZYDIS_DEFINITION(0x1, 0x387) }, + { ZYDIS_DEFINITION(0x1, 0x386), ZYDIS_DEFINITION(0x1, 0x388) }, + { ZYDIS_DEFINITION(0x1, 0x12D), ZYDIS_DEFINITION(0x1, 0x12F) }, + { ZYDIS_DEFINITION(0x1, 0x12E), ZYDIS_DEFINITION(0x1, 0x130) }, + { ZYDIS_DEFINITION(0x1, 0x135), ZYDIS_DEFINITION(0x1, 0x137) }, + { ZYDIS_DEFINITION(0x1, 0x136), ZYDIS_DEFINITION(0x1, 0x138) }, + { ZYDIS_DEFINITION(0x1, 0x617), ZYDIS_DEFINITION(0x1, 0x619) }, + { ZYDIS_DEFINITION(0x1, 0x618), ZYDIS_DEFINITION(0x1, 0x61A) }, + { ZYDIS_DEFINITION(0x1, 0x30B), ZYDIS_DEFINITION(0x1, 0x30D) }, + { ZYDIS_DEFINITION(0x1, 0x30C), ZYDIS_DEFINITION(0x1, 0x30E) }, + { ZYDIS_DEFINITION(0x1, 0x171), ZYDIS_DEFINITION(0x1, 0x173) }, + { ZYDIS_DEFINITION(0x1, 0x172), ZYDIS_DEFINITION(0x1, 0x174) }, + { ZYDIS_DEFINITION(0x1, 0x2FF), ZYDIS_DEFINITION(0x1, 0x301) }, + { ZYDIS_DEFINITION(0x1, 0x300), ZYDIS_DEFINITION(0x1, 0x302) }, + { ZYDIS_DEFINITION(0x1, 0x5D6), ZYDIS_DEFINITION(0x1, 0x5D8) }, + { ZYDIS_DEFINITION(0x1, 0x5D7), ZYDIS_DEFINITION(0x1, 0x5D9) }, + { ZYDIS_DEFINITION(0x1, 0x5E2), ZYDIS_DEFINITION(0x1, 0x5E4) }, + { ZYDIS_DEFINITION(0x1, 0x5E3), ZYDIS_DEFINITION(0x1, 0x5E5) }, + { ZYDIS_DEFINITION(0x1, 0x5DA), ZYDIS_DEFINITION(0x1, 0x5DC) }, + { ZYDIS_DEFINITION(0x1, 0x5DB), ZYDIS_DEFINITION(0x1, 0x5DD) }, + { ZYDIS_DEFINITION(0x1, 0x3A9), ZYDIS_DEFINITION(0x1, 0x3AB) }, + { ZYDIS_DEFINITION(0x1, 0x3AA), ZYDIS_DEFINITION(0x1, 0x3AC) }, + { ZYDIS_DEFINITION(0x1, 0x425), ZYDIS_DEFINITION(0x1, 0x427) }, + { ZYDIS_DEFINITION(0x1, 0x426), ZYDIS_DEFINITION(0x1, 0x428) }, + { ZYDIS_DEFINITION(0x1, 0x431), ZYDIS_DEFINITION(0x1, 0x433) }, + { ZYDIS_DEFINITION(0x1, 0x432), ZYDIS_DEFINITION(0x1, 0x434) }, + { ZYDIS_DEFINITION(0x1, 0x429), ZYDIS_DEFINITION(0x1, 0x42B) }, + { ZYDIS_DEFINITION(0x1, 0x42A), ZYDIS_DEFINITION(0x1, 0x42C) }, + { ZYDIS_DEFINITION(0x1, 0x3B1), ZYDIS_DEFINITION(0x1, 0x3B3) }, + { ZYDIS_DEFINITION(0x1, 0x3B2), ZYDIS_DEFINITION(0x1, 0x3B4) }, + { ZYDIS_DEFINITION(0x1, 0x5C6), ZYDIS_DEFINITION(0x1, 0x5C8) }, + { ZYDIS_DEFINITION(0x1, 0x5C7), ZYDIS_DEFINITION(0x1, 0x5C9) }, + { ZYDIS_DEFINITION(0x1, 0x5D2), ZYDIS_DEFINITION(0x1, 0x5D4) }, + { ZYDIS_DEFINITION(0x1, 0x5D3), ZYDIS_DEFINITION(0x1, 0x5D5) }, + { ZYDIS_DEFINITION(0x1, 0x5CA), ZYDIS_DEFINITION(0x1, 0x5CC) }, + { ZYDIS_DEFINITION(0x1, 0x5CB), ZYDIS_DEFINITION(0x1, 0x5CD) }, + { ZYDIS_DEFINITION(0x1, 0x3A5), ZYDIS_DEFINITION(0x1, 0x3A7) }, + { ZYDIS_DEFINITION(0x1, 0x3A6), ZYDIS_DEFINITION(0x1, 0x3A8) }, + { ZYDIS_DEFINITION(0x1, 0x5DE), ZYDIS_DEFINITION(0x1, 0x5E0) }, + { ZYDIS_DEFINITION(0x1, 0x5DF), ZYDIS_DEFINITION(0x1, 0x5E1) }, + { ZYDIS_DEFINITION(0x1, 0x5CE), ZYDIS_DEFINITION(0x1, 0x5D0) }, + { ZYDIS_DEFINITION(0x1, 0x5CF), ZYDIS_DEFINITION(0x1, 0x5D1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x464), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x465) }, + { ZYDIS_DEFINITION(0x1, 0x329), ZYDIS_DEFINITION(0x1, 0x32A) }, + { ZYDIS_DEFINITION(0x1, 0x333), ZYDIS_DEFINITION(0x1, 0x335) }, + { ZYDIS_DEFINITION(0x1, 0x334), ZYDIS_DEFINITION(0x1, 0x336) }, + { ZYDIS_DEFINITION(0xB, 0x542), ZYDIS_DEFINITION(0xB, 0x544) }, + { ZYDIS_DEFINITION(0xB, 0x543), ZYDIS_DEFINITION(0xB, 0x545) }, + { ZYDIS_DEFINITION(0xB, 0x59C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x59D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x580), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x581), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x570), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x571), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x586), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x587), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x576), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x577), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x55A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x55B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x58E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x58F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x58C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x58D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x562), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x563), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x560), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x561), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x409), ZYDIS_DEFINITION(0x1, 0x40B) }, + { ZYDIS_DEFINITION(0x1, 0x40A), ZYDIS_DEFINITION(0x1, 0x40C) }, + { ZYDIS_DEFINITION(0x1, 0x415), ZYDIS_DEFINITION(0x1, 0x417) }, + { ZYDIS_DEFINITION(0x1, 0x416), ZYDIS_DEFINITION(0x1, 0x418) }, + { ZYDIS_DEFINITION(0x1, 0x40D), ZYDIS_DEFINITION(0x1, 0x40F) }, + { ZYDIS_DEFINITION(0x1, 0x40E), ZYDIS_DEFINITION(0x1, 0x410) }, + { ZYDIS_DEFINITION(0x1, 0x2DD), ZYDIS_DEFINITION(0x1, 0x2DF) }, + { ZYDIS_DEFINITION(0x1, 0x2DE), ZYDIS_DEFINITION(0x1, 0x2E0) }, + { ZYDIS_DEFINITION(0x1, 0x2E5), ZYDIS_DEFINITION(0x1, 0x2E7) }, + { ZYDIS_DEFINITION(0x1, 0x2E6), ZYDIS_DEFINITION(0x1, 0x2E8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x466), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x467) }, + { ZYDIS_DEFINITION(0x1, 0x32D), ZYDIS_DEFINITION(0x1, 0x32E) }, + { ZYDIS_DEFINITION(0x1, 0x337), ZYDIS_DEFINITION(0x1, 0x339) }, + { ZYDIS_DEFINITION(0x1, 0x338), ZYDIS_DEFINITION(0x1, 0x33A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x468), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x469) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x111), ZYDIS_DEFINITION(0xB, 0x113) }, + { ZYDIS_DEFINITION(0xB, 0x112), ZYDIS_DEFINITION(0xB, 0x114) }, + { ZYDIS_DEFINITION(0xB, 0x49E), ZYDIS_DEFINITION(0xB, 0x49F) }, + { ZYDIS_DEFINITION(0xB, 0x471), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x602), ZYDIS_DEFINITION(0xB, 0x604) }, + { ZYDIS_DEFINITION(0xB, 0x603), ZYDIS_DEFINITION(0xB, 0x605) }, + { ZYDIS_DEFINITION(0x1, 0xCD), ZYDIS_DEFINITION(0x1, 0xCF) }, + { ZYDIS_DEFINITION(0x1, 0xCE), ZYDIS_DEFINITION(0x1, 0xD0) }, + { ZYDIS_DEFINITION(0x1, 0x59E), ZYDIS_DEFINITION(0x1, 0x5A0) }, + { ZYDIS_DEFINITION(0x1, 0x59F), ZYDIS_DEFINITION(0x1, 0x5A1) }, + { ZYDIS_DEFINITION(0x1, 0x588), ZYDIS_DEFINITION(0x1, 0x58A) }, + { ZYDIS_DEFINITION(0x1, 0x589), ZYDIS_DEFINITION(0x1, 0x58B) }, + { ZYDIS_DEFINITION(0x1, 0x590), ZYDIS_DEFINITION(0x1, 0x592) }, + { ZYDIS_DEFINITION(0x1, 0x591), ZYDIS_DEFINITION(0x1, 0x593) }, + { ZYDIS_DEFINITION(0x1, 0x3BD), ZYDIS_DEFINITION(0x1, 0x3BF) }, + { ZYDIS_DEFINITION(0x1, 0x3BE), ZYDIS_DEFINITION(0x1, 0x3C0) }, + { ZYDIS_DEFINITION(0x1, 0x526), ZYDIS_DEFINITION(0x1, 0x528) }, + { ZYDIS_DEFINITION(0x1, 0x527), ZYDIS_DEFINITION(0x1, 0x529) }, + { ZYDIS_DEFINITION(0x1, 0x35F), ZYDIS_DEFINITION(0x1, 0x360) }, + { ZYDIS_DEFINITION(0x1, 0x4E0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4E1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5B6), ZYDIS_DEFINITION(0x1, 0x5B8) }, + { ZYDIS_DEFINITION(0x1, 0x5B7), ZYDIS_DEFINITION(0x1, 0x5B9) }, + { ZYDIS_DEFINITION(0x1, 0x5BA), ZYDIS_DEFINITION(0x1, 0x5BC) }, + { ZYDIS_DEFINITION(0x1, 0x5BB), ZYDIS_DEFINITION(0x1, 0x5BD) }, + { ZYDIS_DEFINITION(0x1, 0x4D4), ZYDIS_DEFINITION(0x1, 0x4D6) }, + { ZYDIS_DEFINITION(0x1, 0x4D5), ZYDIS_DEFINITION(0x1, 0x4D7) }, + { ZYDIS_DEFINITION(0x1, 0x3D9), ZYDIS_DEFINITION(0x1, 0x3DB) }, + { ZYDIS_DEFINITION(0x1, 0x3DA), ZYDIS_DEFINITION(0x1, 0x3DC) }, + { ZYDIS_DEFINITION(0x1, 0x3C9), ZYDIS_DEFINITION(0x1, 0x3CB) }, + { ZYDIS_DEFINITION(0x1, 0x3CA), ZYDIS_DEFINITION(0x1, 0x3CC) }, + { ZYDIS_DEFINITION(0x1, 0x3CD), ZYDIS_DEFINITION(0x1, 0x3CF) }, + { ZYDIS_DEFINITION(0x1, 0x3CE), ZYDIS_DEFINITION(0x1, 0x3D0) }, + { ZYDIS_DEFINITION(0x1, 0x4BC), ZYDIS_DEFINITION(0x1, 0x4BE) }, + { ZYDIS_DEFINITION(0x1, 0x4BD), ZYDIS_DEFINITION(0x1, 0x4BF) }, + { ZYDIS_DEFINITION(0x1, 0x3DD), ZYDIS_DEFINITION(0x1, 0x3DF) }, + { ZYDIS_DEFINITION(0x1, 0x3DE), ZYDIS_DEFINITION(0x1, 0x3E0) }, + { ZYDIS_DEFINITION(0x1, 0x3E1), ZYDIS_DEFINITION(0x1, 0x3E3) }, + { ZYDIS_DEFINITION(0x1, 0x3E2), ZYDIS_DEFINITION(0x1, 0x3E4) }, + { ZYDIS_DEFINITION(0x1, 0x582), ZYDIS_DEFINITION(0x1, 0x584) }, + { ZYDIS_DEFINITION(0x1, 0x583), ZYDIS_DEFINITION(0x1, 0x585) }, + { ZYDIS_DEFINITION(0x1, 0x578), ZYDIS_DEFINITION(0x1, 0x57A) }, + { ZYDIS_DEFINITION(0x1, 0x579), ZYDIS_DEFINITION(0x1, 0x57B) }, + { ZYDIS_DEFINITION(0x1, 0x3E5), ZYDIS_DEFINITION(0x1, 0x3E7) }, + { ZYDIS_DEFINITION(0x1, 0x3E6), ZYDIS_DEFINITION(0x1, 0x3E8) }, + { ZYDIS_DEFINITION(0x1, 0x51A), ZYDIS_DEFINITION(0x1, 0x51C) }, + { ZYDIS_DEFINITION(0x1, 0x51B), ZYDIS_DEFINITION(0x1, 0x51D) }, + { ZYDIS_DEFINITION(0x1, 0x51E), ZYDIS_DEFINITION(0x1, 0x520) }, + { ZYDIS_DEFINITION(0x1, 0x51F), ZYDIS_DEFINITION(0x1, 0x521) }, + { ZYDIS_DEFINITION(0x1, 0x15D), ZYDIS_DEFINITION(0x1, 0x15F) }, + { ZYDIS_DEFINITION(0x1, 0x15E), ZYDIS_DEFINITION(0x1, 0x160) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x351) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x352) }, + { ZYDIS_DEFINITION(0x1, 0x5AE), ZYDIS_DEFINITION(0x1, 0x5B0) }, + { ZYDIS_DEFINITION(0x1, 0x5AF), ZYDIS_DEFINITION(0x1, 0x5B1) }, + { ZYDIS_DEFINITION(0x1, 0x5B2), ZYDIS_DEFINITION(0x1, 0x5B4) }, + { ZYDIS_DEFINITION(0x1, 0x5B3), ZYDIS_DEFINITION(0x1, 0x5B5) }, + { ZYDIS_DEFINITION(0x1, 0x4D0), ZYDIS_DEFINITION(0x1, 0x4D2) }, + { ZYDIS_DEFINITION(0x1, 0x4D1), ZYDIS_DEFINITION(0x1, 0x4D3) }, + { ZYDIS_DEFINITION(0x1, 0x52E), ZYDIS_DEFINITION(0x1, 0x530) }, + { ZYDIS_DEFINITION(0x1, 0x52F), ZYDIS_DEFINITION(0x1, 0x531) }, + { ZYDIS_DEFINITION(0x1, 0x3C1), ZYDIS_DEFINITION(0x1, 0x3C3) }, + { ZYDIS_DEFINITION(0x1, 0x3C2), ZYDIS_DEFINITION(0x1, 0x3C4) }, + { ZYDIS_DEFINITION(0x1, 0x3C5), ZYDIS_DEFINITION(0x1, 0x3C7) }, + { ZYDIS_DEFINITION(0x1, 0x3C6), ZYDIS_DEFINITION(0x1, 0x3C8) }, + { ZYDIS_DEFINITION(0x1, 0x4B8), ZYDIS_DEFINITION(0x1, 0x4BA) }, + { ZYDIS_DEFINITION(0x1, 0x4B9), ZYDIS_DEFINITION(0x1, 0x4BB) }, + { ZYDIS_DEFINITION(0x1, 0x5E6), ZYDIS_DEFINITION(0x1, 0x5E8) }, + { ZYDIS_DEFINITION(0x1, 0x5E7), ZYDIS_DEFINITION(0x1, 0x5E9) }, + { ZYDIS_DEFINITION(0x1, 0x572), ZYDIS_DEFINITION(0x1, 0x574) }, + { ZYDIS_DEFINITION(0x1, 0x573), ZYDIS_DEFINITION(0x1, 0x575) }, + { ZYDIS_DEFINITION(0x1, 0x55C), ZYDIS_DEFINITION(0x1, 0x55E) }, + { ZYDIS_DEFINITION(0x1, 0x55D), ZYDIS_DEFINITION(0x1, 0x55F) }, + { ZYDIS_DEFINITION(0x1, 0x564), ZYDIS_DEFINITION(0x1, 0x566) }, + { ZYDIS_DEFINITION(0x1, 0x565), ZYDIS_DEFINITION(0x1, 0x567) }, + { ZYDIS_DEFINITION(0x1, 0x52A), ZYDIS_DEFINITION(0x1, 0x52C) }, + { ZYDIS_DEFINITION(0x1, 0x52B), ZYDIS_DEFINITION(0x1, 0x52D) }, + { ZYDIS_DEFINITION(0x1, 0x4A4), ZYDIS_DEFINITION(0x1, 0x4A6) }, + { ZYDIS_DEFINITION(0x1, 0x4A5), ZYDIS_DEFINITION(0x1, 0x4A7) }, + { ZYDIS_DEFINITION(0x1, 0x53A), ZYDIS_DEFINITION(0x1, 0x53C) }, + { ZYDIS_DEFINITION(0x1, 0x53B), ZYDIS_DEFINITION(0x1, 0x53D) }, + { ZYDIS_DEFINITION(0x1, 0x2F6), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5A2), ZYDIS_DEFINITION(0x1, 0x5A4) }, + { ZYDIS_DEFINITION(0x1, 0x5A3), ZYDIS_DEFINITION(0x1, 0x5A5) }, + { ZYDIS_DEFINITION(0x1, 0x5BE), ZYDIS_DEFINITION(0x1, 0x5C0) }, + { ZYDIS_DEFINITION(0x1, 0x5BF), ZYDIS_DEFINITION(0x1, 0x5C1) }, + { ZYDIS_DEFINITION(0x1, 0x5A6), ZYDIS_DEFINITION(0x1, 0x5A8) }, + { ZYDIS_DEFINITION(0x1, 0x5A7), ZYDIS_DEFINITION(0x1, 0x5A9) }, + { ZYDIS_DEFINITION(0x1, 0x5AA), ZYDIS_DEFINITION(0x1, 0x5AC) }, + { ZYDIS_DEFINITION(0x1, 0x5AB), ZYDIS_DEFINITION(0x1, 0x5AD) }, + { ZYDIS_DEFINITION(0x1, 0x3B5), ZYDIS_DEFINITION(0x1, 0x3B7) }, + { ZYDIS_DEFINITION(0x1, 0x3B6), ZYDIS_DEFINITION(0x1, 0x3B8) }, + { ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D3) }, + { ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D4) }, + { ZYDIS_DEFINITION(0x1, 0x3B9), ZYDIS_DEFINITION(0x1, 0x3BB) }, + { ZYDIS_DEFINITION(0x1, 0x3BA), ZYDIS_DEFINITION(0x1, 0x3BC) }, + { ZYDIS_DEFINITION(0x1, 0x53E), ZYDIS_DEFINITION(0x1, 0x540) }, + { ZYDIS_DEFINITION(0x1, 0x53F), ZYDIS_DEFINITION(0x1, 0x541) }, + { ZYDIS_DEFINITION(0x1, 0x484), ZYDIS_DEFINITION(0x1, 0x486) }, + { ZYDIS_DEFINITION(0x1, 0x485), ZYDIS_DEFINITION(0x1, 0x487) }, + { ZYDIS_DEFINITION(0x1, 0x47C), ZYDIS_DEFINITION(0x1, 0x47E) }, + { ZYDIS_DEFINITION(0x1, 0x47D), ZYDIS_DEFINITION(0x1, 0x47F) }, + { ZYDIS_DEFINITION(0x1, 0x480), ZYDIS_DEFINITION(0x1, 0x482) }, + { ZYDIS_DEFINITION(0x1, 0x481), ZYDIS_DEFINITION(0x1, 0x483) }, + { ZYDIS_DEFINITION(0x1, 0x4A0), ZYDIS_DEFINITION(0x1, 0x4A2) }, + { ZYDIS_DEFINITION(0x1, 0x4A1), ZYDIS_DEFINITION(0x1, 0x4A3) }, + { ZYDIS_DEFINITION(0x1, 0x492), ZYDIS_DEFINITION(0x1, 0x494) }, + { ZYDIS_DEFINITION(0x1, 0x493), ZYDIS_DEFINITION(0x1, 0x495) }, + { ZYDIS_DEFINITION(0x1, 0x48A), ZYDIS_DEFINITION(0x1, 0x48C) }, + { ZYDIS_DEFINITION(0x1, 0x48B), ZYDIS_DEFINITION(0x1, 0x48D) }, + { ZYDIS_DEFINITION(0x1, 0x48E), ZYDIS_DEFINITION(0x1, 0x490) }, + { ZYDIS_DEFINITION(0x1, 0x48F), ZYDIS_DEFINITION(0x1, 0x491) }, + { ZYDIS_DEFINITION(0x1, 0x54E), ZYDIS_DEFINITION(0x1, 0x550) }, + { ZYDIS_DEFINITION(0x1, 0x54F), ZYDIS_DEFINITION(0x1, 0x551) }, + { ZYDIS_DEFINITION(0x1, 0x556), ZYDIS_DEFINITION(0x1, 0x558) }, + { ZYDIS_DEFINITION(0x1, 0x557), ZYDIS_DEFINITION(0x1, 0x559) }, + { ZYDIS_DEFINITION(0x1, 0x552), ZYDIS_DEFINITION(0x1, 0x554) }, + { ZYDIS_DEFINITION(0x1, 0x553), ZYDIS_DEFINITION(0x1, 0x555) }, + { ZYDIS_DEFINITION(0x1, 0x516), ZYDIS_DEFINITION(0x1, 0x518) }, + { ZYDIS_DEFINITION(0x1, 0x517), ZYDIS_DEFINITION(0x1, 0x519) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x470) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x471), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x472) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x473), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x474) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x475), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x476) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x477), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x478) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x479), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x480) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x481), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x482) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x483), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x484) }, + { ZYDIS_DEFINITION(0x1, 0x5C2), ZYDIS_DEFINITION(0x1, 0x5C4) }, + { ZYDIS_DEFINITION(0x1, 0x5C3), ZYDIS_DEFINITION(0x1, 0x5C5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x485), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x486) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x487), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x488) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x489), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48B) }, + { ZYDIS_DEFINITION(0x1, 0x399), ZYDIS_DEFINITION(0x1, 0x39B) }, + { ZYDIS_DEFINITION(0x1, 0x39A), ZYDIS_DEFINITION(0x1, 0x39C) }, + { ZYDIS_DEFINITION(0x1, 0x3A1), ZYDIS_DEFINITION(0x1, 0x3A3) }, + { ZYDIS_DEFINITION(0x1, 0x3A2), ZYDIS_DEFINITION(0x1, 0x3A4) }, + { ZYDIS_DEFINITION(0x1, 0x39D), ZYDIS_DEFINITION(0x1, 0x39F) }, + { ZYDIS_DEFINITION(0x1, 0x39E), ZYDIS_DEFINITION(0x1, 0x3A0) }, + { ZYDIS_DEFINITION(0x1, 0x4EA), ZYDIS_DEFINITION(0x1, 0x4EC) }, + { ZYDIS_DEFINITION(0x1, 0x4EB), ZYDIS_DEFINITION(0x1, 0x4ED) }, + { ZYDIS_DEFINITION(0x1, 0x4E2), ZYDIS_DEFINITION(0x1, 0x4E4) }, + { ZYDIS_DEFINITION(0x1, 0x4E3), ZYDIS_DEFINITION(0x1, 0x4E5) }, + { ZYDIS_DEFINITION(0x1, 0x4E6), ZYDIS_DEFINITION(0x1, 0x4E8) }, + { ZYDIS_DEFINITION(0x1, 0x4E7), ZYDIS_DEFINITION(0x1, 0x4E9) }, + { ZYDIS_DEFINITION(0x1, 0x4F2), ZYDIS_DEFINITION(0x1, 0x4F4) }, + { ZYDIS_DEFINITION(0x1, 0x4F3), ZYDIS_DEFINITION(0x1, 0x4F5) }, + { ZYDIS_DEFINITION(0x1, 0x4F6), ZYDIS_DEFINITION(0x1, 0x4F8) }, + { ZYDIS_DEFINITION(0x1, 0x4F7), ZYDIS_DEFINITION(0x1, 0x4F9) }, + { ZYDIS_DEFINITION(0x1, 0x4EE), ZYDIS_DEFINITION(0x1, 0x4F0) }, + { ZYDIS_DEFINITION(0x1, 0x4EF), ZYDIS_DEFINITION(0x1, 0x4F1) }, + { ZYDIS_DEFINITION(0x1, 0x512), ZYDIS_DEFINITION(0x1, 0x514) }, + { ZYDIS_DEFINITION(0x1, 0x513), ZYDIS_DEFINITION(0x1, 0x515) }, + { ZYDIS_DEFINITION(0x1, 0x411), ZYDIS_DEFINITION(0x1, 0x413) }, + { ZYDIS_DEFINITION(0x1, 0x412), ZYDIS_DEFINITION(0x1, 0x414) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x353) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x354) }, + { ZYDIS_DEFINITION(0x1, 0x3AD), ZYDIS_DEFINITION(0x1, 0x3AF) }, + { ZYDIS_DEFINITION(0x1, 0x3AE), ZYDIS_DEFINITION(0x1, 0x3B0) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x490) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x491) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x492) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x493) }, + { ZYDIS_DEFINITION(0x1, 0x502), ZYDIS_DEFINITION(0x1, 0x504) }, + { ZYDIS_DEFINITION(0x1, 0x503), ZYDIS_DEFINITION(0x1, 0x505) }, + { ZYDIS_DEFINITION(0x1, 0x4FA), ZYDIS_DEFINITION(0x1, 0x4FC) }, + { ZYDIS_DEFINITION(0x1, 0x4FB), ZYDIS_DEFINITION(0x1, 0x4FD) }, + { ZYDIS_DEFINITION(0x1, 0x4FE), ZYDIS_DEFINITION(0x1, 0x500) }, + { ZYDIS_DEFINITION(0x1, 0x4FF), ZYDIS_DEFINITION(0x1, 0x501) }, + { ZYDIS_DEFINITION(0x1, 0x50A), ZYDIS_DEFINITION(0x1, 0x50C) }, + { ZYDIS_DEFINITION(0x1, 0x50B), ZYDIS_DEFINITION(0x1, 0x50D) }, + { ZYDIS_DEFINITION(0x1, 0x50E), ZYDIS_DEFINITION(0x1, 0x510) }, + { ZYDIS_DEFINITION(0x1, 0x50F), ZYDIS_DEFINITION(0x1, 0x511) }, + { ZYDIS_DEFINITION(0x1, 0x506), ZYDIS_DEFINITION(0x1, 0x508) }, + { ZYDIS_DEFINITION(0x1, 0x507), ZYDIS_DEFINITION(0x1, 0x509) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x494), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x495) }, + { ZYDIS_DEFINITION(0x1, 0x42D), ZYDIS_DEFINITION(0x1, 0x42F) }, + { ZYDIS_DEFINITION(0x1, 0x42E), ZYDIS_DEFINITION(0x1, 0x430) }, + { ZYDIS_DEFINITION(0x1, 0x4C8), ZYDIS_DEFINITION(0x1, 0x4CA) }, + { ZYDIS_DEFINITION(0x1, 0x4C9), ZYDIS_DEFINITION(0x1, 0x4CB) }, + { ZYDIS_DEFINITION(0x1, 0x4CC), ZYDIS_DEFINITION(0x1, 0x4CE) }, + { ZYDIS_DEFINITION(0x1, 0x4CD), ZYDIS_DEFINITION(0x1, 0x4CF) }, + { ZYDIS_DEFINITION(0x1, 0x4DC), ZYDIS_DEFINITION(0x1, 0x4DE) }, + { ZYDIS_DEFINITION(0x1, 0x4DD), ZYDIS_DEFINITION(0x1, 0x4DF) }, + { ZYDIS_DEFINITION(0x1, 0x4D8), ZYDIS_DEFINITION(0x1, 0x4DA) }, + { ZYDIS_DEFINITION(0x1, 0x4D9), ZYDIS_DEFINITION(0x1, 0x4DB) }, + { ZYDIS_DEFINITION(0x1, 0x4B0), ZYDIS_DEFINITION(0x1, 0x4B2) }, + { ZYDIS_DEFINITION(0x1, 0x4B1), ZYDIS_DEFINITION(0x1, 0x4B3) }, + { ZYDIS_DEFINITION(0x1, 0x4B4), ZYDIS_DEFINITION(0x1, 0x4B6) }, + { ZYDIS_DEFINITION(0x1, 0x4B5), ZYDIS_DEFINITION(0x1, 0x4B7) }, + { ZYDIS_DEFINITION(0x1, 0x4C4), ZYDIS_DEFINITION(0x1, 0x4C6) }, + { ZYDIS_DEFINITION(0x1, 0x4C5), ZYDIS_DEFINITION(0x1, 0x4C7) }, + { ZYDIS_DEFINITION(0x1, 0x4C0), ZYDIS_DEFINITION(0x1, 0x4C2) }, + { ZYDIS_DEFINITION(0x1, 0x4C1), ZYDIS_DEFINITION(0x1, 0x4C3) }, + { ZYDIS_DEFINITION(0x1, 0x522), ZYDIS_DEFINITION(0x1, 0x524) }, + { ZYDIS_DEFINITION(0x1, 0x523), ZYDIS_DEFINITION(0x1, 0x525) }, + { ZYDIS_DEFINITION(0x1, 0x488), ZYDIS_DEFINITION(0x1, 0x489) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x496), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x497) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x498), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x499) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A1) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AB) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B5) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B6) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B7) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B8) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B9) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BA) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BB) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BC) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BD) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BE) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BF) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C0) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4ED) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x500), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x501) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x502), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x503) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x504), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x505) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x506), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x507) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x508), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x509) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x510), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x511) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x512), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x513) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x514), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x515) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x516), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x517) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x518), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x519) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x520), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x521) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x522), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x523) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x524), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x525) }, + { ZYDIS_DEFINITION(0x1, 0xE5), ZYDIS_DEFINITION(0x1, 0xE6) }, + { ZYDIS_DEFINITION(0x1, 0xDD), ZYDIS_DEFINITION(0x1, 0xDF) }, + { ZYDIS_DEFINITION(0x1, 0xDE), ZYDIS_DEFINITION(0x1, 0xE0) }, + { ZYDIS_DEFINITION(0x1, 0xE1), ZYDIS_DEFINITION(0x1, 0xE3) }, + { ZYDIS_DEFINITION(0x1, 0xE2), ZYDIS_DEFINITION(0x1, 0xE4) }, + { ZYDIS_DEFINITION(0x1, 0xD5), ZYDIS_DEFINITION(0x1, 0xD7) }, + { ZYDIS_DEFINITION(0x1, 0xD6), ZYDIS_DEFINITION(0x1, 0xD8) }, + { ZYDIS_DEFINITION(0x1, 0xD9), ZYDIS_DEFINITION(0x1, 0xDB) }, + { ZYDIS_DEFINITION(0x1, 0xDA), ZYDIS_DEFINITION(0x1, 0xDC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x526), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x527) }, + { ZYDIS_DEFINITION(0x1, 0xA8), ZYDIS_DEFINITION(0x1, 0xA9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x528), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x529) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x530), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x531) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x532), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x533) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x534), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x535) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x536), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x537) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x538), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x539) }, + { ZYDIS_DEFINITION(0xB, 0x5F4), ZYDIS_DEFINITION(0xB, 0x5F6) }, + { ZYDIS_DEFINITION(0xB, 0x5F5), ZYDIS_DEFINITION(0xB, 0x5F7) }, + { ZYDIS_DEFINITION(0xB, 0x5F0), ZYDIS_DEFINITION(0xB, 0x5F2) }, + { ZYDIS_DEFINITION(0xB, 0x5F1), ZYDIS_DEFINITION(0xB, 0x5F3) }, + { ZYDIS_DEFINITION(0xB, 0x5FA), ZYDIS_DEFINITION(0xB, 0x5FB) }, + { ZYDIS_DEFINITION(0xB, 0x5F8), ZYDIS_DEFINITION(0xB, 0x5F9) }, + { ZYDIS_DEFINITION(0xB, 0xFD), ZYDIS_DEFINITION(0xB, 0xFF) }, + { ZYDIS_DEFINITION(0xB, 0xFE), ZYDIS_DEFINITION(0xB, 0x100) }, + { ZYDIS_DEFINITION(0xB, 0xF9), ZYDIS_DEFINITION(0xB, 0xFB) }, + { ZYDIS_DEFINITION(0xB, 0xFA), ZYDIS_DEFINITION(0xB, 0xFC) }, + { ZYDIS_DEFINITION(0xB, 0x3F1), ZYDIS_DEFINITION(0xB, 0x3F3) }, + { ZYDIS_DEFINITION(0xB, 0x3F2), ZYDIS_DEFINITION(0xB, 0x3F4) }, + { ZYDIS_DEFINITION(0xB, 0x3D5), ZYDIS_DEFINITION(0xB, 0x3D7) }, + { ZYDIS_DEFINITION(0xB, 0x3D6), ZYDIS_DEFINITION(0xB, 0x3D8) }, + { ZYDIS_DEFINITION(0xB, 0x469), ZYDIS_DEFINITION(0xB, 0x46A) }, + { ZYDIS_DEFINITION(0xB, 0x472), ZYDIS_DEFINITION(0xB, 0x473) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53B) }, + { ZYDIS_DEFINITION(0xB, 0x46D), ZYDIS_DEFINITION(0xB, 0x46E) }, + { ZYDIS_DEFINITION(0xB, 0x187), ZYDIS_DEFINITION(0xB, 0x188) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x540), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x541) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x542), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x543) }, + { ZYDIS_DEFINITION(0xB, 0x496), ZYDIS_DEFINITION(0xB, 0x497) }, + { ZYDIS_DEFINITION(0xB, 0x2F1), ZYDIS_DEFINITION(0xB, 0x2F2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x544), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x545) }, + { ZYDIS_DEFINITION(0xB, 0x49A), ZYDIS_DEFINITION(0xB, 0x49B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x546), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x547), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x548), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x549), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x17F), ZYDIS_DEFINITION(0xB, 0x181) }, + { ZYDIS_DEFINITION(0xB, 0x180), ZYDIS_DEFINITION(0xB, 0x182) }, + { ZYDIS_DEFINITION(0xB, 0x17D), ZYDIS_DEFINITION(0xB, 0x17E) }, + { ZYDIS_DEFINITION(0xB, 0x381), ZYDIS_DEFINITION(0xB, 0x383) }, + { ZYDIS_DEFINITION(0xB, 0x382), ZYDIS_DEFINITION(0xB, 0x384) }, + { ZYDIS_DEFINITION(0xB, 0x405), ZYDIS_DEFINITION(0xB, 0x407) }, + { ZYDIS_DEFINITION(0xB, 0x406), ZYDIS_DEFINITION(0xB, 0x408) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x550) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x551), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x552) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x553), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x554) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x555), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x556) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x557), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x558) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x559), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x560) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x561), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x562) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x563), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x564) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x565), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x566) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x567), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x568) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x569), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x570) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x571), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x572) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x573), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x574) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x575), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x576) }, + { ZYDIS_DEFINITION(0xB, 0x423), ZYDIS_DEFINITION(0xB, 0x424) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x577), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x578) }, + { ZYDIS_DEFINITION(0xB, 0x41D), ZYDIS_DEFINITION(0xB, 0x41E) }, + { ZYDIS_DEFINITION(0xB, 0x43B), ZYDIS_DEFINITION(0xB, 0x43C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x579), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57A) }, + { ZYDIS_DEFINITION(0xB, 0x439), ZYDIS_DEFINITION(0xB, 0x43A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x580) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x581), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x582) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x583), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x584) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x585), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x586) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x587), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x588) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x589), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x590) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x591), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x592) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x593), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x594) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x595), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x596) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x597), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x598) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x599), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B2) }, + { ZYDIS_DEFINITION(0xB, 0xE7), ZYDIS_DEFINITION(0xB, 0xE8) }, + { ZYDIS_DEFINITION(0x1, 0x36D), ZYDIS_DEFINITION(0x1, 0x36E) }, + { ZYDIS_DEFINITION(0x1, 0x36F), ZYDIS_DEFINITION(0x1, 0x370) }, + { ZYDIS_DEFINITION(0x1, 0x369), ZYDIS_DEFINITION(0x1, 0x36B) }, + { ZYDIS_DEFINITION(0x1, 0x36A), ZYDIS_DEFINITION(0x1, 0x36C) }, + { ZYDIS_DEFINITION(0x1, 0x365), ZYDIS_DEFINITION(0x1, 0x367) }, + { ZYDIS_DEFINITION(0x1, 0x366), ZYDIS_DEFINITION(0x1, 0x368) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B4) }, + { ZYDIS_DEFINITION(0x1, 0x153), ZYDIS_DEFINITION(0x1, 0x154) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B6) }, + { ZYDIS_DEFINITION(0x1, 0x16F), ZYDIS_DEFINITION(0x1, 0x170) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B8) }, + { ZYDIS_DEFINITION(0x1, 0x15B), ZYDIS_DEFINITION(0x1, 0x15C) }, + { ZYDIS_DEFINITION(0x1, 0x614), ZYDIS_DEFINITION(0x1, 0x615) }, + { ZYDIS_DEFINITION(0x1, 0x600), ZYDIS_DEFINITION(0x1, 0x601) }, + { ZYDIS_DEFINITION(0x1, 0x5EE), ZYDIS_DEFINITION(0x1, 0x5EF) }, + { ZYDIS_DEFINITION(0x1, 0xCB), ZYDIS_DEFINITION(0x1, 0xCC) }, + { ZYDIS_DEFINITION(0x1, 0x38F), ZYDIS_DEFINITION(0x1, 0x390) }, + { ZYDIS_DEFINITION(0x1, 0x155), ZYDIS_DEFINITION(0x1, 0x156) }, + { ZYDIS_DEFINITION(0x1, 0x161), ZYDIS_DEFINITION(0x1, 0x163) }, + { ZYDIS_DEFINITION(0x1, 0x162), ZYDIS_DEFINITION(0x1, 0x164) }, + { ZYDIS_DEFINITION(0x1, 0x621), ZYDIS_DEFINITION(0x1, 0x622) }, + { ZYDIS_DEFINITION(0x1, 0x315), ZYDIS_DEFINITION(0x1, 0x316) }, + { ZYDIS_DEFINITION(0x1, 0x17B), ZYDIS_DEFINITION(0x1, 0x17C) }, + { ZYDIS_DEFINITION(0x1, 0x309), ZYDIS_DEFINITION(0x1, 0x30A) }, + { ZYDIS_DEFINITION(0x1, 0x33B), ZYDIS_DEFINITION(0x1, 0x33D) }, + { ZYDIS_DEFINITION(0x1, 0x33C), ZYDIS_DEFINITION(0x1, 0x33E) }, + { ZYDIS_DEFINITION(0xB, 0x546), ZYDIS_DEFINITION(0xB, 0x548) }, + { ZYDIS_DEFINITION(0xB, 0x547), ZYDIS_DEFINITION(0xB, 0x549) }, + { ZYDIS_DEFINITION(0x1, 0x35D), ZYDIS_DEFINITION(0x1, 0x35E) }, + { ZYDIS_DEFINITION(0x1, 0x33F), ZYDIS_DEFINITION(0x1, 0x341) }, + { ZYDIS_DEFINITION(0x1, 0x340), ZYDIS_DEFINITION(0x1, 0x342) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B9), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x25) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BC), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x11B), ZYDIS_DEFINITION(0xB, 0x11C) }, + { ZYDIS_DEFINITION(0x1, 0x121), ZYDIS_DEFINITION(0x1, 0x123) }, + { ZYDIS_DEFINITION(0x1, 0x122), ZYDIS_DEFINITION(0x1, 0x124) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C1) }, + { ZYDIS_DEFINITION(0x1, 0x94), ZYDIS_DEFINITION(0x1, 0x95) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C3) }, + { ZYDIS_DEFINITION(0x1, 0xA2), ZYDIS_DEFINITION(0x1, 0xA3) }, + { ZYDIS_DEFINITION(0x1, 0x361), ZYDIS_DEFINITION(0x1, 0x362) }, + { ZYDIS_DEFINITION(0x1, 0x363), ZYDIS_DEFINITION(0x1, 0x364) }, + { ZYDIS_DEFINITION(0x1, 0x32F), ZYDIS_DEFINITION(0x1, 0x331) }, + { ZYDIS_DEFINITION(0x1, 0x330), ZYDIS_DEFINITION(0x1, 0x332) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C5) }, + { ZYDIS_DEFINITION(0x1, 0x14D), ZYDIS_DEFINITION(0x1, 0x14E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C7) }, + { ZYDIS_DEFINITION(0x1, 0x169), ZYDIS_DEFINITION(0x1, 0x16A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C9) }, + { ZYDIS_DEFINITION(0x1, 0x145), ZYDIS_DEFINITION(0x1, 0x146) }, + { ZYDIS_DEFINITION(0x1, 0x612), ZYDIS_DEFINITION(0x1, 0x613) }, + { ZYDIS_DEFINITION(0x1, 0xC9), ZYDIS_DEFINITION(0x1, 0xCA) }, + { ZYDIS_DEFINITION(0x1, 0x38D), ZYDIS_DEFINITION(0x1, 0x38E) }, + { ZYDIS_DEFINITION(0x1, 0x147), ZYDIS_DEFINITION(0x1, 0x148) }, + { ZYDIS_DEFINITION(0x1, 0x61F), ZYDIS_DEFINITION(0x1, 0x620) }, + { ZYDIS_DEFINITION(0x1, 0x313), ZYDIS_DEFINITION(0x1, 0x314) }, + { ZYDIS_DEFINITION(0x1, 0x179), ZYDIS_DEFINITION(0x1, 0x17A) }, + { ZYDIS_DEFINITION(0x1, 0x307), ZYDIS_DEFINITION(0x1, 0x308) }, + { ZYDIS_DEFINITION(0xB, 0x54A), ZYDIS_DEFINITION(0xB, 0x54C) }, + { ZYDIS_DEFINITION(0xB, 0x54B), ZYDIS_DEFINITION(0xB, 0x54D) }, + { ZYDIS_DEFINITION(0x1, 0x2E1), ZYDIS_DEFINITION(0x1, 0x2E3) }, + { ZYDIS_DEFINITION(0x1, 0x2E2), ZYDIS_DEFINITION(0x1, 0x2E4) }, + { ZYDIS_DEFINITION(0x1, 0x2E9), ZYDIS_DEFINITION(0x1, 0x2EB) }, + { ZYDIS_DEFINITION(0x1, 0x2EA), ZYDIS_DEFINITION(0x1, 0x2EC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5CA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5CB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5CC), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x24) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5CD), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x119), ZYDIS_DEFINITION(0xB, 0x11A) }, + { ZYDIS_DEFINITION(0x1, 0xD1), ZYDIS_DEFINITION(0x1, 0xD3) }, + { ZYDIS_DEFINITION(0x1, 0xD2), ZYDIS_DEFINITION(0x1, 0xD4) }, + { ZYDIS_DEFINITION(0x1, 0x129), ZYDIS_DEFINITION(0x1, 0x12B) }, + { ZYDIS_DEFINITION(0x1, 0x12A), ZYDIS_DEFINITION(0x1, 0x12C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2F3) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2F4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5CE), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5CF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D2) }, + { ZYDIS_DEFINITION(0x1, 0x8E), ZYDIS_DEFINITION(0x1, 0x8F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D4) }, + { ZYDIS_DEFINITION(0x1, 0x88), ZYDIS_DEFINITION(0x1, 0x89) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D6) }, + { ZYDIS_DEFINITION(0x1, 0xAE), ZYDIS_DEFINITION(0x1, 0xAF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D8) }, + { ZYDIS_DEFINITION(0xB, 0x9C), ZYDIS_DEFINITION(0xB, 0x9D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x10A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x53) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x55) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x57) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x59) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x60), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x61) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x63) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x64), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x65) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x66), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x67) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x68), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x69) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x70), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x71) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x72), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x73) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x74), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x75) } +}; + +const ZydisDecoderTreeNode FILTERS_MODRM_REG[][8] = +{ + { ZYDIS_DEFINITION(0x1, 0x6B1), ZYDIS_DEFINITION(0x1, 0x6CF), ZYDIS_DEFINITION(0x1, 0x2C2), ZYDIS_DEFINITION(0x1, 0x2D8), ZYDIS_DEFINITION(0x1, 0x71C), ZYDIS_DEFINITION(0x1, 0x71E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x6B2), ZYDIS_DEFINITION(0x1, 0x6D0), ZYDIS_DEFINITION(0x1, 0x2C3), ZYDIS_DEFINITION(0x1, 0x2D9), ZYDIS_DEFINITION(0x1, 0x71D), ZYDIS_DEFINITION(0x1, 0x71F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x0), ZYDIS_DEFINITION(0x1, 0x6B3), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x5), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x6) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x7), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x8) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x9), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x11), ZYDIS_DEFINITION(0x1, 0x6B4), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C5), ZYDIS_DEFINITION(0x1, 0x24A) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x61D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x51D), ZYDIS_DEFINITION(0x1, 0x522), ZYDIS_DEFINITION(0x1, 0x523), ZYDIS_DEFINITION(0x1, 0x51D), ZYDIS_DEFINITION(0x1, 0x51D), ZYDIS_DEFINITION(0x1, 0x51D), ZYDIS_DEFINITION(0x1, 0x51D), ZYDIS_DEFINITION(0x1, 0x51D) }, + { ZYDIS_DEFINITION(0x1, 0x3A4), ZYDIS_DEFINITION(0x1, 0x3A5), ZYDIS_DEFINITION(0x1, 0x3A6), ZYDIS_DEFINITION(0x1, 0x3A7), ZYDIS_DEFINITION(0x1, 0x3A8), ZYDIS_DEFINITION(0x1, 0x3A9), ZYDIS_DEFINITION(0x1, 0x3AA), ZYDIS_DEFINITION(0x1, 0x3AB) }, + { ZYDIS_DEFINITION(0x1, 0x51E), ZYDIS_DEFINITION(0x1, 0x51F), ZYDIS_DEFINITION(0x1, 0x520), ZYDIS_DEFINITION(0x1, 0x521), ZYDIS_DEFINITION(0x1, 0x3AC), ZYDIS_DEFINITION(0x1, 0x3AD), ZYDIS_DEFINITION(0x1, 0x3AE), ZYDIS_DEFINITION(0x1, 0x3AF) }, + { ZYDIS_DEFINITION(0x1, 0xAC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1F), ZYDIS_DEFINITION(0x1, 0x3C2), ZYDIS_DEFINITION(0x1, 0x3C3), ZYDIS_DEFINITION(0x1, 0x3C4), ZYDIS_DEFINITION(0x1, 0x3C5), ZYDIS_DEFINITION(0x1, 0x3C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x0), ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x1), ZYDIS_DEFINITION(0x1, 0x3D4), ZYDIS_DEFINITION(0x1, 0x3D4), ZYDIS_DEFINITION(0x1, 0x3D4), ZYDIS_DEFINITION(0x1, 0x3D4), ZYDIS_DEFINITION(0x1, 0x3D4), ZYDIS_DEFINITION(0x1, 0x3D4), ZYDIS_DEFINITION(0x1, 0x3D4) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x56D), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x55A), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x54D), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x56E), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x55B), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x54E), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x560), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x554), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x540), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x561), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x555), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x541), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x567), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x547), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x568), ZYDIS_DEFINITION(0xB, 0x566), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x548), ZYDIS_DEFINITION(0xB, 0x546) }, + { ZYDIS_DEFINITION(0x13, 0x16C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x13), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x14), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x15), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BB), ZYDIS_DEFINITION(0x1, 0x2E7), ZYDIS_DEFINITION(0x1, 0x66D) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x47), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x49), ZYDIS_DEFINITION(0x1, 0x595), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28), ZYDIS_DEFINITION(0x1, 0x711), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B), ZYDIS_DEFINITION(0x1, 0x2B6), ZYDIS_DEFINITION(0x1, 0x6C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E), ZYDIS_DEFINITION(0x1, 0xAD) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB3), ZYDIS_DEFINITION(0x1, 0xAE) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x596), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB1), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x91), ZYDIS_DEFINITION(0xB, 0x9D), ZYDIS_DEFINITION(0xB, 0x99), ZYDIS_DEFINITION(0xB, 0x93) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x92), ZYDIS_DEFINITION(0xB, 0x9E), ZYDIS_DEFINITION(0xB, 0x9A), ZYDIS_DEFINITION(0xB, 0x94) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5EC), ZYDIS_DEFINITION(0x1, 0x5ED) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32), ZYDIS_DEFINITION(0x1, 0x726), ZYDIS_DEFINITION(0x1, 0x727) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x721), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x734), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6C), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB0), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB4), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB5), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB6), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x79), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7B) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x20), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x21), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x22), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x23), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x24), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x25), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C9) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FC), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FD), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FE), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x300), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x301), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2F), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CA) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CB) }, + { ZYDIS_DEFINITION(0xD, 0x24), ZYDIS_DEFINITION(0xD, 0x3E4), ZYDIS_DEFINITION(0xD, 0xE), ZYDIS_DEFINITION(0xD, 0x637), ZYDIS_DEFINITION(0xB, 0x52), ZYDIS_DEFINITION(0xD, 0x6DB), ZYDIS_DEFINITION(0xB, 0x75C), ZYDIS_DEFINITION(0xD, 0xE0) }, + { ZYDIS_DEFINITION(0xD, 0x25), ZYDIS_DEFINITION(0xD, 0x3E5), ZYDIS_DEFINITION(0xD, 0xF), ZYDIS_DEFINITION(0xD, 0x638), ZYDIS_DEFINITION(0xB, 0x53), ZYDIS_DEFINITION(0xD, 0x6DC), ZYDIS_DEFINITION(0xB, 0x75D), ZYDIS_DEFINITION(0xD, 0xE1) }, + { ZYDIS_DEFINITION(0xE, 0x26), ZYDIS_DEFINITION(0xE, 0x3E6), ZYDIS_DEFINITION(0xE, 0x10), ZYDIS_DEFINITION(0xE, 0x639), ZYDIS_DEFINITION(0xE, 0x54), ZYDIS_DEFINITION(0xE, 0x6DD), ZYDIS_DEFINITION(0xE, 0x75E), ZYDIS_DEFINITION(0xE, 0xE2) }, + { ZYDIS_DEFINITION(0xE, 0x27), ZYDIS_DEFINITION(0xE, 0x3E7), ZYDIS_DEFINITION(0xE, 0x11), ZYDIS_DEFINITION(0xE, 0x63A), ZYDIS_DEFINITION(0xE, 0x55), ZYDIS_DEFINITION(0xE, 0x6DE), ZYDIS_DEFINITION(0xE, 0x75F), ZYDIS_DEFINITION(0xE, 0xE3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA9) }, + { ZYDIS_DEFINITION(0xD, 0x2A), ZYDIS_DEFINITION(0xD, 0x3EA), ZYDIS_DEFINITION(0xD, 0x14), ZYDIS_DEFINITION(0xD, 0x63D), ZYDIS_DEFINITION(0xD, 0x58), ZYDIS_DEFINITION(0xD, 0x6E1), ZYDIS_DEFINITION(0xD, 0x762), ZYDIS_DEFINITION(0xD, 0xE6) }, + { ZYDIS_DEFINITION(0xD, 0x2B), ZYDIS_DEFINITION(0xD, 0x3EB), ZYDIS_DEFINITION(0xD, 0x15), ZYDIS_DEFINITION(0xD, 0x63E), ZYDIS_DEFINITION(0xD, 0x59), ZYDIS_DEFINITION(0xD, 0x6E2), ZYDIS_DEFINITION(0xD, 0x763), ZYDIS_DEFINITION(0xD, 0xE7) }, + { ZYDIS_DEFINITION(0x1, 0x50E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x50F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EC) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3ED), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x411), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x412), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x5F8), ZYDIS_DEFINITION(0xB, 0x604), ZYDIS_DEFINITION(0xB, 0x5C8), ZYDIS_DEFINITION(0xB, 0x5D8), ZYDIS_DEFINITION(0xB, 0x67E), ZYDIS_DEFINITION(0xB, 0x69A), ZYDIS_DEFINITION(0xB, 0x67F), ZYDIS_DEFINITION(0xB, 0x620) }, + { ZYDIS_DEFINITION(0xB, 0x5F9), ZYDIS_DEFINITION(0xB, 0x605), ZYDIS_DEFINITION(0xB, 0x5C9), ZYDIS_DEFINITION(0xB, 0x5D9), ZYDIS_DEFINITION(0xB, 0x680), ZYDIS_DEFINITION(0xB, 0x69B), ZYDIS_DEFINITION(0xB, 0x681), ZYDIS_DEFINITION(0xB, 0x621) }, + { ZYDIS_DEFINITION(0xB, 0x5FA), ZYDIS_DEFINITION(0xB, 0x606), ZYDIS_DEFINITION(0xB, 0x5CA), ZYDIS_DEFINITION(0xB, 0x5DA), ZYDIS_DEFINITION(0xB, 0x682), ZYDIS_DEFINITION(0xB, 0x69C), ZYDIS_DEFINITION(0xB, 0x683), ZYDIS_DEFINITION(0xB, 0x622) }, + { ZYDIS_DEFINITION(0xB, 0x5FB), ZYDIS_DEFINITION(0xB, 0x607), ZYDIS_DEFINITION(0xB, 0x5CB), ZYDIS_DEFINITION(0xB, 0x5DB), ZYDIS_DEFINITION(0xB, 0x684), ZYDIS_DEFINITION(0xB, 0x69D), ZYDIS_DEFINITION(0xB, 0x685), ZYDIS_DEFINITION(0xB, 0x623) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x420), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x421), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x422) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x30), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x458), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x459), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x490), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x491), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x492), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x493), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x494), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x495), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x496), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x497), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x498) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x514), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57D) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x58D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x58E) }, + { ZYDIS_DEFINITION(0xB, 0x307), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x39) }, + { ZYDIS_DEFINITION(0xB, 0x308), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xE, 0x309), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3A) }, + { ZYDIS_DEFINITION(0xE, 0x30A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5FC), ZYDIS_DEFINITION(0x1, 0x608), ZYDIS_DEFINITION(0x1, 0x5CC), ZYDIS_DEFINITION(0x1, 0x5DC), ZYDIS_DEFINITION(0x1, 0x686), ZYDIS_DEFINITION(0x1, 0x69E), ZYDIS_DEFINITION(0x1, 0x687), ZYDIS_DEFINITION(0x1, 0x624) }, + { ZYDIS_DEFINITION(0x1, 0x5FD), ZYDIS_DEFINITION(0x1, 0x609), ZYDIS_DEFINITION(0x1, 0x5CD), ZYDIS_DEFINITION(0x1, 0x5DD), ZYDIS_DEFINITION(0x1, 0x688), ZYDIS_DEFINITION(0x1, 0x69F), ZYDIS_DEFINITION(0x1, 0x689), ZYDIS_DEFINITION(0x1, 0x625) }, + { ZYDIS_DEFINITION(0x1, 0x5FE), ZYDIS_DEFINITION(0x1, 0x60A), ZYDIS_DEFINITION(0x1, 0x5CE), ZYDIS_DEFINITION(0x1, 0x5DE), ZYDIS_DEFINITION(0x1, 0x68A), ZYDIS_DEFINITION(0x1, 0x6A0), ZYDIS_DEFINITION(0x1, 0x68B), ZYDIS_DEFINITION(0x1, 0x626) }, + { ZYDIS_DEFINITION(0x1, 0x5FF), ZYDIS_DEFINITION(0x1, 0x60B), ZYDIS_DEFINITION(0x1, 0x5CF), ZYDIS_DEFINITION(0x1, 0x5DF), ZYDIS_DEFINITION(0x1, 0x68C), ZYDIS_DEFINITION(0x1, 0x6A1), ZYDIS_DEFINITION(0x1, 0x68D), ZYDIS_DEFINITION(0x1, 0x627) }, + { ZYDIS_DEFINITION(0x1, 0x600), ZYDIS_DEFINITION(0x1, 0x60C), ZYDIS_DEFINITION(0x1, 0x5D0), ZYDIS_DEFINITION(0x1, 0x5E0), ZYDIS_DEFINITION(0x1, 0x68E), ZYDIS_DEFINITION(0x1, 0x6A2), ZYDIS_DEFINITION(0x1, 0x68F), ZYDIS_DEFINITION(0x1, 0x628) }, + { ZYDIS_DEFINITION(0x1, 0x601), ZYDIS_DEFINITION(0x1, 0x60D), ZYDIS_DEFINITION(0x1, 0x5D1), ZYDIS_DEFINITION(0x1, 0x5E1), ZYDIS_DEFINITION(0x1, 0x690), ZYDIS_DEFINITION(0x1, 0x6A3), ZYDIS_DEFINITION(0x1, 0x691), ZYDIS_DEFINITION(0x1, 0x629) }, + { ZYDIS_DEFINITION(0x1, 0x602), ZYDIS_DEFINITION(0x1, 0x60E), ZYDIS_DEFINITION(0x1, 0x5D2), ZYDIS_DEFINITION(0x1, 0x5E2), ZYDIS_DEFINITION(0x1, 0x692), ZYDIS_DEFINITION(0x1, 0x6A4), ZYDIS_DEFINITION(0x1, 0x693), ZYDIS_DEFINITION(0x1, 0x62A) }, + { ZYDIS_DEFINITION(0x1, 0x603), ZYDIS_DEFINITION(0x1, 0x60F), ZYDIS_DEFINITION(0x1, 0x5D3), ZYDIS_DEFINITION(0x1, 0x5E3), ZYDIS_DEFINITION(0x1, 0x694), ZYDIS_DEFINITION(0x1, 0x6A5), ZYDIS_DEFINITION(0x1, 0x695), ZYDIS_DEFINITION(0x1, 0x62B) }, + { ZYDIS_DEFINITION(0x1, 0x170), ZYDIS_DEFINITION(0x1, 0x1C7), ZYDIS_DEFINITION(0x1, 0x180), ZYDIS_DEFINITION(0x1, 0x186), ZYDIS_DEFINITION(0x1, 0x1EC), ZYDIS_DEFINITION(0x1, 0x1F1), ZYDIS_DEFINITION(0x1, 0x18F), ZYDIS_DEFINITION(0x1, 0x194) }, + { ZYDIS_DEFINITION(0x1, 0x171), ZYDIS_DEFINITION(0x1, 0x1C8), ZYDIS_DEFINITION(0x1, 0x181), ZYDIS_DEFINITION(0x1, 0x187), ZYDIS_DEFINITION(0x1, 0x1ED), ZYDIS_DEFINITION(0x1, 0x1F2), ZYDIS_DEFINITION(0x1, 0x190), ZYDIS_DEFINITION(0x1, 0x195) }, + { ZYDIS_DEFINITION(0x1, 0x1B9), ZYDIS_DEFINITION(0x1, 0x1FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3B), ZYDIS_DEFINITION(0x1, 0x1EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3F) }, + { ZYDIS_DEFINITION(0x1, 0x1BA), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1E2), ZYDIS_DEFINITION(0x1, 0x1E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x21), ZYDIS_DEFINITION(0x1, 0x1BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x22), ZYDIS_DEFINITION(0x1, 0x1D1) }, + { ZYDIS_DEFINITION(0x1, 0x178), ZYDIS_DEFINITION(0x1, 0x17A), ZYDIS_DEFINITION(0x1, 0x179), ZYDIS_DEFINITION(0x1, 0x17F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x40), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x19D), ZYDIS_DEFINITION(0x1, 0x1AA), ZYDIS_DEFINITION(0x1, 0x19F), ZYDIS_DEFINITION(0x1, 0x1A1), ZYDIS_DEFINITION(0x1, 0x1B5), ZYDIS_DEFINITION(0x1, 0x1B7), ZYDIS_DEFINITION(0x1, 0x1A3), ZYDIS_DEFINITION(0x1, 0x1A5) }, + { ZYDIS_DEFINITION(0x1, 0x17B), ZYDIS_DEFINITION(0x1, 0x17D), ZYDIS_DEFINITION(0x1, 0x17C), ZYDIS_DEFINITION(0x1, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x41), ZYDIS_DEFINITION(0x1, 0x1F8), ZYDIS_DEFINITION(0x1, 0x184), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1A7), ZYDIS_DEFINITION(0x1, 0x1B2), ZYDIS_DEFINITION(0x1, 0x1AD), ZYDIS_DEFINITION(0x1, 0x1AF), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1BB), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1E6) }, + { ZYDIS_DEFINITION(0x1, 0x172), ZYDIS_DEFINITION(0x1, 0x1C9), ZYDIS_DEFINITION(0x1, 0x182), ZYDIS_DEFINITION(0x1, 0x188), ZYDIS_DEFINITION(0x1, 0x1F3), ZYDIS_DEFINITION(0x1, 0x1EE), ZYDIS_DEFINITION(0x1, 0x196), ZYDIS_DEFINITION(0x1, 0x191) }, + { ZYDIS_DEFINITION(0x1, 0x173), ZYDIS_DEFINITION(0x1, 0x1CA), ZYDIS_DEFINITION(0x1, 0x183), ZYDIS_DEFINITION(0x1, 0x189), ZYDIS_DEFINITION(0x1, 0x1EF), ZYDIS_DEFINITION(0x1, 0x1F4), ZYDIS_DEFINITION(0x1, 0x192), ZYDIS_DEFINITION(0x1, 0x197) }, + { ZYDIS_DEFINITION(0x1, 0x19B), ZYDIS_DEFINITION(0x1, 0x1FF), ZYDIS_DEFINITION(0x1, 0x1E3), ZYDIS_DEFINITION(0x1, 0x1E7), ZYDIS_DEFINITION(0x1, 0x1F7), ZYDIS_DEFINITION(0x1, 0x1FA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1BC), ZYDIS_DEFINITION(0x1, 0x1B3), ZYDIS_DEFINITION(0x1, 0x1E4), ZYDIS_DEFINITION(0x1, 0x1E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x23), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x24), ZYDIS_DEFINITION(0x1, 0x1D4) }, + { ZYDIS_DEFINITION(0x1, 0x174), ZYDIS_DEFINITION(0x1, 0x1CB), ZYDIS_DEFINITION(0x1, 0x18A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x42), ZYDIS_DEFINITION(0x1, 0x1F5), ZYDIS_DEFINITION(0x1, 0x1F0), ZYDIS_DEFINITION(0x1, 0x198), ZYDIS_DEFINITION(0x1, 0x193) }, + { ZYDIS_DEFINITION(0x1, 0x19E), ZYDIS_DEFINITION(0x1, 0x1AB), ZYDIS_DEFINITION(0x1, 0x1A0), ZYDIS_DEFINITION(0x1, 0x1A2), ZYDIS_DEFINITION(0x1, 0x1B6), ZYDIS_DEFINITION(0x1, 0x1B8), ZYDIS_DEFINITION(0x1, 0x1A4), ZYDIS_DEFINITION(0x1, 0x1A6) }, + { ZYDIS_DEFINITION(0x1, 0x19C), ZYDIS_DEFINITION(0x1, 0x200), ZYDIS_DEFINITION(0x1, 0x1E9), ZYDIS_DEFINITION(0x1, 0x1EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x43), ZYDIS_DEFINITION(0x1, 0x1F9), ZYDIS_DEFINITION(0x1, 0x185), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1A8), ZYDIS_DEFINITION(0x1, 0x1B4), ZYDIS_DEFINITION(0x1, 0x1AE), ZYDIS_DEFINITION(0x1, 0x1B0), ZYDIS_DEFINITION(0x1, 0x175), ZYDIS_DEFINITION(0x1, 0x1A9), ZYDIS_DEFINITION(0x1, 0x176), ZYDIS_DEFINITION(0x1, 0x1B1) }, + { ZYDIS_DEFINITION(0xD, 0x6FB), ZYDIS_DEFINITION(0xD, 0x6FC), ZYDIS_DEFINITION(0x1, 0x3D6), ZYDIS_DEFINITION(0x1, 0x39E), ZYDIS_DEFINITION(0x1, 0x38E), ZYDIS_DEFINITION(0x1, 0x220), ZYDIS_DEFINITION(0x1, 0x14E), ZYDIS_DEFINITION(0x1, 0x218) }, + { ZYDIS_DEFINITION(0xD, 0x6FD), ZYDIS_DEFINITION(0xD, 0x6FE), ZYDIS_DEFINITION(0x1, 0x3D7), ZYDIS_DEFINITION(0x1, 0x39F), ZYDIS_DEFINITION(0x1, 0x38F), ZYDIS_DEFINITION(0x1, 0x221), ZYDIS_DEFINITION(0x1, 0x14F), ZYDIS_DEFINITION(0x1, 0x219) }, + { ZYDIS_DEFINITION(0xE, 0x6FF), ZYDIS_DEFINITION(0xE, 0x700), ZYDIS_DEFINITION(0x1, 0x3D8), ZYDIS_DEFINITION(0x1, 0x3A0), ZYDIS_DEFINITION(0x1, 0x390), ZYDIS_DEFINITION(0x1, 0x222), ZYDIS_DEFINITION(0x1, 0x150), ZYDIS_DEFINITION(0x1, 0x21A) }, + { ZYDIS_DEFINITION(0xE, 0x701), ZYDIS_DEFINITION(0xE, 0x702), ZYDIS_DEFINITION(0x1, 0x3D9), ZYDIS_DEFINITION(0x1, 0x3A1), ZYDIS_DEFINITION(0x1, 0x391), ZYDIS_DEFINITION(0x1, 0x223), ZYDIS_DEFINITION(0x1, 0x151), ZYDIS_DEFINITION(0x1, 0x21B) }, + { ZYDIS_DEFINITION(0x1, 0x22D), ZYDIS_DEFINITION(0x1, 0x14A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x22E), ZYDIS_DEFINITION(0x1, 0x14B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x22F), ZYDIS_DEFINITION(0x1, 0x14C), ZYDIS_DEFINITION(0x1, 0xA3), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x272), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5BA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x230), ZYDIS_DEFINITION(0x1, 0x14D), ZYDIS_DEFINITION(0x1, 0xA4), ZYDIS_DEFINITION(0x1, 0xA5), ZYDIS_DEFINITION(0x1, 0x273), ZYDIS_DEFINITION(0x1, 0x274), ZYDIS_DEFINITION(0x1, 0x5BB), ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_MODRM_RM[][8] = +{ + { ZYDIS_DEFINITION(0x1, 0x72D), ZYDIS_DEFINITION(0x1, 0x725), ZYDIS_DEFINITION(0x1, 0x724), ZYDIS_DEFINITION(0x1, 0x72E), ZYDIS_DEFINITION(0x1, 0x6C0), ZYDIS_DEFINITION(0x1, 0xAF), ZYDIS_DEFINITION(0x1, 0x6B0), ZYDIS_DEFINITION(0x1, 0x24B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3), ZYDIS_DEFINITION(0x1, 0x5F1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4), ZYDIS_DEFINITION(0x1, 0x5EB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4), ZYDIS_DEFINITION(0x1, 0x720), ZYDIS_DEFINITION(0x1, 0x723), ZYDIS_DEFINITION(0x1, 0x72C), ZYDIS_DEFINITION(0x1, 0x733), ZYDIS_DEFINITION(0x1, 0x481), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6), ZYDIS_DEFINITION(0x1, 0xA9), ZYDIS_DEFINITION(0x1, 0x6BD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7) }, + { ZYDIS_DEFINITION(0x1, 0x750), ZYDIS_DEFINITION(0x1, 0x775), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x722), ZYDIS_DEFINITION(0x1, 0x74F), ZYDIS_DEFINITION(0x1, 0x77B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8) }, + { ZYDIS_DEFINITION(0x1, 0x64B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5E9), ZYDIS_DEFINITION(0x1, 0x739) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x0), ZYDIS_DEFINITION(0x1, 0x703) }, + { ZYDIS_DEFINITION(0x1, 0x66A), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x62C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC) }, + { ZYDIS_DEFINITION(0x1, 0x77A), ZYDIS_DEFINITION(0x1, 0x768), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD), ZYDIS_DEFINITION(0x1, 0x5C3) }, + { ZYDIS_DEFINITION(0x1, 0x3C7), ZYDIS_DEFINITION(0x1, 0x3C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x4), ZYDIS_DEFINITION(0x1, 0x3CB), ZYDIS_DEFINITION(0x1, 0x3CC), ZYDIS_DEFINITION(0x1, 0x3CD), ZYDIS_DEFINITION(0x1, 0x3CE) }, + { ZYDIS_DEFINITION(0x1, 0x2F4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x776), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x777), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x778), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x779), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x74D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x74A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x74C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x74B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x74E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x184), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x185), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x186), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x187), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x357), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x358), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x361), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x362), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x379), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x450), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x451), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x452), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x453), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x454), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x455) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x515), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x520), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x521), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x582), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x593), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x594), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x73E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xF, 0x743), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1CE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x177), ZYDIS_DEFINITION(0x1, 0x16F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1F6), ZYDIS_DEFINITION(0x1, 0x1FD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1BD), ZYDIS_DEFINITION(0x1, 0x1C2), ZYDIS_DEFINITION(0x1, 0x1C1), ZYDIS_DEFINITION(0x1, 0x1C5), ZYDIS_DEFINITION(0x1, 0x1C3), ZYDIS_DEFINITION(0x1, 0x1C4), ZYDIS_DEFINITION(0x1, 0x1C6), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x16E), ZYDIS_DEFINITION(0x1, 0x206), ZYDIS_DEFINITION(0x1, 0x1D9), ZYDIS_DEFINITION(0x1, 0x1D6), ZYDIS_DEFINITION(0x1, 0x205), ZYDIS_DEFINITION(0x1, 0x1D8), ZYDIS_DEFINITION(0x1, 0x18D), ZYDIS_DEFINITION(0x1, 0x1AC) }, + { ZYDIS_DEFINITION(0x1, 0x1D7), ZYDIS_DEFINITION(0x1, 0x207), ZYDIS_DEFINITION(0x1, 0x1E1), ZYDIS_DEFINITION(0x1, 0x1E0), ZYDIS_DEFINITION(0x1, 0x1DA), ZYDIS_DEFINITION(0x1, 0x1DD), ZYDIS_DEFINITION(0x1, 0x1DF), ZYDIS_DEFINITION(0x1, 0x18C) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1FB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x19A), ZYDIS_DEFINITION(0x1, 0x18E), ZYDIS_DEFINITION(0x1, 0x1CC), ZYDIS_DEFINITION(0x1, 0x1CD), ZYDIS_DEFINITION(0x1, 0x1DE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x18B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1D5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_MANDATORY_PREFIX[][5] = +{ + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x7), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x384), ZYDIS_DEFINITION(0x1, 0x380), ZYDIS_DEFINITION(0x1, 0x373), ZYDIS_DEFINITION(0x1, 0x368) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x385), ZYDIS_DEFINITION(0x1, 0x381), ZYDIS_DEFINITION(0x1, 0x374), ZYDIS_DEFINITION(0x1, 0x369) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x386), ZYDIS_DEFINITION(0x1, 0x382), ZYDIS_DEFINITION(0x1, 0x375), ZYDIS_DEFINITION(0x1, 0x36A) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x387), ZYDIS_DEFINITION(0x1, 0x383), ZYDIS_DEFINITION(0x1, 0x376), ZYDIS_DEFINITION(0x1, 0x36B) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x33C), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x36E), ZYDIS_DEFINITION(0x1, 0x32D) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x344), ZYDIS_DEFINITION(0x1, 0x342), ZYDIS_DEFINITION(0x1, 0x36F), ZYDIS_DEFINITION(0x1, 0x32E) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x345), ZYDIS_DEFINITION(0x1, 0x343), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x71A), ZYDIS_DEFINITION(0x1, 0x718), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x71B), ZYDIS_DEFINITION(0x1, 0x719), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x716), ZYDIS_DEFINITION(0x1, 0x714), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x717), ZYDIS_DEFINITION(0x1, 0x715), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x341), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x36C), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x33F), ZYDIS_DEFINITION(0x1, 0x33D), ZYDIS_DEFINITION(0x1, 0x36D), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x340), ZYDIS_DEFINITION(0x1, 0x33E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3B4), ZYDIS_DEFINITION(0x1, 0x7C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x14), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x15) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x17), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x19) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3B7), ZYDIS_DEFINITION(0x1, 0x7F), ZYDIS_DEFINITION(0x1, 0x3B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1E) }, + { ZYDIS_DEFINITION(0x1, 0x3BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3BE), ZYDIS_DEFINITION(0x1, 0x3BF), ZYDIS_DEFINITION(0x1, 0x3C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xC), ZYDIS_DEFINITION(0x1, 0x3D1) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x317), ZYDIS_DEFINITION(0x1, 0x313), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x318), ZYDIS_DEFINITION(0x1, 0x314), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x319), ZYDIS_DEFINITION(0x1, 0x315), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x31A), ZYDIS_DEFINITION(0x1, 0x316), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x119), ZYDIS_DEFINITION(0x1, 0x117), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x11A), ZYDIS_DEFINITION(0x1, 0x118), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34D), ZYDIS_DEFINITION(0x1, 0x34C), ZYDIS_DEFINITION(0x1, 0x350), ZYDIS_DEFINITION(0x1, 0x34F) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13B), ZYDIS_DEFINITION(0x1, 0x137), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13C), ZYDIS_DEFINITION(0x1, 0x138), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x11F), ZYDIS_DEFINITION(0x1, 0x113), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x120), ZYDIS_DEFINITION(0x1, 0x114), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x70A), ZYDIS_DEFINITION(0x1, 0x708), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x70B), ZYDIS_DEFINITION(0x1, 0x709), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x105), ZYDIS_DEFINITION(0x1, 0x103), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x106), ZYDIS_DEFINITION(0x1, 0x104), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x208), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x528), ZYDIS_DEFINITION(0x1, 0x52A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x529), ZYDIS_DEFINITION(0x1, 0x52B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x494), ZYDIS_DEFINITION(0x1, 0x496), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x495), ZYDIS_DEFINITION(0x1, 0x497), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x48C), ZYDIS_DEFINITION(0x1, 0x48E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x48D), ZYDIS_DEFINITION(0x1, 0x48F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x490), ZYDIS_DEFINITION(0x1, 0x492), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x491), ZYDIS_DEFINITION(0x1, 0x493), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B0), ZYDIS_DEFINITION(0x1, 0x4B2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B1), ZYDIS_DEFINITION(0x1, 0x4B3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4A2), ZYDIS_DEFINITION(0x1, 0x4A4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4A3), ZYDIS_DEFINITION(0x1, 0x4A5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x49A), ZYDIS_DEFINITION(0x1, 0x49C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x49B), ZYDIS_DEFINITION(0x1, 0x49D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x49E), ZYDIS_DEFINITION(0x1, 0x4A0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x49F), ZYDIS_DEFINITION(0x1, 0x4A1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x534), ZYDIS_DEFINITION(0x1, 0x536), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x535), ZYDIS_DEFINITION(0x1, 0x537), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x53C), ZYDIS_DEFINITION(0x1, 0x53E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x53D), ZYDIS_DEFINITION(0x1, 0x53F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x538), ZYDIS_DEFINITION(0x1, 0x53A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x539), ZYDIS_DEFINITION(0x1, 0x53B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F4), ZYDIS_DEFINITION(0x1, 0x4F6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F5), ZYDIS_DEFINITION(0x1, 0x4F7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x451), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x452), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x68), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x69), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x593), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x594), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x402), ZYDIS_DEFINITION(0x1, 0x404), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x403), ZYDIS_DEFINITION(0x1, 0x405), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40A), ZYDIS_DEFINITION(0x1, 0x40C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40B), ZYDIS_DEFINITION(0x1, 0x40D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x406), ZYDIS_DEFINITION(0x1, 0x408), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x407), ZYDIS_DEFINITION(0x1, 0x409), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x460), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x349), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x416), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x417), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4ED), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x475), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x476), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4CA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4CB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4BA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4BB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x500), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x501), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x498), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x499), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x26), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x27), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x28), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x674), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x675), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x670), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x671), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x672), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x673), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x67C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x67D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x678), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x679), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x67A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x67B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x20D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x20E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x41), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x42), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x43), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x109) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x10A) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x10B) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x10C) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x29), ZYDIS_DEFINITION(0x1, 0x168), ZYDIS_DEFINITION(0x1, 0x167) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x612), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x613), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x610), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x611), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x616), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x617), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x614), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x615), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x66), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x67), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x64), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x65), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x453), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x454), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x43C), ZYDIS_DEFINITION(0xB, 0x43E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x43D), ZYDIS_DEFINITION(0xB, 0x43F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x482), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x483), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x48A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x48B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x16A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x16B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x4A6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x4A7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x23C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x23D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x15C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x15D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x15A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x15B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x38C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x38D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x455), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x456), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x47F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x480), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x676), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x677), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x20B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x20C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x209), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x20A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x46), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x47), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x347), ZYDIS_DEFINITION(0x1, 0x346), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6B7), ZYDIS_DEFINITION(0x1, 0x6B5), ZYDIS_DEFINITION(0x1, 0x6BB), ZYDIS_DEFINITION(0x1, 0x6B9) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6B8), ZYDIS_DEFINITION(0x1, 0x6B6), ZYDIS_DEFINITION(0x1, 0x6BC), ZYDIS_DEFINITION(0x1, 0x6BA) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x619), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x61B), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x61A), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x61C), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D4), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D6), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D5), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D7), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x60), ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x61), ZYDIS_DEFINITION(0x1, 0x5F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5C), ZYDIS_DEFINITION(0x1, 0x5A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x5B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3EE), ZYDIS_DEFINITION(0x1, 0x3EC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3EF), ZYDIS_DEFINITION(0x1, 0x3ED), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x766), ZYDIS_DEFINITION(0x1, 0x764), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x767), ZYDIS_DEFINITION(0x1, 0x765), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E), ZYDIS_DEFINITION(0x1, 0x2C), ZYDIS_DEFINITION(0x1, 0x32), ZYDIS_DEFINITION(0x1, 0x30) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2F), ZYDIS_DEFINITION(0x1, 0x2D), ZYDIS_DEFINITION(0x1, 0x33), ZYDIS_DEFINITION(0x1, 0x31) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x394), ZYDIS_DEFINITION(0x1, 0x392), ZYDIS_DEFINITION(0x1, 0x398), ZYDIS_DEFINITION(0x1, 0x396) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x395), ZYDIS_DEFINITION(0x1, 0x393), ZYDIS_DEFINITION(0x1, 0x399), ZYDIS_DEFINITION(0x1, 0x397) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x11D), ZYDIS_DEFINITION(0x1, 0x115), ZYDIS_DEFINITION(0x1, 0x12F), ZYDIS_DEFINITION(0x1, 0x125) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x11E), ZYDIS_DEFINITION(0x1, 0x116), ZYDIS_DEFINITION(0x1, 0x130), ZYDIS_DEFINITION(0x1, 0x126) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x10F), ZYDIS_DEFINITION(0x1, 0x11B), ZYDIS_DEFINITION(0x1, 0x139), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x110), ZYDIS_DEFINITION(0x1, 0x11C), ZYDIS_DEFINITION(0x1, 0x13A), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6E5), ZYDIS_DEFINITION(0x1, 0x6E3), ZYDIS_DEFINITION(0x1, 0x6E9), ZYDIS_DEFINITION(0x1, 0x6E7) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6E6), ZYDIS_DEFINITION(0x1, 0x6E4), ZYDIS_DEFINITION(0x1, 0x6EA), ZYDIS_DEFINITION(0x1, 0x6E8) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2EA), ZYDIS_DEFINITION(0x1, 0x2E8), ZYDIS_DEFINITION(0x1, 0x2EE), ZYDIS_DEFINITION(0x1, 0x2EC) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2EB), ZYDIS_DEFINITION(0x1, 0x2E9), ZYDIS_DEFINITION(0x1, 0x2EF), ZYDIS_DEFINITION(0x1, 0x2ED) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x154), ZYDIS_DEFINITION(0x1, 0x152), ZYDIS_DEFINITION(0x1, 0x158), ZYDIS_DEFINITION(0x1, 0x156) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x155), ZYDIS_DEFINITION(0x1, 0x153), ZYDIS_DEFINITION(0x1, 0x159), ZYDIS_DEFINITION(0x1, 0x157) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E0), ZYDIS_DEFINITION(0x1, 0x2DE), ZYDIS_DEFINITION(0x1, 0x2E4), ZYDIS_DEFINITION(0x1, 0x2E2) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E1), ZYDIS_DEFINITION(0x1, 0x2DF), ZYDIS_DEFINITION(0x1, 0x2E5), ZYDIS_DEFINITION(0x1, 0x2E3) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A5), ZYDIS_DEFINITION(0x1, 0x5A7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A6), ZYDIS_DEFINITION(0x1, 0x5A8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5AF), ZYDIS_DEFINITION(0x1, 0x5B1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5B0), ZYDIS_DEFINITION(0x1, 0x5B2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A9), ZYDIS_DEFINITION(0x1, 0x5AB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5AA), ZYDIS_DEFINITION(0x1, 0x5AC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x412), ZYDIS_DEFINITION(0x1, 0x414), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x413), ZYDIS_DEFINITION(0x1, 0x415), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46D), ZYDIS_DEFINITION(0x1, 0x46F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46E), ZYDIS_DEFINITION(0x1, 0x470), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x477), ZYDIS_DEFINITION(0x1, 0x479), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x478), ZYDIS_DEFINITION(0x1, 0x47A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x471), ZYDIS_DEFINITION(0x1, 0x473), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x472), ZYDIS_DEFINITION(0x1, 0x474), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x418), ZYDIS_DEFINITION(0x1, 0x41A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x419), ZYDIS_DEFINITION(0x1, 0x41B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x597), ZYDIS_DEFINITION(0x1, 0x599), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x598), ZYDIS_DEFINITION(0x1, 0x59A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A1), ZYDIS_DEFINITION(0x1, 0x5A3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A2), ZYDIS_DEFINITION(0x1, 0x5A4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x59B), ZYDIS_DEFINITION(0x1, 0x59D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x59C), ZYDIS_DEFINITION(0x1, 0x59E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40E), ZYDIS_DEFINITION(0x1, 0x410), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40F), ZYDIS_DEFINITION(0x1, 0x411), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5AD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5AE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x59F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x355), ZYDIS_DEFINITION(0x1, 0x334), ZYDIS_DEFINITION(0x1, 0x338), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x356), ZYDIS_DEFINITION(0x1, 0x335), ZYDIS_DEFINITION(0x1, 0x339), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x532), ZYDIS_DEFINITION(0xB, 0x52C), ZYDIS_DEFINITION(0xB, 0x52E), ZYDIS_DEFINITION(0xB, 0x530) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x533), ZYDIS_DEFINITION(0xB, 0x52D), ZYDIS_DEFINITION(0xB, 0x52F), ZYDIS_DEFINITION(0xB, 0x531) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x10), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x12), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x13), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x14), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x457), ZYDIS_DEFINITION(0x1, 0x459), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x458), ZYDIS_DEFINITION(0x1, 0x45A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x461), ZYDIS_DEFINITION(0x1, 0x463), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x462), ZYDIS_DEFINITION(0x1, 0x464), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45B), ZYDIS_DEFINITION(0x1, 0x45D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45C), ZYDIS_DEFINITION(0x1, 0x45E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x15E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x15), ZYDIS_INVALID, ZYDIS_DEFINITION(0x13, 0x23E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x30), ZYDIS_DEFINITION(0x1, 0x16D), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x23F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x31), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x20F), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x211) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x210), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x212) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x214), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x216) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x215), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x217) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x32), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x33), ZYDIS_DEFINITION(0x1, 0x35B), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x35), ZYDIS_DEFINITION(0x1, 0x35C), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35D), ZYDIS_DEFINITION(0x1, 0x336), ZYDIS_DEFINITION(0x1, 0x33A), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35E), ZYDIS_DEFINITION(0x1, 0x337), ZYDIS_DEFINITION(0x1, 0x33B), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x16), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x18), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x19), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1F), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x514), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x515), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x86), ZYDIS_DEFINITION(0x1, 0x88), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_TZCNT, 0x0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x87), ZYDIS_DEFINITION(0x1, 0x89), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_TZCNT, 0x1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x8A), ZYDIS_DEFINITION(0x1, 0x8C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_LZCNT, 0x0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x8B), ZYDIS_DEFINITION(0x1, 0x8D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_LZCNT, 0x1), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xEA), ZYDIS_DEFINITION(0xB, 0xE8), ZYDIS_DEFINITION(0xB, 0xF7), ZYDIS_DEFINITION(0xB, 0xF2) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xEB), ZYDIS_DEFINITION(0xB, 0xE9), ZYDIS_DEFINITION(0xB, 0xF8), ZYDIS_DEFINITION(0xB, 0xF3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x4AC), ZYDIS_DEFINITION(0xB, 0x4AE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x4AD), ZYDIS_DEFINITION(0xB, 0x4AF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x488), ZYDIS_DEFINITION(0xB, 0x489), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6AC), ZYDIS_DEFINITION(0xB, 0x6AA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6AD), ZYDIS_DEFINITION(0xB, 0x6AB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x23), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x24), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x26), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x27), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x36) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x37) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x56F), ZYDIS_DEFINITION(0x1, 0x571), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x570), ZYDIS_DEFINITION(0x1, 0x572), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x562), ZYDIS_DEFINITION(0x1, 0x564), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x563), ZYDIS_DEFINITION(0x1, 0x565), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x569), ZYDIS_DEFINITION(0x1, 0x56B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x56A), ZYDIS_DEFINITION(0x1, 0x56C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x424), ZYDIS_DEFINITION(0x1, 0x426), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x425), ZYDIS_DEFINITION(0x1, 0x427), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x502), ZYDIS_DEFINITION(0x1, 0x504), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x503), ZYDIS_DEFINITION(0x1, 0x505), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35F), ZYDIS_DEFINITION(0x1, 0x361), ZYDIS_DEFINITION(0x1, 0x333) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x360), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D8), ZYDIS_DEFINITION(0x1, 0x4D9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x587), ZYDIS_DEFINITION(0x1, 0x589), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x588), ZYDIS_DEFINITION(0x1, 0x58A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x58B), ZYDIS_DEFINITION(0x1, 0x58D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x58C), ZYDIS_DEFINITION(0x1, 0x58E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D0), ZYDIS_DEFINITION(0x1, 0x4D2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D1), ZYDIS_DEFINITION(0x1, 0x4D3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x440), ZYDIS_DEFINITION(0x1, 0x442), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x441), ZYDIS_DEFINITION(0x1, 0x443), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x430), ZYDIS_DEFINITION(0x1, 0x432), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x431), ZYDIS_DEFINITION(0x1, 0x433), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x434), ZYDIS_DEFINITION(0x1, 0x436), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x435), ZYDIS_DEFINITION(0x1, 0x437), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C0), ZYDIS_DEFINITION(0x1, 0x4C2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C1), ZYDIS_DEFINITION(0x1, 0x4C3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x444), ZYDIS_DEFINITION(0x1, 0x446), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x445), ZYDIS_DEFINITION(0x1, 0x447), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x449), ZYDIS_DEFINITION(0x1, 0x44B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44A), ZYDIS_DEFINITION(0x1, 0x44C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x55C), ZYDIS_DEFINITION(0x1, 0x55E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x55D), ZYDIS_DEFINITION(0x1, 0x55F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x556), ZYDIS_DEFINITION(0x1, 0x558), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x557), ZYDIS_DEFINITION(0x1, 0x559), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44D), ZYDIS_DEFINITION(0x1, 0x44F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44E), ZYDIS_DEFINITION(0x1, 0x450), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F8), ZYDIS_DEFINITION(0x1, 0x4FA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F9), ZYDIS_DEFINITION(0x1, 0x4FB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4FC), ZYDIS_DEFINITION(0x1, 0x4FE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4FD), ZYDIS_DEFINITION(0x1, 0x4FF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x135), ZYDIS_DEFINITION(0x1, 0x10D), ZYDIS_DEFINITION(0x1, 0x111) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x136), ZYDIS_DEFINITION(0x1, 0x10E), ZYDIS_DEFINITION(0x1, 0x112) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34E), ZYDIS_DEFINITION(0x1, 0x348), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x57F), ZYDIS_DEFINITION(0x1, 0x581), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x580), ZYDIS_DEFINITION(0x1, 0x582), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x583), ZYDIS_DEFINITION(0x1, 0x585), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x584), ZYDIS_DEFINITION(0x1, 0x586), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4CC), ZYDIS_DEFINITION(0x1, 0x4CE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4CD), ZYDIS_DEFINITION(0x1, 0x4CF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x519), ZYDIS_DEFINITION(0x1, 0x51B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x51A), ZYDIS_DEFINITION(0x1, 0x51C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x428), ZYDIS_DEFINITION(0x1, 0x42A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x429), ZYDIS_DEFINITION(0x1, 0x42B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x42C), ZYDIS_DEFINITION(0x1, 0x42E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x42D), ZYDIS_DEFINITION(0x1, 0x42F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4BC), ZYDIS_DEFINITION(0x1, 0x4BE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4BD), ZYDIS_DEFINITION(0x1, 0x4BF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5C4), ZYDIS_DEFINITION(0x1, 0x5C6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5C5), ZYDIS_DEFINITION(0x1, 0x5C7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2B5) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x54F), ZYDIS_DEFINITION(0x1, 0x551), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x550), ZYDIS_DEFINITION(0x1, 0x552), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x542), ZYDIS_DEFINITION(0x1, 0x544), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x543), ZYDIS_DEFINITION(0x1, 0x545), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x549), ZYDIS_DEFINITION(0x1, 0x54B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x54A), ZYDIS_DEFINITION(0x1, 0x54C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x506), ZYDIS_DEFINITION(0x1, 0x508), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x507), ZYDIS_DEFINITION(0x1, 0x509), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B4), ZYDIS_DEFINITION(0x1, 0x4B6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B5), ZYDIS_DEFINITION(0x1, 0x4B7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x524), ZYDIS_DEFINITION(0x1, 0x526), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x525), ZYDIS_DEFINITION(0x1, 0x527), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2DD), ZYDIS_DEFINITION(0x1, 0x2DC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x573), ZYDIS_DEFINITION(0x1, 0x575), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x574), ZYDIS_DEFINITION(0x1, 0x576), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x58F), ZYDIS_DEFINITION(0x1, 0x591), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x590), ZYDIS_DEFINITION(0x1, 0x592), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x577), ZYDIS_DEFINITION(0x1, 0x579), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x578), ZYDIS_DEFINITION(0x1, 0x57A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x57B), ZYDIS_DEFINITION(0x1, 0x57D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x57C), ZYDIS_DEFINITION(0x1, 0x57E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x41C), ZYDIS_DEFINITION(0x1, 0x41E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x41D), ZYDIS_DEFINITION(0x1, 0x41F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x438), ZYDIS_DEFINITION(0x1, 0x43A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x439), ZYDIS_DEFINITION(0x1, 0x43B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x420), ZYDIS_DEFINITION(0x1, 0x422), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x421), ZYDIS_DEFINITION(0x1, 0x423), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x0, 0x233), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x234), ZYDIS_DEFINITION(0x0, 0x235) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x7) }, + { ZYDIS_DEFINITION(0x0, 0x3F6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x3F7), ZYDIS_DEFINITION(0x0, 0x3F8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_B, 0x0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x448), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x0, 0x362), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x363), ZYDIS_DEFINITION(0x0, 0x364) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x11), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x13) }, + { ZYDIS_DEFINITION(0x0, 0xEC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0xED), ZYDIS_DEFINITION(0x0, 0xEE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x14), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x15), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x16) }, + { ZYDIS_DEFINITION(0x0, 0x6C3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x6C4), ZYDIS_DEFINITION(0x0, 0x6C5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x17), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x19) }, + { ZYDIS_DEFINITION(0x0, 0x2C6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x2C7), ZYDIS_DEFINITION(0x0, 0x2C8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1C) }, + { ZYDIS_DEFINITION(0x0, 0x63F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x640), ZYDIS_DEFINITION(0x0, 0x641) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1F) } +}; + +const ZydisDecoderTreeNode FILTERS_OPERAND_SIZE[][3] = +{ + { ZYDIS_DEFINITION(0x0, 0x6F3), ZYDIS_DEFINITION(0x0, 0x6F3), ZYDIS_DEFINITION(0x0, 0x6F2) }, + { ZYDIS_DEFINITION(0x1, 0x34B), ZYDIS_DEFINITION(0x1, 0x34B), ZYDIS_DEFINITION(0x1, 0x34A) }, + { ZYDIS_DEFINITION(0x0, 0x5BE), ZYDIS_DEFINITION(0x0, 0x5BF), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x0, 0x512), ZYDIS_DEFINITION(0x0, 0x513), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x84), ZYDIS_DEFINITION(0x1, 0x85), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x0, 0x240), ZYDIS_DEFINITION(0x0, 0x236), ZYDIS_DEFINITION(0x0, 0x237) }, + { ZYDIS_DEFINITION(0x0, 0x241), ZYDIS_DEFINITION(0x0, 0x238), ZYDIS_DEFINITION(0x0, 0x239) }, + { ZYDIS_DEFINITION(0x0, 0x242), ZYDIS_DEFINITION(0x0, 0x23A), ZYDIS_DEFINITION(0x0, 0x23B) }, + { ZYDIS_DEFINITION(0x0, 0x3FF), ZYDIS_DEFINITION(0x0, 0x3F9), ZYDIS_DEFINITION(0x0, 0x3FA) }, + { ZYDIS_DEFINITION(0x0, 0x400), ZYDIS_DEFINITION(0x0, 0x3FB), ZYDIS_DEFINITION(0x0, 0x3FC) }, + { ZYDIS_DEFINITION(0x0, 0x401), ZYDIS_DEFINITION(0x0, 0x3FD), ZYDIS_DEFINITION(0x0, 0x3FE) }, + { ZYDIS_DEFINITION(0x0, 0xA6), ZYDIS_DEFINITION(0x0, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x421) }, + { ZYDIS_DEFINITION(0x0, 0x145), ZYDIS_DEFINITION(0x0, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x422) }, + { ZYDIS_DEFINITION(0x0, 0x5C0), ZYDIS_DEFINITION(0x0, 0x5C2), ZYDIS_DEFINITION(0x0, 0x5C2) }, + { ZYDIS_DEFINITION(0x0, 0x5C0), ZYDIS_DEFINITION(0x0, 0x5C1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x0, 0x516), ZYDIS_DEFINITION(0x0, 0x518), ZYDIS_DEFINITION(0x0, 0x518) }, + { ZYDIS_DEFINITION(0x0, 0x516), ZYDIS_DEFINITION(0x0, 0x517), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x0, 0x377), ZYDIS_DEFINITION(0x0, 0x365), ZYDIS_DEFINITION(0x0, 0x370) }, + { ZYDIS_DEFINITION(0x0, 0x378), ZYDIS_DEFINITION(0x0, 0x366), ZYDIS_DEFINITION(0x0, 0x371) }, + { ZYDIS_DEFINITION(0x0, 0x379), ZYDIS_DEFINITION(0x0, 0x367), ZYDIS_DEFINITION(0x0, 0x372) }, + { ZYDIS_DEFINITION(0x0, 0xF9), ZYDIS_DEFINITION(0x0, 0xEF), ZYDIS_DEFINITION(0x0, 0xF4) }, + { ZYDIS_DEFINITION(0x0, 0xFA), ZYDIS_DEFINITION(0x0, 0xF0), ZYDIS_DEFINITION(0x0, 0xF5) }, + { ZYDIS_DEFINITION(0x0, 0xFB), ZYDIS_DEFINITION(0x0, 0xF1), ZYDIS_DEFINITION(0x0, 0xF6) }, + { ZYDIS_DEFINITION(0x0, 0x6CC), ZYDIS_DEFINITION(0x0, 0x6C6), ZYDIS_DEFINITION(0x0, 0x6C9) }, + { ZYDIS_DEFINITION(0x0, 0x6CD), ZYDIS_DEFINITION(0x0, 0x6C7), ZYDIS_DEFINITION(0x0, 0x6CA) }, + { ZYDIS_DEFINITION(0x0, 0x6CE), ZYDIS_DEFINITION(0x0, 0x6C8), ZYDIS_DEFINITION(0x0, 0x6CB) }, + { ZYDIS_DEFINITION(0x0, 0x2CF), ZYDIS_DEFINITION(0x0, 0x2C9), ZYDIS_DEFINITION(0x0, 0x2CC) }, + { ZYDIS_DEFINITION(0x0, 0x2D0), ZYDIS_DEFINITION(0x0, 0x2CA), ZYDIS_DEFINITION(0x0, 0x2CD) }, + { ZYDIS_DEFINITION(0x0, 0x2D1), ZYDIS_DEFINITION(0x0, 0x2CB), ZYDIS_DEFINITION(0x0, 0x2CE) }, + { ZYDIS_DEFINITION(0x0, 0x648), ZYDIS_DEFINITION(0x0, 0x642), ZYDIS_DEFINITION(0x0, 0x645) }, + { ZYDIS_DEFINITION(0x0, 0x649), ZYDIS_DEFINITION(0x0, 0x643), ZYDIS_DEFINITION(0x0, 0x646) }, + { ZYDIS_DEFINITION(0x0, 0x64A), ZYDIS_DEFINITION(0x0, 0x644), ZYDIS_DEFINITION(0x0, 0x647) }, + { ZYDIS_DEFINITION(0x0, 0x252), ZYDIS_DEFINITION(0x0, 0x253), ZYDIS_DEFINITION(0x0, 0x254) }, + { ZYDIS_DEFINITION(0x1, 0x1BF), ZYDIS_DEFINITION(0x1, 0x1C0), ZYDIS_DEFINITION(0x1, 0x1C0) }, + { ZYDIS_DEFINITION(0x1, 0x1D2), ZYDIS_DEFINITION(0x1, 0x1D3), ZYDIS_DEFINITION(0x1, 0x1D3) }, + { ZYDIS_DEFINITION(0x1, 0x1DB), ZYDIS_DEFINITION(0x1, 0x1DC), ZYDIS_DEFINITION(0x1, 0x1DC) }, + { ZYDIS_DEFINITION(0x1, 0x1CF), ZYDIS_DEFINITION(0x1, 0x1D0), ZYDIS_DEFINITION(0x1, 0x1D0) }, + { ZYDIS_DEFINITION(0x3, 0x227), ZYDIS_DEFINITION(0x3, 0x228), ZYDIS_DEFINITION(0x3, 0x228) }, + { ZYDIS_DEFINITION(0x3, 0x3F1), ZYDIS_DEFINITION(0x3, 0x3F2), ZYDIS_DEFINITION(0x3, 0x3F2) }, + { ZYDIS_DEFINITION(0x0, 0x22A), ZYDIS_DEFINITION(0x0, 0x22B), ZYDIS_DEFINITION(0x0, 0x22B) }, + { ZYDIS_DEFINITION(0x0, 0x3F4), ZYDIS_DEFINITION(0x0, 0x3F5), ZYDIS_DEFINITION(0x0, 0x3F5) } +}; + +const ZydisDecoderTreeNode FILTERS_ADDRESS_SIZE[][3] = +{ + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x24C), ZYDIS_DEFINITION(0x1, 0x24D) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x79), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x7E), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6F), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x77), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x83), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x7B), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x73), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C4) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C5) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C6) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C7) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C8) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C9) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CA) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CB) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E8) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E9) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EA) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EB) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EC) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1ED) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EE) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EF) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x230), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x230) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x231), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x231) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x232), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x232) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x233), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x233) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x234), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x234) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x235), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x235) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x236), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x236) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x237), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x237) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x238), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x238) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x239), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x239) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23B) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x474), ZYDIS_DEFINITION(0x1, 0x474) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x476), ZYDIS_DEFINITION(0x1, 0x476) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x475), ZYDIS_DEFINITION(0x1, 0x475) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x477), ZYDIS_DEFINITION(0x1, 0x477) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x478), ZYDIS_DEFINITION(0x1, 0x478) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x47A), ZYDIS_DEFINITION(0x1, 0x47A) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x479), ZYDIS_DEFINITION(0x1, 0x479) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x47B), ZYDIS_DEFINITION(0x1, 0x47B) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2CB), ZYDIS_DEFINITION(0x1, 0x2CB) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C9), ZYDIS_DEFINITION(0x1, 0x2C9) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2CC), ZYDIS_DEFINITION(0x1, 0x2CC) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2CA), ZYDIS_DEFINITION(0x1, 0x2CA) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2CF), ZYDIS_DEFINITION(0x1, 0x2CF) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2CD), ZYDIS_DEFINITION(0x1, 0x2CD) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2D0), ZYDIS_DEFINITION(0x1, 0x2D0) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2CE), ZYDIS_DEFINITION(0x1, 0x2CE) }, + { ZYDIS_DEFINITION(0x8, 0x25F), ZYDIS_DEFINITION(0x8, 0x260), ZYDIS_DEFINITION(0x8, 0x2A7) }, + { ZYDIS_DEFINITION(0x8, 0x25F), ZYDIS_DEFINITION(0x8, 0x261), ZYDIS_DEFINITION(0x8, 0x2A7) } +}; + +const ZydisDecoderTreeNode FILTERS_VECTOR_LENGTH[][3] = +{ + { ZYDIS_DEFINITION(0x1, 0x4D2), ZYDIS_DEFINITION(0x1, 0x4D3), ZYDIS_DEFINITION(0x1, 0x4D4) }, + { ZYDIS_DEFINITION(0x1, 0x4D5), ZYDIS_DEFINITION(0x1, 0x4D6), ZYDIS_DEFINITION(0x1, 0x4D7) }, + { ZYDIS_DEFINITION(0x1, 0x4D8), ZYDIS_DEFINITION(0x1, 0x4D9), ZYDIS_DEFINITION(0x1, 0x4DA) }, + { ZYDIS_DEFINITION(0x1, 0x4DB), ZYDIS_DEFINITION(0x1, 0x4DC), ZYDIS_DEFINITION(0x1, 0x4DD) }, + { ZYDIS_DEFINITION(0x1, 0x494), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x49C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x49D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xBDA), ZYDIS_DEFINITION(0x1, 0xBDB), ZYDIS_DEFINITION(0x1, 0xBDC) }, + { ZYDIS_DEFINITION(0x1, 0xBDD), ZYDIS_DEFINITION(0x1, 0xBDE), ZYDIS_DEFINITION(0x1, 0xBDF) }, + { ZYDIS_DEFINITION(0x1, 0xBCE), ZYDIS_DEFINITION(0x1, 0xBCF), ZYDIS_DEFINITION(0x1, 0xBD0) }, + { ZYDIS_DEFINITION(0x1, 0xBD1), ZYDIS_DEFINITION(0x1, 0xBD2), ZYDIS_DEFINITION(0x1, 0xBD3) }, + { ZYDIS_DEFINITION(0x1, 0x499), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x497), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x498), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x432), ZYDIS_DEFINITION(0x1, 0x433), ZYDIS_DEFINITION(0x1, 0x434) }, + { ZYDIS_DEFINITION(0x1, 0x435), ZYDIS_DEFINITION(0x1, 0x436), ZYDIS_DEFINITION(0x1, 0x437) }, + { ZYDIS_DEFINITION(0x1, 0x438), ZYDIS_DEFINITION(0x1, 0x439), ZYDIS_DEFINITION(0x1, 0x43A) }, + { ZYDIS_DEFINITION(0x1, 0x43B), ZYDIS_DEFINITION(0x1, 0x43C), ZYDIS_DEFINITION(0x1, 0x43D) }, + { ZYDIS_DEFINITION(0x1, 0x4A7), ZYDIS_DEFINITION(0x1, 0x4A8), ZYDIS_DEFINITION(0x1, 0x4A9) }, + { ZYDIS_DEFINITION(0x1, 0xBA2), ZYDIS_DEFINITION(0x1, 0xBA3), ZYDIS_DEFINITION(0x1, 0xBA4) }, + { ZYDIS_DEFINITION(0x1, 0xBA5), ZYDIS_DEFINITION(0x1, 0xBA6), ZYDIS_DEFINITION(0x1, 0xBA7) }, + { ZYDIS_DEFINITION(0x1, 0x4E), ZYDIS_DEFINITION(0x1, 0x4F), ZYDIS_DEFINITION(0x1, 0x50) }, + { ZYDIS_DEFINITION(0x1, 0x51), ZYDIS_DEFINITION(0x1, 0x52), ZYDIS_DEFINITION(0x1, 0x53) }, + { ZYDIS_DEFINITION(0x1, 0x42), ZYDIS_DEFINITION(0x1, 0x43), ZYDIS_DEFINITION(0x1, 0x44) }, + { ZYDIS_DEFINITION(0x1, 0x45), ZYDIS_DEFINITION(0x1, 0x46), ZYDIS_DEFINITION(0x1, 0x47) }, + { ZYDIS_DEFINITION(0x1, 0x4F8), ZYDIS_DEFINITION(0x1, 0x4F9), ZYDIS_DEFINITION(0x1, 0x4FA) }, + { ZYDIS_DEFINITION(0x1, 0x4FB), ZYDIS_DEFINITION(0x1, 0x4FC), ZYDIS_DEFINITION(0x1, 0x4FD) }, + { ZYDIS_DEFINITION(0x1, 0xBE6), ZYDIS_DEFINITION(0x1, 0xBE7), ZYDIS_DEFINITION(0x1, 0xBE8) }, + { ZYDIS_DEFINITION(0x1, 0xBE9), ZYDIS_DEFINITION(0x1, 0xBEA), ZYDIS_DEFINITION(0x1, 0xBEB) }, + { ZYDIS_DEFINITION(0x1, 0xC), ZYDIS_DEFINITION(0x1, 0xD), ZYDIS_DEFINITION(0x1, 0xE) }, + { ZYDIS_DEFINITION(0x1, 0xF), ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_DEFINITION(0x1, 0x11) }, + { ZYDIS_DEFINITION(0x1, 0x4E6), ZYDIS_DEFINITION(0x1, 0x4E7), ZYDIS_DEFINITION(0x1, 0x4E8) }, + { ZYDIS_DEFINITION(0x1, 0x4E9), ZYDIS_DEFINITION(0x1, 0x4EA), ZYDIS_DEFINITION(0x1, 0x4EB) }, + { ZYDIS_DEFINITION(0x1, 0xF1), ZYDIS_DEFINITION(0x1, 0xF2), ZYDIS_DEFINITION(0x1, 0xF3) }, + { ZYDIS_DEFINITION(0x1, 0xF4), ZYDIS_DEFINITION(0x1, 0xF5), ZYDIS_DEFINITION(0x1, 0xF6) }, + { ZYDIS_DEFINITION(0x1, 0xAD), ZYDIS_DEFINITION(0x1, 0xAE), ZYDIS_DEFINITION(0x1, 0xAF) }, + { ZYDIS_DEFINITION(0x1, 0x11B), ZYDIS_DEFINITION(0x1, 0x11C), ZYDIS_DEFINITION(0x1, 0x11D) }, + { ZYDIS_DEFINITION(0x1, 0xB0), ZYDIS_DEFINITION(0x1, 0xB1), ZYDIS_DEFINITION(0x1, 0xB2) }, + { ZYDIS_DEFINITION(0x1, 0x11E), ZYDIS_DEFINITION(0x1, 0x11F), ZYDIS_DEFINITION(0x1, 0x120) }, + { ZYDIS_DEFINITION(0x1, 0xBB6), ZYDIS_DEFINITION(0x1, 0xBB7), ZYDIS_DEFINITION(0x1, 0xBB8) }, + { ZYDIS_DEFINITION(0x1, 0xBB9), ZYDIS_DEFINITION(0x1, 0xBBA), ZYDIS_DEFINITION(0x1, 0xBBB) }, + { ZYDIS_DEFINITION(0x1, 0x41A), ZYDIS_DEFINITION(0x1, 0x41B), ZYDIS_DEFINITION(0x1, 0x41C) }, + { ZYDIS_DEFINITION(0x1, 0x41D), ZYDIS_DEFINITION(0x1, 0x41E), ZYDIS_DEFINITION(0x1, 0x41F) }, + { ZYDIS_DEFINITION(0x1, 0x1F0), ZYDIS_DEFINITION(0x1, 0x1F1), ZYDIS_DEFINITION(0x1, 0x1F2) }, + { ZYDIS_DEFINITION(0x1, 0x1F3), ZYDIS_DEFINITION(0x1, 0x1F4), ZYDIS_DEFINITION(0x1, 0x1F5) }, + { ZYDIS_DEFINITION(0x1, 0x406), ZYDIS_DEFINITION(0x1, 0x407), ZYDIS_DEFINITION(0x1, 0x408) }, + { ZYDIS_DEFINITION(0x1, 0x409), ZYDIS_DEFINITION(0x1, 0x40A), ZYDIS_DEFINITION(0x1, 0x40B) }, + { ZYDIS_DEFINITION(0x1, 0x186), ZYDIS_DEFINITION(0x1, 0x187), ZYDIS_DEFINITION(0x1, 0x188) }, + { ZYDIS_DEFINITION(0x1, 0x16A), ZYDIS_DEFINITION(0x1, 0x16B), ZYDIS_DEFINITION(0x1, 0x16C) }, + { ZYDIS_DEFINITION(0x1, 0x189), ZYDIS_DEFINITION(0x1, 0x18A), ZYDIS_DEFINITION(0x1, 0x18B) }, + { ZYDIS_DEFINITION(0x1, 0x16D), ZYDIS_DEFINITION(0x1, 0x16E), ZYDIS_DEFINITION(0x1, 0x16F) }, + { ZYDIS_DEFINITION(0x1, 0x106), ZYDIS_DEFINITION(0x1, 0x107), ZYDIS_DEFINITION(0x1, 0x108) }, + { ZYDIS_DEFINITION(0x1, 0xD5), ZYDIS_DEFINITION(0x1, 0xD6), ZYDIS_DEFINITION(0x1, 0xD7) }, + { ZYDIS_DEFINITION(0x1, 0x109), ZYDIS_DEFINITION(0x1, 0x10A), ZYDIS_DEFINITION(0x1, 0x10B) }, + { ZYDIS_DEFINITION(0x1, 0xD8), ZYDIS_DEFINITION(0x1, 0xD9), ZYDIS_DEFINITION(0x1, 0xDA) }, + { ZYDIS_DEFINITION(0xB, 0x88), ZYDIS_DEFINITION(0xB, 0x89), ZYDIS_DEFINITION(0xB, 0x8A) }, + { ZYDIS_DEFINITION(0xB, 0x8B), ZYDIS_DEFINITION(0xB, 0x8C), ZYDIS_DEFINITION(0xB, 0x8D) }, + { ZYDIS_DEFINITION(0xB, 0xB94), ZYDIS_DEFINITION(0xB, 0xB95), ZYDIS_DEFINITION(0xB, 0xB96) }, + { ZYDIS_DEFINITION(0xB, 0xB97), ZYDIS_DEFINITION(0xB, 0xB98), ZYDIS_DEFINITION(0xB, 0xB99) }, + { ZYDIS_DEFINITION(0x1, 0x4C6), ZYDIS_DEFINITION(0x1, 0x4C7), ZYDIS_DEFINITION(0x1, 0x4C8) }, + { ZYDIS_DEFINITION(0x1, 0x4C9), ZYDIS_DEFINITION(0x1, 0x4CA), ZYDIS_DEFINITION(0x1, 0x4CB) }, + { ZYDIS_DEFINITION(0x1, 0x4CC), ZYDIS_DEFINITION(0x1, 0x4CD), ZYDIS_DEFINITION(0x1, 0x4CE) }, + { ZYDIS_DEFINITION(0x1, 0x4CF), ZYDIS_DEFINITION(0x1, 0x4D0), ZYDIS_DEFINITION(0x1, 0x4D1) }, + { ZYDIS_DEFINITION(0x1, 0x49A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x49B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xBD4), ZYDIS_DEFINITION(0x1, 0xBD5), ZYDIS_DEFINITION(0x1, 0xBD6) }, + { ZYDIS_DEFINITION(0x1, 0xBD7), ZYDIS_DEFINITION(0x1, 0xBD8), ZYDIS_DEFINITION(0x1, 0xBD9) }, + { ZYDIS_DEFINITION(0x1, 0xBC8), ZYDIS_DEFINITION(0x1, 0xBC9), ZYDIS_DEFINITION(0x1, 0xBCA) }, + { ZYDIS_DEFINITION(0x1, 0xBCB), ZYDIS_DEFINITION(0x1, 0xBCC), ZYDIS_DEFINITION(0x1, 0xBCD) }, + { ZYDIS_DEFINITION(0x1, 0x495), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x496), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x426), ZYDIS_DEFINITION(0x1, 0x427), ZYDIS_DEFINITION(0x1, 0x428) }, + { ZYDIS_DEFINITION(0x1, 0x429), ZYDIS_DEFINITION(0x1, 0x42A), ZYDIS_DEFINITION(0x1, 0x42B) }, + { ZYDIS_DEFINITION(0x1, 0x42C), ZYDIS_DEFINITION(0x1, 0x42D), ZYDIS_DEFINITION(0x1, 0x42E) }, + { ZYDIS_DEFINITION(0x1, 0x42F), ZYDIS_DEFINITION(0x1, 0x430), ZYDIS_DEFINITION(0x1, 0x431) }, + { ZYDIS_DEFINITION(0x1, 0x4A4), ZYDIS_DEFINITION(0x1, 0x4A5), ZYDIS_DEFINITION(0x1, 0x4A6) }, + { ZYDIS_DEFINITION(0x1, 0xB9B), ZYDIS_DEFINITION(0x1, 0xB9C), ZYDIS_DEFINITION(0x1, 0xB9D) }, + { ZYDIS_DEFINITION(0x1, 0xB9E), ZYDIS_DEFINITION(0x1, 0xB9F), ZYDIS_DEFINITION(0x1, 0xBA0) }, + { ZYDIS_DEFINITION(0x1, 0x48), ZYDIS_DEFINITION(0x1, 0x49), ZYDIS_DEFINITION(0x1, 0x4A) }, + { ZYDIS_DEFINITION(0x1, 0x4B), ZYDIS_DEFINITION(0x1, 0x4C), ZYDIS_DEFINITION(0x1, 0x4D) }, + { ZYDIS_DEFINITION(0x1, 0x3C), ZYDIS_DEFINITION(0x1, 0x3D), ZYDIS_DEFINITION(0x1, 0x3E) }, + { ZYDIS_DEFINITION(0x1, 0x3F), ZYDIS_DEFINITION(0x1, 0x40), ZYDIS_DEFINITION(0x1, 0x41) }, + { ZYDIS_DEFINITION(0x1, 0x4F2), ZYDIS_DEFINITION(0x1, 0x4F3), ZYDIS_DEFINITION(0x1, 0x4F4) }, + { ZYDIS_DEFINITION(0x1, 0x4F5), ZYDIS_DEFINITION(0x1, 0x4F6), ZYDIS_DEFINITION(0x1, 0x4F7) }, + { ZYDIS_DEFINITION(0x1, 0xBE0), ZYDIS_DEFINITION(0x1, 0xBE1), ZYDIS_DEFINITION(0x1, 0xBE2) }, + { ZYDIS_DEFINITION(0x1, 0xBE3), ZYDIS_DEFINITION(0x1, 0xBE4), ZYDIS_DEFINITION(0x1, 0xBE5) }, + { ZYDIS_DEFINITION(0x1, 0x5), ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, + { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9), ZYDIS_DEFINITION(0x1, 0xA) }, + { ZYDIS_DEFINITION(0x1, 0x4DF), ZYDIS_DEFINITION(0x1, 0x4E0), ZYDIS_DEFINITION(0x1, 0x4E1) }, + { ZYDIS_DEFINITION(0x1, 0x4E2), ZYDIS_DEFINITION(0x1, 0x4E3), ZYDIS_DEFINITION(0x1, 0x4E4) }, + { ZYDIS_DEFINITION(0x1, 0xC7), ZYDIS_DEFINITION(0x1, 0xC8), ZYDIS_DEFINITION(0x1, 0xC9) }, + { ZYDIS_DEFINITION(0x1, 0xCA), ZYDIS_DEFINITION(0x1, 0xCB), ZYDIS_DEFINITION(0x1, 0xCC) }, + { ZYDIS_DEFINITION(0x1, 0xEA), ZYDIS_DEFINITION(0x1, 0xEB), ZYDIS_DEFINITION(0x1, 0xEC) }, + { ZYDIS_DEFINITION(0x1, 0xED), ZYDIS_DEFINITION(0x1, 0xEE), ZYDIS_DEFINITION(0x1, 0xEF) }, + { ZYDIS_DEFINITION(0x1, 0xBAF), ZYDIS_DEFINITION(0x1, 0xBB0), ZYDIS_DEFINITION(0x1, 0xBB1) }, + { ZYDIS_DEFINITION(0x1, 0xBB2), ZYDIS_DEFINITION(0x1, 0xBB3), ZYDIS_DEFINITION(0x1, 0xBB4) }, + { ZYDIS_DEFINITION(0x1, 0x413), ZYDIS_DEFINITION(0x1, 0x414), ZYDIS_DEFINITION(0x1, 0x415) }, + { ZYDIS_DEFINITION(0x1, 0x416), ZYDIS_DEFINITION(0x1, 0x417), ZYDIS_DEFINITION(0x1, 0x418) }, + { ZYDIS_DEFINITION(0x1, 0x1E9), ZYDIS_DEFINITION(0x1, 0x1EA), ZYDIS_DEFINITION(0x1, 0x1EB) }, + { ZYDIS_DEFINITION(0x1, 0x1EC), ZYDIS_DEFINITION(0x1, 0x1ED), ZYDIS_DEFINITION(0x1, 0x1EE) }, + { ZYDIS_DEFINITION(0x1, 0x3FF), ZYDIS_DEFINITION(0x1, 0x400), ZYDIS_DEFINITION(0x1, 0x401) }, + { ZYDIS_DEFINITION(0x1, 0x402), ZYDIS_DEFINITION(0x1, 0x403), ZYDIS_DEFINITION(0x1, 0x404) }, + { ZYDIS_DEFINITION(0x1, 0xABE), ZYDIS_DEFINITION(0x1, 0xABF), ZYDIS_DEFINITION(0x1, 0xAC0) }, + { ZYDIS_DEFINITION(0x1, 0xAC1), ZYDIS_DEFINITION(0x1, 0xAC2), ZYDIS_DEFINITION(0x1, 0xAC3) }, + { ZYDIS_DEFINITION(0x1, 0xAD0), ZYDIS_DEFINITION(0x1, 0xAD1), ZYDIS_DEFINITION(0x1, 0xAD2) }, + { ZYDIS_DEFINITION(0x1, 0xAD3), ZYDIS_DEFINITION(0x1, 0xAD4), ZYDIS_DEFINITION(0x1, 0xAD5) }, + { ZYDIS_DEFINITION(0x1, 0xAC4), ZYDIS_DEFINITION(0x1, 0xAC5), ZYDIS_DEFINITION(0x1, 0xAC6) }, + { ZYDIS_DEFINITION(0x1, 0xAC7), ZYDIS_DEFINITION(0x1, 0xAC8), ZYDIS_DEFINITION(0x1, 0xAC9) }, + { ZYDIS_DEFINITION(0x1, 0x52A), ZYDIS_DEFINITION(0x1, 0x52B), ZYDIS_DEFINITION(0x1, 0x52C) }, + { ZYDIS_DEFINITION(0x1, 0x52D), ZYDIS_DEFINITION(0x1, 0x52E), ZYDIS_DEFINITION(0x1, 0x52F) }, + { ZYDIS_DEFINITION(0x1, 0x605), ZYDIS_DEFINITION(0x1, 0x606), ZYDIS_DEFINITION(0x1, 0x607) }, + { ZYDIS_DEFINITION(0x1, 0x608), ZYDIS_DEFINITION(0x1, 0x609), ZYDIS_DEFINITION(0x1, 0x60A) }, + { ZYDIS_DEFINITION(0x1, 0x617), ZYDIS_DEFINITION(0x1, 0x618), ZYDIS_DEFINITION(0x1, 0x619) }, + { ZYDIS_DEFINITION(0x1, 0x61A), ZYDIS_DEFINITION(0x1, 0x61B), ZYDIS_DEFINITION(0x1, 0x61C) }, + { ZYDIS_DEFINITION(0x1, 0x60B), ZYDIS_DEFINITION(0x1, 0x60C), ZYDIS_DEFINITION(0x1, 0x60D) }, + { ZYDIS_DEFINITION(0x1, 0x60E), ZYDIS_DEFINITION(0x1, 0x60F), ZYDIS_DEFINITION(0x1, 0x610) }, + { ZYDIS_DEFINITION(0x1, 0x536), ZYDIS_DEFINITION(0x1, 0x537), ZYDIS_DEFINITION(0x1, 0x538) }, + { ZYDIS_DEFINITION(0x1, 0x539), ZYDIS_DEFINITION(0x1, 0x53A), ZYDIS_DEFINITION(0x1, 0x53B) }, + { ZYDIS_DEFINITION(0x1, 0xAA6), ZYDIS_DEFINITION(0x1, 0xAA7), ZYDIS_DEFINITION(0x1, 0xAA8) }, + { ZYDIS_DEFINITION(0x1, 0xAA9), ZYDIS_DEFINITION(0x1, 0xAAA), ZYDIS_DEFINITION(0x1, 0xAAB) }, + { ZYDIS_DEFINITION(0x1, 0xAB8), ZYDIS_DEFINITION(0x1, 0xAB9), ZYDIS_DEFINITION(0x1, 0xABA) }, + { ZYDIS_DEFINITION(0x1, 0xABB), ZYDIS_DEFINITION(0x1, 0xABC), ZYDIS_DEFINITION(0x1, 0xABD) }, + { ZYDIS_DEFINITION(0x1, 0xAAC), ZYDIS_DEFINITION(0x1, 0xAAD), ZYDIS_DEFINITION(0x1, 0xAAE) }, + { ZYDIS_DEFINITION(0x1, 0xAAF), ZYDIS_DEFINITION(0x1, 0xAB0), ZYDIS_DEFINITION(0x1, 0xAB1) }, + { ZYDIS_DEFINITION(0x1, 0x524), ZYDIS_DEFINITION(0x1, 0x525), ZYDIS_DEFINITION(0x1, 0x526) }, + { ZYDIS_DEFINITION(0x1, 0x527), ZYDIS_DEFINITION(0x1, 0x528), ZYDIS_DEFINITION(0x1, 0x529) }, + { ZYDIS_DEFINITION(0x1, 0xACA), ZYDIS_DEFINITION(0x1, 0xACB), ZYDIS_DEFINITION(0x1, 0xACC) }, + { ZYDIS_DEFINITION(0x1, 0xACD), ZYDIS_DEFINITION(0x1, 0xACE), ZYDIS_DEFINITION(0x1, 0xACF) }, + { ZYDIS_DEFINITION(0x1, 0xAB2), ZYDIS_DEFINITION(0x1, 0xAB3), ZYDIS_DEFINITION(0x1, 0xAB4) }, + { ZYDIS_DEFINITION(0x1, 0xAB5), ZYDIS_DEFINITION(0x1, 0xAB6), ZYDIS_DEFINITION(0x1, 0xAB7) }, + { ZYDIS_DEFINITION(0x1, 0x43E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4AA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x440), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x43F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4AB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x441), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x44C), ZYDIS_DEFINITION(0x1, 0x44D), ZYDIS_DEFINITION(0x1, 0x44E) }, + { ZYDIS_DEFINITION(0x1, 0x458), ZYDIS_DEFINITION(0x1, 0x459), ZYDIS_DEFINITION(0x1, 0x45A) }, + { ZYDIS_DEFINITION(0x1, 0x44F), ZYDIS_DEFINITION(0x1, 0x450), ZYDIS_DEFINITION(0x1, 0x451) }, + { ZYDIS_DEFINITION(0x1, 0x45B), ZYDIS_DEFINITION(0x1, 0x45C), ZYDIS_DEFINITION(0x1, 0x45D) }, + { ZYDIS_DEFINITION(0xB, 0x97A), ZYDIS_DEFINITION(0xB, 0x97B), ZYDIS_DEFINITION(0xB, 0x97C) }, + { ZYDIS_DEFINITION(0xB, 0x97D), ZYDIS_DEFINITION(0xB, 0x97E), ZYDIS_DEFINITION(0xB, 0x97F) }, + { ZYDIS_DEFINITION(0xB, 0xA2E), ZYDIS_DEFINITION(0xB, 0xA2F), ZYDIS_DEFINITION(0xB, 0xA30) }, + { ZYDIS_DEFINITION(0xB, 0x9F2), ZYDIS_DEFINITION(0xB, 0x9F3), ZYDIS_DEFINITION(0xB, 0x9F4) }, + { ZYDIS_DEFINITION(0xB, 0x9BC), ZYDIS_DEFINITION(0xB, 0x9BD), ZYDIS_DEFINITION(0xB, 0x9BE) }, + { ZYDIS_DEFINITION(0xB, 0xA31), ZYDIS_DEFINITION(0xB, 0xA32), ZYDIS_DEFINITION(0xB, 0xA33) }, + { ZYDIS_DEFINITION(0xB, 0x9F5), ZYDIS_DEFINITION(0xB, 0x9F6), ZYDIS_DEFINITION(0xB, 0x9F7) }, + { ZYDIS_DEFINITION(0xB, 0x9BF), ZYDIS_DEFINITION(0xB, 0x9C0), ZYDIS_DEFINITION(0xB, 0x9C1) }, + { ZYDIS_DEFINITION(0xB, 0x8FC), ZYDIS_DEFINITION(0xB, 0x8FD), ZYDIS_DEFINITION(0xB, 0x8FE) }, + { ZYDIS_DEFINITION(0xB, 0x902), ZYDIS_DEFINITION(0xB, 0x903), ZYDIS_DEFINITION(0xB, 0x904) }, + { ZYDIS_DEFINITION(0xB, 0x8E4), ZYDIS_DEFINITION(0xB, 0x8E5), ZYDIS_DEFINITION(0xB, 0x8E6) }, + { ZYDIS_DEFINITION(0xB, 0x8EA), ZYDIS_DEFINITION(0xB, 0x8EB), ZYDIS_DEFINITION(0xB, 0x8EC) }, + { ZYDIS_DEFINITION(0xB, 0x9FE), ZYDIS_DEFINITION(0xB, 0x9FF), ZYDIS_DEFINITION(0xB, 0xA00) }, + { ZYDIS_DEFINITION(0xB, 0x9C8), ZYDIS_DEFINITION(0xB, 0x9C9), ZYDIS_DEFINITION(0xB, 0x9CA) }, + { ZYDIS_DEFINITION(0xB, 0x9D4), ZYDIS_DEFINITION(0xB, 0x9D5), ZYDIS_DEFINITION(0xB, 0x9D6) }, + { ZYDIS_DEFINITION(0xB, 0x98C), ZYDIS_DEFINITION(0xB, 0x98D), ZYDIS_DEFINITION(0xB, 0x98E) }, + { ZYDIS_DEFINITION(0xB, 0x8FF), ZYDIS_DEFINITION(0xB, 0x900), ZYDIS_DEFINITION(0xB, 0x901) }, + { ZYDIS_DEFINITION(0xB, 0x905), ZYDIS_DEFINITION(0xB, 0x906), ZYDIS_DEFINITION(0xB, 0x907) }, + { ZYDIS_DEFINITION(0xB, 0x8E7), ZYDIS_DEFINITION(0xB, 0x8E8), ZYDIS_DEFINITION(0xB, 0x8E9) }, + { ZYDIS_DEFINITION(0xB, 0x8ED), ZYDIS_DEFINITION(0xB, 0x8EE), ZYDIS_DEFINITION(0xB, 0x8EF) }, + { ZYDIS_DEFINITION(0xB, 0xA01), ZYDIS_DEFINITION(0xB, 0xA02), ZYDIS_DEFINITION(0xB, 0xA03) }, + { ZYDIS_DEFINITION(0xB, 0x9CB), ZYDIS_DEFINITION(0xB, 0x9CC), ZYDIS_DEFINITION(0xB, 0x9CD) }, + { ZYDIS_DEFINITION(0xB, 0x9D7), ZYDIS_DEFINITION(0xB, 0x9D8), ZYDIS_DEFINITION(0xB, 0x9D9) }, + { ZYDIS_DEFINITION(0xB, 0x98F), ZYDIS_DEFINITION(0xB, 0x990), ZYDIS_DEFINITION(0xB, 0x991) }, + { ZYDIS_DEFINITION(0xB, 0xA10), ZYDIS_DEFINITION(0xB, 0xA11), ZYDIS_DEFINITION(0xB, 0xA12) }, + { ZYDIS_DEFINITION(0xB, 0xA0A), ZYDIS_DEFINITION(0xB, 0xA0B), ZYDIS_DEFINITION(0xB, 0xA0C) }, + { ZYDIS_DEFINITION(0xB, 0x99E), ZYDIS_DEFINITION(0xB, 0x99F), ZYDIS_DEFINITION(0xB, 0x9A0) }, + { ZYDIS_DEFINITION(0xB, 0x998), ZYDIS_DEFINITION(0xB, 0x999), ZYDIS_DEFINITION(0xB, 0x99A) }, + { ZYDIS_DEFINITION(0xB, 0xA13), ZYDIS_DEFINITION(0xB, 0xA14), ZYDIS_DEFINITION(0xB, 0xA15) }, + { ZYDIS_DEFINITION(0xB, 0xA0D), ZYDIS_DEFINITION(0xB, 0xA0E), ZYDIS_DEFINITION(0xB, 0xA0F) }, + { ZYDIS_DEFINITION(0xB, 0x9A1), ZYDIS_DEFINITION(0xB, 0x9A2), ZYDIS_DEFINITION(0xB, 0x9A3) }, + { ZYDIS_DEFINITION(0xB, 0x99B), ZYDIS_DEFINITION(0xB, 0x99C), ZYDIS_DEFINITION(0xB, 0x99D) }, + { ZYDIS_DEFINITION(0x1, 0x5ED), ZYDIS_DEFINITION(0x1, 0x5EE), ZYDIS_DEFINITION(0x1, 0x5EF) }, + { ZYDIS_DEFINITION(0x1, 0x5F0), ZYDIS_DEFINITION(0x1, 0x5F1), ZYDIS_DEFINITION(0x1, 0x5F2) }, + { ZYDIS_DEFINITION(0x1, 0x5FF), ZYDIS_DEFINITION(0x1, 0x600), ZYDIS_DEFINITION(0x1, 0x601) }, + { ZYDIS_DEFINITION(0x1, 0x602), ZYDIS_DEFINITION(0x1, 0x603), ZYDIS_DEFINITION(0x1, 0x604) }, + { ZYDIS_DEFINITION(0x1, 0x5F3), ZYDIS_DEFINITION(0x1, 0x5F4), ZYDIS_DEFINITION(0x1, 0x5F5) }, + { ZYDIS_DEFINITION(0x1, 0x5F6), ZYDIS_DEFINITION(0x1, 0x5F7), ZYDIS_DEFINITION(0x1, 0x5F8) }, + { ZYDIS_DEFINITION(0x1, 0x18D), ZYDIS_DEFINITION(0x1, 0x18E), ZYDIS_DEFINITION(0x1, 0x18F) }, + { ZYDIS_DEFINITION(0x1, 0x171), ZYDIS_DEFINITION(0x1, 0x172), ZYDIS_DEFINITION(0x1, 0x173) }, + { ZYDIS_DEFINITION(0x1, 0x190), ZYDIS_DEFINITION(0x1, 0x191), ZYDIS_DEFINITION(0x1, 0x192) }, + { ZYDIS_DEFINITION(0x1, 0x174), ZYDIS_DEFINITION(0x1, 0x175), ZYDIS_DEFINITION(0x1, 0x176) }, + { ZYDIS_DEFINITION(0x1, 0x10D), ZYDIS_DEFINITION(0x1, 0x10E), ZYDIS_DEFINITION(0x1, 0x10F) }, + { ZYDIS_DEFINITION(0x1, 0xDC), ZYDIS_DEFINITION(0x1, 0xDD), ZYDIS_DEFINITION(0x1, 0xDE) }, + { ZYDIS_DEFINITION(0x1, 0x110), ZYDIS_DEFINITION(0x1, 0x111), ZYDIS_DEFINITION(0x1, 0x112) }, + { ZYDIS_DEFINITION(0x1, 0xDF), ZYDIS_DEFINITION(0x1, 0xE0), ZYDIS_DEFINITION(0x1, 0xE1) }, + { ZYDIS_DEFINITION(0x1, 0x17F), ZYDIS_DEFINITION(0x1, 0x180), ZYDIS_DEFINITION(0x1, 0x181) }, + { ZYDIS_DEFINITION(0x1, 0x163), ZYDIS_DEFINITION(0x1, 0x164), ZYDIS_DEFINITION(0x1, 0x165) }, + { ZYDIS_DEFINITION(0x1, 0x182), ZYDIS_DEFINITION(0x1, 0x183), ZYDIS_DEFINITION(0x1, 0x184) }, + { ZYDIS_DEFINITION(0x1, 0x166), ZYDIS_DEFINITION(0x1, 0x167), ZYDIS_DEFINITION(0x1, 0x168) }, + { ZYDIS_DEFINITION(0x1, 0xFF), ZYDIS_DEFINITION(0x1, 0x100), ZYDIS_DEFINITION(0x1, 0x101) }, + { ZYDIS_DEFINITION(0x1, 0xCE), ZYDIS_DEFINITION(0x1, 0xCF), ZYDIS_DEFINITION(0x1, 0xD0) }, + { ZYDIS_DEFINITION(0x1, 0x102), ZYDIS_DEFINITION(0x1, 0x103), ZYDIS_DEFINITION(0x1, 0x104) }, + { ZYDIS_DEFINITION(0x1, 0xD1), ZYDIS_DEFINITION(0x1, 0xD2), ZYDIS_DEFINITION(0x1, 0xD3) }, + { ZYDIS_DEFINITION(0x1, 0x442), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4AC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x444), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x443), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4AD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x445), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x452), ZYDIS_DEFINITION(0x1, 0x453), ZYDIS_DEFINITION(0x1, 0x454) }, + { ZYDIS_DEFINITION(0x1, 0x45E), ZYDIS_DEFINITION(0x1, 0x45F), ZYDIS_DEFINITION(0x1, 0x460) }, + { ZYDIS_DEFINITION(0x1, 0x455), ZYDIS_DEFINITION(0x1, 0x456), ZYDIS_DEFINITION(0x1, 0x457) }, + { ZYDIS_DEFINITION(0x1, 0x461), ZYDIS_DEFINITION(0x1, 0x462), ZYDIS_DEFINITION(0x1, 0x463) }, + { ZYDIS_DEFINITION(0xB, 0x81), ZYDIS_DEFINITION(0xB, 0x82), ZYDIS_DEFINITION(0xB, 0x83) }, + { ZYDIS_DEFINITION(0xB, 0x84), ZYDIS_DEFINITION(0xB, 0x85), ZYDIS_DEFINITION(0xB, 0x86) }, + { ZYDIS_DEFINITION(0xB, 0x738), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x739), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x721), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0xB8E), ZYDIS_DEFINITION(0xB, 0xB8F), ZYDIS_DEFINITION(0xB, 0xB90) }, + { ZYDIS_DEFINITION(0xB, 0xB91), ZYDIS_DEFINITION(0xB, 0xB92), ZYDIS_DEFINITION(0xB, 0xB93) }, + { ZYDIS_DEFINITION(0x1, 0xA34), ZYDIS_DEFINITION(0x1, 0xA35), ZYDIS_DEFINITION(0x1, 0xA36) }, + { ZYDIS_DEFINITION(0x1, 0xA37), ZYDIS_DEFINITION(0x1, 0xA38), ZYDIS_DEFINITION(0x1, 0xA39) }, + { ZYDIS_DEFINITION(0x1, 0xA04), ZYDIS_DEFINITION(0x1, 0xA05), ZYDIS_DEFINITION(0x1, 0xA06) }, + { ZYDIS_DEFINITION(0x1, 0xA07), ZYDIS_DEFINITION(0x1, 0xA08), ZYDIS_DEFINITION(0x1, 0xA09) }, + { ZYDIS_DEFINITION(0x1, 0xA16), ZYDIS_DEFINITION(0x1, 0xA17), ZYDIS_DEFINITION(0x1, 0xA18) }, + { ZYDIS_DEFINITION(0x1, 0xA19), ZYDIS_DEFINITION(0x1, 0xA1A), ZYDIS_DEFINITION(0x1, 0xA1B) }, + { ZYDIS_DEFINITION(0x1, 0x548), ZYDIS_DEFINITION(0x1, 0x549), ZYDIS_DEFINITION(0x1, 0x54A) }, + { ZYDIS_DEFINITION(0x1, 0x54B), ZYDIS_DEFINITION(0x1, 0x54C), ZYDIS_DEFINITION(0x1, 0x54D) }, + { ZYDIS_DEFINITION(0x1, 0x8AE), ZYDIS_DEFINITION(0x1, 0x8AF), ZYDIS_DEFINITION(0x1, 0x8B0) }, + { ZYDIS_DEFINITION(0x1, 0x8B1), ZYDIS_DEFINITION(0x1, 0x8B2), ZYDIS_DEFINITION(0x1, 0x8B3) }, + { ZYDIS_DEFINITION(0x1, 0x4B0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4B1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xA58), ZYDIS_DEFINITION(0x1, 0xA59), ZYDIS_DEFINITION(0x1, 0xA5A) }, + { ZYDIS_DEFINITION(0x1, 0xA5B), ZYDIS_DEFINITION(0x1, 0xA5C), ZYDIS_DEFINITION(0x1, 0xA5D) }, + { ZYDIS_DEFINITION(0x1, 0xA5E), ZYDIS_DEFINITION(0x1, 0xA5F), ZYDIS_DEFINITION(0x1, 0xA60) }, + { ZYDIS_DEFINITION(0x1, 0xA61), ZYDIS_DEFINITION(0x1, 0xA62), ZYDIS_DEFINITION(0x1, 0xA63) }, + { ZYDIS_DEFINITION(0x1, 0x7A6), ZYDIS_DEFINITION(0x1, 0x7A7), ZYDIS_DEFINITION(0x1, 0x7A8) }, + { ZYDIS_DEFINITION(0x1, 0x7A9), ZYDIS_DEFINITION(0x1, 0x7AA), ZYDIS_DEFINITION(0x1, 0x7AB) }, + { ZYDIS_DEFINITION(0x1, 0x572), ZYDIS_DEFINITION(0x1, 0x573), ZYDIS_DEFINITION(0x1, 0x574) }, + { ZYDIS_DEFINITION(0x1, 0x584), ZYDIS_DEFINITION(0x1, 0x585), ZYDIS_DEFINITION(0x1, 0x586) }, + { ZYDIS_DEFINITION(0x1, 0x575), ZYDIS_DEFINITION(0x1, 0x576), ZYDIS_DEFINITION(0x1, 0x577) }, + { ZYDIS_DEFINITION(0x1, 0x587), ZYDIS_DEFINITION(0x1, 0x588), ZYDIS_DEFINITION(0x1, 0x589) }, + { ZYDIS_DEFINITION(0x1, 0x55A), ZYDIS_DEFINITION(0x1, 0x55B), ZYDIS_DEFINITION(0x1, 0x55C) }, + { ZYDIS_DEFINITION(0x1, 0x55D), ZYDIS_DEFINITION(0x1, 0x55E), ZYDIS_DEFINITION(0x1, 0x55F) }, + { ZYDIS_DEFINITION(0x1, 0x560), ZYDIS_DEFINITION(0x1, 0x561), ZYDIS_DEFINITION(0x1, 0x562) }, + { ZYDIS_DEFINITION(0x1, 0x563), ZYDIS_DEFINITION(0x1, 0x564), ZYDIS_DEFINITION(0x1, 0x565) }, + { ZYDIS_DEFINITION(0x1, 0x776), ZYDIS_DEFINITION(0x1, 0x777), ZYDIS_DEFINITION(0x1, 0x778) }, + { ZYDIS_DEFINITION(0x1, 0x779), ZYDIS_DEFINITION(0x1, 0x77A), ZYDIS_DEFINITION(0x1, 0x77B) }, + { ZYDIS_DEFINITION(0x1, 0x578), ZYDIS_DEFINITION(0x1, 0x579), ZYDIS_DEFINITION(0x1, 0x57A) }, + { ZYDIS_DEFINITION(0x1, 0x57E), ZYDIS_DEFINITION(0x1, 0x57F), ZYDIS_DEFINITION(0x1, 0x580) }, + { ZYDIS_DEFINITION(0x1, 0x57B), ZYDIS_DEFINITION(0x1, 0x57C), ZYDIS_DEFINITION(0x1, 0x57D) }, + { ZYDIS_DEFINITION(0x1, 0x581), ZYDIS_DEFINITION(0x1, 0x582), ZYDIS_DEFINITION(0x1, 0x583) }, + { ZYDIS_DEFINITION(0x1, 0x58A), ZYDIS_DEFINITION(0x1, 0x58B), ZYDIS_DEFINITION(0x1, 0x58C) }, + { ZYDIS_DEFINITION(0x1, 0x58D), ZYDIS_DEFINITION(0x1, 0x58E), ZYDIS_DEFINITION(0x1, 0x58F) }, + { ZYDIS_DEFINITION(0x1, 0x9F8), ZYDIS_DEFINITION(0x1, 0x9F9), ZYDIS_DEFINITION(0x1, 0x9FA) }, + { ZYDIS_DEFINITION(0x1, 0x9FB), ZYDIS_DEFINITION(0x1, 0x9FC), ZYDIS_DEFINITION(0x1, 0x9FD) }, + { ZYDIS_DEFINITION(0x1, 0x9CE), ZYDIS_DEFINITION(0x1, 0x9CF), ZYDIS_DEFINITION(0x1, 0x9D0) }, + { ZYDIS_DEFINITION(0x1, 0x9DA), ZYDIS_DEFINITION(0x1, 0x9DB), ZYDIS_DEFINITION(0x1, 0x9DC) }, + { ZYDIS_DEFINITION(0x1, 0x9D1), ZYDIS_DEFINITION(0x1, 0x9D2), ZYDIS_DEFINITION(0x1, 0x9D3) }, + { ZYDIS_DEFINITION(0x1, 0x9DD), ZYDIS_DEFINITION(0x1, 0x9DE), ZYDIS_DEFINITION(0x1, 0x9DF) }, + { ZYDIS_DEFINITION(0x1, 0x590), ZYDIS_DEFINITION(0x1, 0x591), ZYDIS_DEFINITION(0x1, 0x592) }, + { ZYDIS_DEFINITION(0x1, 0x593), ZYDIS_DEFINITION(0x1, 0x594), ZYDIS_DEFINITION(0x1, 0x595) }, + { ZYDIS_DEFINITION(0x1, 0x896), ZYDIS_DEFINITION(0x1, 0x897), ZYDIS_DEFINITION(0x1, 0x898) }, + { ZYDIS_DEFINITION(0x1, 0x899), ZYDIS_DEFINITION(0x1, 0x89A), ZYDIS_DEFINITION(0x1, 0x89B) }, + { ZYDIS_DEFINITION(0x1, 0x89C), ZYDIS_DEFINITION(0x1, 0x89D), ZYDIS_DEFINITION(0x1, 0x89E) }, + { ZYDIS_DEFINITION(0x1, 0x89F), ZYDIS_DEFINITION(0x1, 0x8A0), ZYDIS_DEFINITION(0x1, 0x8A1) }, + { ZYDIS_DEFINITION(0x1, 0x15C), ZYDIS_DEFINITION(0x1, 0x15D), ZYDIS_DEFINITION(0x1, 0x15E) }, + { ZYDIS_DEFINITION(0x1, 0x15F), ZYDIS_DEFINITION(0x1, 0x160), ZYDIS_DEFINITION(0x1, 0x161) }, + { ZYDIS_DEFINITION(0x1, 0x49E), ZYDIS_DEFINITION(0x1, 0x49F), ZYDIS_DEFINITION(0x1, 0x4A0) }, + { ZYDIS_DEFINITION(0x1, 0xA4C), ZYDIS_DEFINITION(0x1, 0xA4D), ZYDIS_DEFINITION(0x1, 0xA4E) }, + { ZYDIS_DEFINITION(0x1, 0xA4F), ZYDIS_DEFINITION(0x1, 0xA50), ZYDIS_DEFINITION(0x1, 0xA51) }, + { ZYDIS_DEFINITION(0x1, 0xA52), ZYDIS_DEFINITION(0x1, 0xA53), ZYDIS_DEFINITION(0x1, 0xA54) }, + { ZYDIS_DEFINITION(0x1, 0xA55), ZYDIS_DEFINITION(0x1, 0xA56), ZYDIS_DEFINITION(0x1, 0xA57) }, + { ZYDIS_DEFINITION(0x1, 0x7A0), ZYDIS_DEFINITION(0x1, 0x7A1), ZYDIS_DEFINITION(0x1, 0x7A2) }, + { ZYDIS_DEFINITION(0x1, 0x7A3), ZYDIS_DEFINITION(0x1, 0x7A4), ZYDIS_DEFINITION(0x1, 0x7A5) }, + { ZYDIS_DEFINITION(0x1, 0x8D8), ZYDIS_DEFINITION(0x1, 0x8D9), ZYDIS_DEFINITION(0x1, 0x8DA) }, + { ZYDIS_DEFINITION(0x1, 0x8DE), ZYDIS_DEFINITION(0x1, 0x8DF), ZYDIS_DEFINITION(0x1, 0x8E0) }, + { ZYDIS_DEFINITION(0x1, 0x8DB), ZYDIS_DEFINITION(0x1, 0x8DC), ZYDIS_DEFINITION(0x1, 0x8DD) }, + { ZYDIS_DEFINITION(0x1, 0x8E1), ZYDIS_DEFINITION(0x1, 0x8E2), ZYDIS_DEFINITION(0x1, 0x8E3) }, + { ZYDIS_DEFINITION(0x1, 0x54E), ZYDIS_DEFINITION(0x1, 0x54F), ZYDIS_DEFINITION(0x1, 0x550) }, + { ZYDIS_DEFINITION(0x1, 0x551), ZYDIS_DEFINITION(0x1, 0x552), ZYDIS_DEFINITION(0x1, 0x553) }, + { ZYDIS_DEFINITION(0x1, 0x554), ZYDIS_DEFINITION(0x1, 0x555), ZYDIS_DEFINITION(0x1, 0x556) }, + { ZYDIS_DEFINITION(0x1, 0x557), ZYDIS_DEFINITION(0x1, 0x558), ZYDIS_DEFINITION(0x1, 0x559) }, + { ZYDIS_DEFINITION(0x1, 0x770), ZYDIS_DEFINITION(0x1, 0x771), ZYDIS_DEFINITION(0x1, 0x772) }, + { ZYDIS_DEFINITION(0x1, 0x773), ZYDIS_DEFINITION(0x1, 0x774), ZYDIS_DEFINITION(0x1, 0x775) }, + { ZYDIS_DEFINITION(0x1, 0xAD6), ZYDIS_DEFINITION(0x1, 0xAD7), ZYDIS_DEFINITION(0x1, 0xAD8) }, + { ZYDIS_DEFINITION(0x1, 0xADC), ZYDIS_DEFINITION(0x1, 0xADD), ZYDIS_DEFINITION(0x1, 0xADE) }, + { ZYDIS_DEFINITION(0x1, 0xAD9), ZYDIS_DEFINITION(0x1, 0xADA), ZYDIS_DEFINITION(0x1, 0xADB) }, + { ZYDIS_DEFINITION(0x1, 0xADF), ZYDIS_DEFINITION(0x1, 0xAE0), ZYDIS_DEFINITION(0x1, 0xAE1) }, + { ZYDIS_DEFINITION(0x1, 0x9C2), ZYDIS_DEFINITION(0x1, 0x9C3), ZYDIS_DEFINITION(0x1, 0x9C4) }, + { ZYDIS_DEFINITION(0x1, 0x9C5), ZYDIS_DEFINITION(0x1, 0x9C6), ZYDIS_DEFINITION(0x1, 0x9C7) }, + { ZYDIS_DEFINITION(0x1, 0x992), ZYDIS_DEFINITION(0x1, 0x993), ZYDIS_DEFINITION(0x1, 0x994) }, + { ZYDIS_DEFINITION(0x1, 0x995), ZYDIS_DEFINITION(0x1, 0x996), ZYDIS_DEFINITION(0x1, 0x997) }, + { ZYDIS_DEFINITION(0x1, 0x9A4), ZYDIS_DEFINITION(0x1, 0x9A5), ZYDIS_DEFINITION(0x1, 0x9A6) }, + { ZYDIS_DEFINITION(0x1, 0x9A7), ZYDIS_DEFINITION(0x1, 0x9A8), ZYDIS_DEFINITION(0x1, 0x9A9) }, + { ZYDIS_DEFINITION(0x1, 0x8BA), ZYDIS_DEFINITION(0x1, 0x8BB), ZYDIS_DEFINITION(0x1, 0x8BC) }, + { ZYDIS_DEFINITION(0x1, 0x8BD), ZYDIS_DEFINITION(0x1, 0x8BE), ZYDIS_DEFINITION(0x1, 0x8BF) }, + { ZYDIS_DEFINITION(0x1, 0x758), ZYDIS_DEFINITION(0x1, 0x759), ZYDIS_DEFINITION(0x1, 0x75A) }, + { ZYDIS_DEFINITION(0x1, 0x75B), ZYDIS_DEFINITION(0x1, 0x75C), ZYDIS_DEFINITION(0x1, 0x75D) }, + { ZYDIS_DEFINITION(0x1, 0x914), ZYDIS_DEFINITION(0x1, 0x915), ZYDIS_DEFINITION(0x1, 0x916) }, + { ZYDIS_DEFINITION(0x1, 0x917), ZYDIS_DEFINITION(0x1, 0x918), ZYDIS_DEFINITION(0x1, 0x919) }, + { ZYDIS_DEFINITION(0x1, 0xA3A), ZYDIS_DEFINITION(0x1, 0xA3B), ZYDIS_DEFINITION(0x1, 0xA3C) }, + { ZYDIS_DEFINITION(0x1, 0xA3D), ZYDIS_DEFINITION(0x1, 0xA3E), ZYDIS_DEFINITION(0x1, 0xA3F) }, + { ZYDIS_DEFINITION(0x1, 0xA64), ZYDIS_DEFINITION(0x1, 0xA65), ZYDIS_DEFINITION(0x1, 0xA66) }, + { ZYDIS_DEFINITION(0x1, 0xA67), ZYDIS_DEFINITION(0x1, 0xA68), ZYDIS_DEFINITION(0x1, 0xA69) }, + { ZYDIS_DEFINITION(0x1, 0xA40), ZYDIS_DEFINITION(0x1, 0xA41), ZYDIS_DEFINITION(0x1, 0xA42) }, + { ZYDIS_DEFINITION(0x1, 0xA43), ZYDIS_DEFINITION(0x1, 0xA44), ZYDIS_DEFINITION(0x1, 0xA45) }, + { ZYDIS_DEFINITION(0x1, 0xA46), ZYDIS_DEFINITION(0x1, 0xA47), ZYDIS_DEFINITION(0x1, 0xA48) }, + { ZYDIS_DEFINITION(0x1, 0xA49), ZYDIS_DEFINITION(0x1, 0xA4A), ZYDIS_DEFINITION(0x1, 0xA4B) }, + { ZYDIS_DEFINITION(0x1, 0x53C), ZYDIS_DEFINITION(0x1, 0x53D), ZYDIS_DEFINITION(0x1, 0x53E) }, + { ZYDIS_DEFINITION(0x1, 0x53F), ZYDIS_DEFINITION(0x1, 0x540), ZYDIS_DEFINITION(0x1, 0x541) }, + { ZYDIS_DEFINITION(0x1, 0x566), ZYDIS_DEFINITION(0x1, 0x567), ZYDIS_DEFINITION(0x1, 0x568) }, + { ZYDIS_DEFINITION(0x1, 0x569), ZYDIS_DEFINITION(0x1, 0x56A), ZYDIS_DEFINITION(0x1, 0x56B) }, + { ZYDIS_DEFINITION(0x1, 0x542), ZYDIS_DEFINITION(0x1, 0x543), ZYDIS_DEFINITION(0x1, 0x544) }, + { ZYDIS_DEFINITION(0x1, 0x545), ZYDIS_DEFINITION(0x1, 0x546), ZYDIS_DEFINITION(0x1, 0x547) }, + { ZYDIS_DEFINITION(0x1, 0x96E), ZYDIS_DEFINITION(0x1, 0x96F), ZYDIS_DEFINITION(0x1, 0x970) }, + { ZYDIS_DEFINITION(0x1, 0x971), ZYDIS_DEFINITION(0x1, 0x972), ZYDIS_DEFINITION(0x1, 0x973) }, + { ZYDIS_DEFINITION(0x1, 0x752), ZYDIS_DEFINITION(0x1, 0x753), ZYDIS_DEFINITION(0x1, 0x754) }, + { ZYDIS_DEFINITION(0x1, 0x755), ZYDIS_DEFINITION(0x1, 0x756), ZYDIS_DEFINITION(0x1, 0x757) }, + { ZYDIS_DEFINITION(0x1, 0x890), ZYDIS_DEFINITION(0x1, 0x891), ZYDIS_DEFINITION(0x1, 0x892) }, + { ZYDIS_DEFINITION(0x1, 0x893), ZYDIS_DEFINITION(0x1, 0x894), ZYDIS_DEFINITION(0x1, 0x895) }, + { ZYDIS_DEFINITION(0x1, 0x6B7), ZYDIS_DEFINITION(0x1, 0x6B8), ZYDIS_DEFINITION(0x1, 0x6B9) }, + { ZYDIS_DEFINITION(0x1, 0x6BA), ZYDIS_DEFINITION(0x1, 0x6BB), ZYDIS_DEFINITION(0x1, 0x6BC) }, + { ZYDIS_DEFINITION(0x1, 0x6AB), ZYDIS_DEFINITION(0x1, 0x6AC), ZYDIS_DEFINITION(0x1, 0x6AD) }, + { ZYDIS_DEFINITION(0x1, 0x6AE), ZYDIS_DEFINITION(0x1, 0x6AF), ZYDIS_DEFINITION(0x1, 0x6B0) }, + { ZYDIS_DEFINITION(0x1, 0xA28), ZYDIS_DEFINITION(0x1, 0xA29), ZYDIS_DEFINITION(0x1, 0xA2A) }, + { ZYDIS_DEFINITION(0x1, 0xA2B), ZYDIS_DEFINITION(0x1, 0xA2C), ZYDIS_DEFINITION(0x1, 0xA2D) }, + { ZYDIS_DEFINITION(0x1, 0x9EC), ZYDIS_DEFINITION(0x1, 0x9ED), ZYDIS_DEFINITION(0x1, 0x9EE) }, + { ZYDIS_DEFINITION(0x1, 0x9EF), ZYDIS_DEFINITION(0x1, 0x9F0), ZYDIS_DEFINITION(0x1, 0x9F1) }, + { ZYDIS_DEFINITION(0x1, 0x9B6), ZYDIS_DEFINITION(0x1, 0x9B7), ZYDIS_DEFINITION(0x1, 0x9B8) }, + { ZYDIS_DEFINITION(0x1, 0x9B9), ZYDIS_DEFINITION(0x1, 0x9BA), ZYDIS_DEFINITION(0x1, 0x9BB) }, + { ZYDIS_DEFINITION(0x1, 0xE3), ZYDIS_DEFINITION(0x1, 0xE4), ZYDIS_DEFINITION(0x1, 0xE5) }, + { ZYDIS_DEFINITION(0x1, 0xE6), ZYDIS_DEFINITION(0x1, 0xE7), ZYDIS_DEFINITION(0x1, 0xE8) }, + { ZYDIS_DEFINITION(0x1, 0x908), ZYDIS_DEFINITION(0x1, 0x909), ZYDIS_DEFINITION(0x1, 0x90A) }, + { ZYDIS_DEFINITION(0x1, 0x90E), ZYDIS_DEFINITION(0x1, 0x90F), ZYDIS_DEFINITION(0x1, 0x910) }, + { ZYDIS_DEFINITION(0x1, 0x90B), ZYDIS_DEFINITION(0x1, 0x90C), ZYDIS_DEFINITION(0x1, 0x90D) }, + { ZYDIS_DEFINITION(0x1, 0x911), ZYDIS_DEFINITION(0x1, 0x912), ZYDIS_DEFINITION(0x1, 0x913) }, + { ZYDIS_DEFINITION(0x1, 0x8F0), ZYDIS_DEFINITION(0x1, 0x8F1), ZYDIS_DEFINITION(0x1, 0x8F2) }, + { ZYDIS_DEFINITION(0x1, 0x8F6), ZYDIS_DEFINITION(0x1, 0x8F7), ZYDIS_DEFINITION(0x1, 0x8F8) }, + { ZYDIS_DEFINITION(0x1, 0x8F3), ZYDIS_DEFINITION(0x1, 0x8F4), ZYDIS_DEFINITION(0x1, 0x8F5) }, + { ZYDIS_DEFINITION(0x1, 0x8F9), ZYDIS_DEFINITION(0x1, 0x8FA), ZYDIS_DEFINITION(0x1, 0x8FB) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6CB), ZYDIS_DEFINITION(0x1, 0x6CC) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6C3), ZYDIS_DEFINITION(0x1, 0x6C4) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6CD), ZYDIS_DEFINITION(0x1, 0x6CE) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6C5), ZYDIS_DEFINITION(0x1, 0x6C6) }, + { ZYDIS_DEFINITION(0x1, 0x7A), ZYDIS_DEFINITION(0x1, 0x7B), ZYDIS_DEFINITION(0x1, 0x7C) }, + { ZYDIS_DEFINITION(0x1, 0x7D), ZYDIS_DEFINITION(0x1, 0x7E), ZYDIS_DEFINITION(0x1, 0x7F) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x60), ZYDIS_DEFINITION(0x1, 0x61) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x76), ZYDIS_DEFINITION(0x1, 0x77) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x62), ZYDIS_DEFINITION(0x1, 0x63) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x78), ZYDIS_DEFINITION(0x1, 0x79) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x64), ZYDIS_DEFINITION(0x1, 0x65) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x67), ZYDIS_DEFINITION(0x1, 0x68) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x66) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x69) }, + { ZYDIS_DEFINITION(0x1, 0x50C), ZYDIS_DEFINITION(0x1, 0x50D), ZYDIS_DEFINITION(0x1, 0x50E) }, + { ZYDIS_DEFINITION(0x1, 0x50F), ZYDIS_DEFINITION(0x1, 0x510), ZYDIS_DEFINITION(0x1, 0x511) }, + { ZYDIS_DEFINITION(0x1, 0x51E), ZYDIS_DEFINITION(0x1, 0x51F), ZYDIS_DEFINITION(0x1, 0x520) }, + { ZYDIS_DEFINITION(0x1, 0x521), ZYDIS_DEFINITION(0x1, 0x522), ZYDIS_DEFINITION(0x1, 0x523) }, + { ZYDIS_DEFINITION(0x1, 0x512), ZYDIS_DEFINITION(0x1, 0x513), ZYDIS_DEFINITION(0x1, 0x514) }, + { ZYDIS_DEFINITION(0x1, 0x515), ZYDIS_DEFINITION(0x1, 0x516), ZYDIS_DEFINITION(0x1, 0x517) }, + { ZYDIS_DEFINITION(0x1, 0x518), ZYDIS_DEFINITION(0x1, 0x519), ZYDIS_DEFINITION(0x1, 0x51A) }, + { ZYDIS_DEFINITION(0x1, 0x51B), ZYDIS_DEFINITION(0x1, 0x51C), ZYDIS_DEFINITION(0x1, 0x51D) }, + { ZYDIS_DEFINITION(0x1, 0x821), ZYDIS_DEFINITION(0x1, 0x822), ZYDIS_DEFINITION(0x1, 0x823) }, + { ZYDIS_DEFINITION(0x1, 0x824), ZYDIS_DEFINITION(0x1, 0x825), ZYDIS_DEFINITION(0x1, 0x826) }, + { ZYDIS_DEFINITION(0x1, 0x815), ZYDIS_DEFINITION(0x1, 0x816), ZYDIS_DEFINITION(0x1, 0x817) }, + { ZYDIS_DEFINITION(0x1, 0x818), ZYDIS_DEFINITION(0x1, 0x819), ZYDIS_DEFINITION(0x1, 0x81A) }, + { ZYDIS_DEFINITION(0x1, 0x81B), ZYDIS_DEFINITION(0x1, 0x81C), ZYDIS_DEFINITION(0x1, 0x81D) }, + { ZYDIS_DEFINITION(0x1, 0x81E), ZYDIS_DEFINITION(0x1, 0x81F), ZYDIS_DEFINITION(0x1, 0x820) }, + { ZYDIS_DEFINITION(0x1, 0x82D), ZYDIS_DEFINITION(0x1, 0x82E), ZYDIS_DEFINITION(0x1, 0x82F) }, + { ZYDIS_DEFINITION(0x1, 0x830), ZYDIS_DEFINITION(0x1, 0x831), ZYDIS_DEFINITION(0x1, 0x832) }, + { ZYDIS_DEFINITION(0x1, 0x833), ZYDIS_DEFINITION(0x1, 0x834), ZYDIS_DEFINITION(0x1, 0x835) }, + { ZYDIS_DEFINITION(0x1, 0x836), ZYDIS_DEFINITION(0x1, 0x837), ZYDIS_DEFINITION(0x1, 0x838) }, + { ZYDIS_DEFINITION(0x1, 0x827), ZYDIS_DEFINITION(0x1, 0x828), ZYDIS_DEFINITION(0x1, 0x829) }, + { ZYDIS_DEFINITION(0x1, 0x82A), ZYDIS_DEFINITION(0x1, 0x82B), ZYDIS_DEFINITION(0x1, 0x82C) }, + { ZYDIS_DEFINITION(0x1, 0xA76), ZYDIS_DEFINITION(0x1, 0xA77), ZYDIS_DEFINITION(0x1, 0xA78) }, + { ZYDIS_DEFINITION(0x1, 0xA88), ZYDIS_DEFINITION(0x1, 0xA89), ZYDIS_DEFINITION(0x1, 0xA8A) }, + { ZYDIS_DEFINITION(0x1, 0xA79), ZYDIS_DEFINITION(0x1, 0xA7A), ZYDIS_DEFINITION(0x1, 0xA7B) }, + { ZYDIS_DEFINITION(0x1, 0xA8B), ZYDIS_DEFINITION(0x1, 0xA8C), ZYDIS_DEFINITION(0x1, 0xA8D) }, + { ZYDIS_DEFINITION(0x1, 0xA7C), ZYDIS_DEFINITION(0x1, 0xA7D), ZYDIS_DEFINITION(0x1, 0xA7E) }, + { ZYDIS_DEFINITION(0x1, 0xA82), ZYDIS_DEFINITION(0x1, 0xA83), ZYDIS_DEFINITION(0x1, 0xA84) }, + { ZYDIS_DEFINITION(0x1, 0xA7F), ZYDIS_DEFINITION(0x1, 0xA80), ZYDIS_DEFINITION(0x1, 0xA81) }, + { ZYDIS_DEFINITION(0x1, 0xA85), ZYDIS_DEFINITION(0x1, 0xA86), ZYDIS_DEFINITION(0x1, 0xA87) }, + { ZYDIS_DEFINITION(0x1, 0x88A), ZYDIS_DEFINITION(0x1, 0x88B), ZYDIS_DEFINITION(0x1, 0x88C) }, + { ZYDIS_DEFINITION(0x1, 0x88D), ZYDIS_DEFINITION(0x1, 0x88E), ZYDIS_DEFINITION(0x1, 0x88F) }, + { ZYDIS_DEFINITION(0x1, 0x5F9), ZYDIS_DEFINITION(0x1, 0x5FA), ZYDIS_DEFINITION(0x1, 0x5FB) }, + { ZYDIS_DEFINITION(0x1, 0x5FC), ZYDIS_DEFINITION(0x1, 0x5FD), ZYDIS_DEFINITION(0x1, 0x5FE) }, + { ZYDIS_DEFINITION(0x1, 0x4A1), ZYDIS_DEFINITION(0x1, 0x4A2), ZYDIS_DEFINITION(0x1, 0x4A3) }, + { ZYDIS_DEFINITION(0x1, 0x530), ZYDIS_DEFINITION(0x1, 0x531), ZYDIS_DEFINITION(0x1, 0x532) }, + { ZYDIS_DEFINITION(0x1, 0x533), ZYDIS_DEFINITION(0x1, 0x534), ZYDIS_DEFINITION(0x1, 0x535) }, + { ZYDIS_DEFINITION(0x1, 0xB5E), ZYDIS_DEFINITION(0x1, 0xB5F), ZYDIS_DEFINITION(0x1, 0xB60) }, + { ZYDIS_DEFINITION(0x1, 0xB57), ZYDIS_DEFINITION(0x1, 0xB58), ZYDIS_DEFINITION(0x1, 0xB59) }, + { ZYDIS_DEFINITION(0x1, 0xB61), ZYDIS_DEFINITION(0x1, 0xB62), ZYDIS_DEFINITION(0x1, 0xB63) }, + { ZYDIS_DEFINITION(0x1, 0xB5A), ZYDIS_DEFINITION(0x1, 0xB5B), ZYDIS_DEFINITION(0x1, 0xB5C) }, + { ZYDIS_DEFINITION(0x1, 0x872), ZYDIS_DEFINITION(0x1, 0x873), ZYDIS_DEFINITION(0x1, 0x874) }, + { ZYDIS_DEFINITION(0x1, 0x875), ZYDIS_DEFINITION(0x1, 0x876), ZYDIS_DEFINITION(0x1, 0x877) }, + { ZYDIS_DEFINITION(0x1, 0x866), ZYDIS_DEFINITION(0x1, 0x867), ZYDIS_DEFINITION(0x1, 0x868) }, + { ZYDIS_DEFINITION(0x1, 0x869), ZYDIS_DEFINITION(0x1, 0x86A), ZYDIS_DEFINITION(0x1, 0x86B) }, + { ZYDIS_DEFINITION(0x1, 0x86C), ZYDIS_DEFINITION(0x1, 0x86D), ZYDIS_DEFINITION(0x1, 0x86E) }, + { ZYDIS_DEFINITION(0x1, 0x86F), ZYDIS_DEFINITION(0x1, 0x870), ZYDIS_DEFINITION(0x1, 0x871) }, + { ZYDIS_DEFINITION(0x1, 0x87E), ZYDIS_DEFINITION(0x1, 0x87F), ZYDIS_DEFINITION(0x1, 0x880) }, + { ZYDIS_DEFINITION(0x1, 0x881), ZYDIS_DEFINITION(0x1, 0x882), ZYDIS_DEFINITION(0x1, 0x883) }, + { ZYDIS_DEFINITION(0x1, 0x884), ZYDIS_DEFINITION(0x1, 0x885), ZYDIS_DEFINITION(0x1, 0x886) }, + { ZYDIS_DEFINITION(0x1, 0x887), ZYDIS_DEFINITION(0x1, 0x888), ZYDIS_DEFINITION(0x1, 0x889) }, + { ZYDIS_DEFINITION(0x1, 0x878), ZYDIS_DEFINITION(0x1, 0x879), ZYDIS_DEFINITION(0x1, 0x87A) }, + { ZYDIS_DEFINITION(0x1, 0x87B), ZYDIS_DEFINITION(0x1, 0x87C), ZYDIS_DEFINITION(0x1, 0x87D) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x683), ZYDIS_DEFINITION(0x1, 0x684) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6CF), ZYDIS_DEFINITION(0x1, 0x6D0) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x685), ZYDIS_DEFINITION(0x1, 0x686) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6D1), ZYDIS_DEFINITION(0x1, 0x6D2) }, + { ZYDIS_DEFINITION(0x1, 0x611), ZYDIS_DEFINITION(0x1, 0x612), ZYDIS_DEFINITION(0x1, 0x613) }, + { ZYDIS_DEFINITION(0x1, 0x614), ZYDIS_DEFINITION(0x1, 0x615), ZYDIS_DEFINITION(0x1, 0x616) }, + { ZYDIS_DEFINITION(0x1, 0x78E), ZYDIS_DEFINITION(0x1, 0x78F), ZYDIS_DEFINITION(0x1, 0x790) }, + { ZYDIS_DEFINITION(0x1, 0x791), ZYDIS_DEFINITION(0x1, 0x792), ZYDIS_DEFINITION(0x1, 0x793) }, + { ZYDIS_DEFINITION(0x1, 0x794), ZYDIS_DEFINITION(0x1, 0x795), ZYDIS_DEFINITION(0x1, 0x796) }, + { ZYDIS_DEFINITION(0x1, 0x79A), ZYDIS_DEFINITION(0x1, 0x79B), ZYDIS_DEFINITION(0x1, 0x79C) }, + { ZYDIS_DEFINITION(0x1, 0x797), ZYDIS_DEFINITION(0x1, 0x798), ZYDIS_DEFINITION(0x1, 0x799) }, + { ZYDIS_DEFINITION(0x1, 0x79D), ZYDIS_DEFINITION(0x1, 0x79E), ZYDIS_DEFINITION(0x1, 0x79F) }, + { ZYDIS_DEFINITION(0x1, 0x7B8), ZYDIS_DEFINITION(0x1, 0x7B9), ZYDIS_DEFINITION(0x1, 0x7BA) }, + { ZYDIS_DEFINITION(0x1, 0x7BB), ZYDIS_DEFINITION(0x1, 0x7BC), ZYDIS_DEFINITION(0x1, 0x7BD) }, + { ZYDIS_DEFINITION(0x1, 0x7AC), ZYDIS_DEFINITION(0x1, 0x7AD), ZYDIS_DEFINITION(0x1, 0x7AE) }, + { ZYDIS_DEFINITION(0x1, 0x7B2), ZYDIS_DEFINITION(0x1, 0x7B3), ZYDIS_DEFINITION(0x1, 0x7B4) }, + { ZYDIS_DEFINITION(0x1, 0x7AF), ZYDIS_DEFINITION(0x1, 0x7B0), ZYDIS_DEFINITION(0x1, 0x7B1) }, + { ZYDIS_DEFINITION(0x1, 0x7B5), ZYDIS_DEFINITION(0x1, 0x7B6), ZYDIS_DEFINITION(0x1, 0x7B7) }, + { ZYDIS_DEFINITION(0x1, 0x75E), ZYDIS_DEFINITION(0x1, 0x75F), ZYDIS_DEFINITION(0x1, 0x760) }, + { ZYDIS_DEFINITION(0x1, 0x761), ZYDIS_DEFINITION(0x1, 0x762), ZYDIS_DEFINITION(0x1, 0x763) }, + { ZYDIS_DEFINITION(0x1, 0x764), ZYDIS_DEFINITION(0x1, 0x765), ZYDIS_DEFINITION(0x1, 0x766) }, + { ZYDIS_DEFINITION(0x1, 0x76A), ZYDIS_DEFINITION(0x1, 0x76B), ZYDIS_DEFINITION(0x1, 0x76C) }, + { ZYDIS_DEFINITION(0x1, 0x767), ZYDIS_DEFINITION(0x1, 0x768), ZYDIS_DEFINITION(0x1, 0x769) }, + { ZYDIS_DEFINITION(0x1, 0x76D), ZYDIS_DEFINITION(0x1, 0x76E), ZYDIS_DEFINITION(0x1, 0x76F) }, + { ZYDIS_DEFINITION(0x1, 0x788), ZYDIS_DEFINITION(0x1, 0x789), ZYDIS_DEFINITION(0x1, 0x78A) }, + { ZYDIS_DEFINITION(0x1, 0x78B), ZYDIS_DEFINITION(0x1, 0x78C), ZYDIS_DEFINITION(0x1, 0x78D) }, + { ZYDIS_DEFINITION(0x1, 0x77C), ZYDIS_DEFINITION(0x1, 0x77D), ZYDIS_DEFINITION(0x1, 0x77E) }, + { ZYDIS_DEFINITION(0x1, 0x782), ZYDIS_DEFINITION(0x1, 0x783), ZYDIS_DEFINITION(0x1, 0x784) }, + { ZYDIS_DEFINITION(0x1, 0x77F), ZYDIS_DEFINITION(0x1, 0x780), ZYDIS_DEFINITION(0x1, 0x781) }, + { ZYDIS_DEFINITION(0x1, 0x785), ZYDIS_DEFINITION(0x1, 0x786), ZYDIS_DEFINITION(0x1, 0x787) }, + { ZYDIS_DEFINITION(0x1, 0x8A2), ZYDIS_DEFINITION(0x1, 0x8A3), ZYDIS_DEFINITION(0x1, 0x8A4) }, + { ZYDIS_DEFINITION(0x1, 0x8A8), ZYDIS_DEFINITION(0x1, 0x8A9), ZYDIS_DEFINITION(0x1, 0x8AA) }, + { ZYDIS_DEFINITION(0x1, 0x8A5), ZYDIS_DEFINITION(0x1, 0x8A6), ZYDIS_DEFINITION(0x1, 0x8A7) }, + { ZYDIS_DEFINITION(0x1, 0x8AB), ZYDIS_DEFINITION(0x1, 0x8AC), ZYDIS_DEFINITION(0x1, 0x8AD) }, + { ZYDIS_DEFINITION(0x1, 0x3B2), ZYDIS_DEFINITION(0x1, 0x3B3), ZYDIS_DEFINITION(0x1, 0x3B4) }, + { ZYDIS_DEFINITION(0x1, 0x3AB), ZYDIS_DEFINITION(0x1, 0x3AC), ZYDIS_DEFINITION(0x1, 0x3AD) }, + { ZYDIS_DEFINITION(0x1, 0x3B5), ZYDIS_DEFINITION(0x1, 0x3B6), ZYDIS_DEFINITION(0x1, 0x3B7) }, + { ZYDIS_DEFINITION(0x1, 0x3AE), ZYDIS_DEFINITION(0x1, 0x3AF), ZYDIS_DEFINITION(0x1, 0x3B0) }, + { ZYDIS_DEFINITION(0x1, 0x73A), ZYDIS_DEFINITION(0x1, 0x73B), ZYDIS_DEFINITION(0x1, 0x73C) }, + { ZYDIS_DEFINITION(0x1, 0x740), ZYDIS_DEFINITION(0x1, 0x741), ZYDIS_DEFINITION(0x1, 0x742) }, + { ZYDIS_DEFINITION(0x1, 0x73D), ZYDIS_DEFINITION(0x1, 0x73E), ZYDIS_DEFINITION(0x1, 0x73F) }, + { ZYDIS_DEFINITION(0x1, 0x743), ZYDIS_DEFINITION(0x1, 0x744), ZYDIS_DEFINITION(0x1, 0x745) }, + { ZYDIS_DEFINITION(0x1, 0xA1C), ZYDIS_DEFINITION(0x1, 0xA1D), ZYDIS_DEFINITION(0x1, 0xA1E) }, + { ZYDIS_DEFINITION(0x1, 0xA22), ZYDIS_DEFINITION(0x1, 0xA23), ZYDIS_DEFINITION(0x1, 0xA24) }, + { ZYDIS_DEFINITION(0x1, 0xA1F), ZYDIS_DEFINITION(0x1, 0xA20), ZYDIS_DEFINITION(0x1, 0xA21) }, + { ZYDIS_DEFINITION(0x1, 0xA25), ZYDIS_DEFINITION(0x1, 0xA26), ZYDIS_DEFINITION(0x1, 0xA27) }, + { ZYDIS_DEFINITION(0x1, 0x9E0), ZYDIS_DEFINITION(0x1, 0x9E1), ZYDIS_DEFINITION(0x1, 0x9E2) }, + { ZYDIS_DEFINITION(0x1, 0x9E6), ZYDIS_DEFINITION(0x1, 0x9E7), ZYDIS_DEFINITION(0x1, 0x9E8) }, + { ZYDIS_DEFINITION(0x1, 0x9E3), ZYDIS_DEFINITION(0x1, 0x9E4), ZYDIS_DEFINITION(0x1, 0x9E5) }, + { ZYDIS_DEFINITION(0x1, 0x9E9), ZYDIS_DEFINITION(0x1, 0x9EA), ZYDIS_DEFINITION(0x1, 0x9EB) }, + { ZYDIS_DEFINITION(0x1, 0x9AA), ZYDIS_DEFINITION(0x1, 0x9AB), ZYDIS_DEFINITION(0x1, 0x9AC) }, + { ZYDIS_DEFINITION(0x1, 0x9B0), ZYDIS_DEFINITION(0x1, 0x9B1), ZYDIS_DEFINITION(0x1, 0x9B2) }, + { ZYDIS_DEFINITION(0x1, 0x9AD), ZYDIS_DEFINITION(0x1, 0x9AE), ZYDIS_DEFINITION(0x1, 0x9AF) }, + { ZYDIS_DEFINITION(0x1, 0x9B3), ZYDIS_DEFINITION(0x1, 0x9B4), ZYDIS_DEFINITION(0x1, 0x9B5) }, + { ZYDIS_DEFINITION(0x1, 0xAFC), ZYDIS_DEFINITION(0x1, 0xAFD), ZYDIS_DEFINITION(0x1, 0xAFE) }, + { ZYDIS_DEFINITION(0x1, 0xAF6), ZYDIS_DEFINITION(0x1, 0xAF7), ZYDIS_DEFINITION(0x1, 0xAF8) }, + { ZYDIS_DEFINITION(0x1, 0xAFF), ZYDIS_DEFINITION(0x1, 0xB00), ZYDIS_DEFINITION(0x1, 0xB01) }, + { ZYDIS_DEFINITION(0x1, 0xAF9), ZYDIS_DEFINITION(0x1, 0xAFA), ZYDIS_DEFINITION(0x1, 0xAFB) }, + { ZYDIS_DEFINITION(0x1, 0xB40), ZYDIS_DEFINITION(0x1, 0xB41), ZYDIS_DEFINITION(0x1, 0xB42) }, + { ZYDIS_DEFINITION(0x1, 0xB3A), ZYDIS_DEFINITION(0x1, 0xB3B), ZYDIS_DEFINITION(0x1, 0xB3C) }, + { ZYDIS_DEFINITION(0x1, 0xB43), ZYDIS_DEFINITION(0x1, 0xB44), ZYDIS_DEFINITION(0x1, 0xB45) }, + { ZYDIS_DEFINITION(0x1, 0xB3D), ZYDIS_DEFINITION(0x1, 0xB3E), ZYDIS_DEFINITION(0x1, 0xB3F) }, + { ZYDIS_DEFINITION(0x1, 0x665), ZYDIS_DEFINITION(0x1, 0x666), ZYDIS_DEFINITION(0x1, 0x667) }, + { ZYDIS_DEFINITION(0x1, 0x668), ZYDIS_DEFINITION(0x1, 0x669), ZYDIS_DEFINITION(0x1, 0x66A) }, + { ZYDIS_DEFINITION(0x1, 0x66B), ZYDIS_DEFINITION(0x1, 0x66C), ZYDIS_DEFINITION(0x1, 0x66D) }, + { ZYDIS_DEFINITION(0x1, 0x66E), ZYDIS_DEFINITION(0x1, 0x66F), ZYDIS_DEFINITION(0x1, 0x670) }, + { ZYDIS_DEFINITION(0x1, 0x671), ZYDIS_DEFINITION(0x1, 0x672), ZYDIS_DEFINITION(0x1, 0x673) }, + { ZYDIS_DEFINITION(0x1, 0x674), ZYDIS_DEFINITION(0x1, 0x675), ZYDIS_DEFINITION(0x1, 0x676) }, + { ZYDIS_DEFINITION(0x1, 0x677), ZYDIS_DEFINITION(0x1, 0x678), ZYDIS_DEFINITION(0x1, 0x679) }, + { ZYDIS_DEFINITION(0x1, 0x67A), ZYDIS_DEFINITION(0x1, 0x67B), ZYDIS_DEFINITION(0x1, 0x67C) }, + { ZYDIS_DEFINITION(0x1, 0x8C0), ZYDIS_DEFINITION(0x1, 0x8C1), ZYDIS_DEFINITION(0x1, 0x8C2) }, + { ZYDIS_DEFINITION(0x1, 0x8D2), ZYDIS_DEFINITION(0x1, 0x8D3), ZYDIS_DEFINITION(0x1, 0x8D4) }, + { ZYDIS_DEFINITION(0x1, 0x8C3), ZYDIS_DEFINITION(0x1, 0x8C4), ZYDIS_DEFINITION(0x1, 0x8C5) }, + { ZYDIS_DEFINITION(0x1, 0x8D5), ZYDIS_DEFINITION(0x1, 0x8D6), ZYDIS_DEFINITION(0x1, 0x8D7) }, + { ZYDIS_DEFINITION(0x1, 0x8C6), ZYDIS_DEFINITION(0x1, 0x8C7), ZYDIS_DEFINITION(0x1, 0x8C8) }, + { ZYDIS_DEFINITION(0x1, 0x8CC), ZYDIS_DEFINITION(0x1, 0x8CD), ZYDIS_DEFINITION(0x1, 0x8CE) }, + { ZYDIS_DEFINITION(0x1, 0x8C9), ZYDIS_DEFINITION(0x1, 0x8CA), ZYDIS_DEFINITION(0x1, 0x8CB) }, + { ZYDIS_DEFINITION(0x1, 0x8CF), ZYDIS_DEFINITION(0x1, 0x8D0), ZYDIS_DEFINITION(0x1, 0x8D1) }, + { ZYDIS_DEFINITION(0x1, 0x5B7), ZYDIS_DEFINITION(0x1, 0x5B8), ZYDIS_DEFINITION(0x1, 0x5B9) }, + { ZYDIS_DEFINITION(0x1, 0x5BA), ZYDIS_DEFINITION(0x1, 0x5BB), ZYDIS_DEFINITION(0x1, 0x5BC) }, + { ZYDIS_DEFINITION(0x1, 0x6A), ZYDIS_DEFINITION(0x1, 0x6B), ZYDIS_DEFINITION(0x1, 0x6C) }, + { ZYDIS_DEFINITION(0x1, 0x5C9), ZYDIS_DEFINITION(0x1, 0x5CA), ZYDIS_DEFINITION(0x1, 0x5CB) }, + { ZYDIS_DEFINITION(0x1, 0x6D), ZYDIS_DEFINITION(0x1, 0x6E), ZYDIS_DEFINITION(0x1, 0x6F) }, + { ZYDIS_DEFINITION(0x1, 0x5CC), ZYDIS_DEFINITION(0x1, 0x5CD), ZYDIS_DEFINITION(0x1, 0x5CE) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x70), ZYDIS_DEFINITION(0x1, 0x71) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x73), ZYDIS_DEFINITION(0x1, 0x74) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x72) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x75) }, + { ZYDIS_DEFINITION(0x1, 0x701), ZYDIS_DEFINITION(0x1, 0x702), ZYDIS_DEFINITION(0x1, 0x703) }, + { ZYDIS_DEFINITION(0x1, 0x713), ZYDIS_DEFINITION(0x1, 0x714), ZYDIS_DEFINITION(0x1, 0x715) }, + { ZYDIS_DEFINITION(0x1, 0x704), ZYDIS_DEFINITION(0x1, 0x705), ZYDIS_DEFINITION(0x1, 0x706) }, + { ZYDIS_DEFINITION(0x1, 0x716), ZYDIS_DEFINITION(0x1, 0x717), ZYDIS_DEFINITION(0x1, 0x718) }, + { ZYDIS_DEFINITION(0x1, 0x641), ZYDIS_DEFINITION(0x1, 0x642), ZYDIS_DEFINITION(0x1, 0x643) }, + { ZYDIS_DEFINITION(0x1, 0x653), ZYDIS_DEFINITION(0x1, 0x654), ZYDIS_DEFINITION(0x1, 0x655) }, + { ZYDIS_DEFINITION(0x1, 0x644), ZYDIS_DEFINITION(0x1, 0x645), ZYDIS_DEFINITION(0x1, 0x646) }, + { ZYDIS_DEFINITION(0x1, 0x656), ZYDIS_DEFINITION(0x1, 0x657), ZYDIS_DEFINITION(0x1, 0x658) }, + { ZYDIS_DEFINITION(0x1, 0x59C), ZYDIS_DEFINITION(0x1, 0x59D), ZYDIS_DEFINITION(0x1, 0x59E) }, + { ZYDIS_DEFINITION(0x1, 0x5A2), ZYDIS_DEFINITION(0x1, 0x5A3), ZYDIS_DEFINITION(0x1, 0x5A4) }, + { ZYDIS_DEFINITION(0x1, 0x59F), ZYDIS_DEFINITION(0x1, 0x5A0), ZYDIS_DEFINITION(0x1, 0x5A1) }, + { ZYDIS_DEFINITION(0x1, 0x5A5), ZYDIS_DEFINITION(0x1, 0x5A6), ZYDIS_DEFINITION(0x1, 0x5A7) }, + { ZYDIS_DEFINITION(0x1, 0x5A), ZYDIS_DEFINITION(0x1, 0x5B), ZYDIS_DEFINITION(0x1, 0x5C) }, + { ZYDIS_DEFINITION(0x1, 0x54), ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_DEFINITION(0x1, 0x56) }, + { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_DEFINITION(0x1, 0x5F) }, + { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_DEFINITION(0x1, 0x59) }, + { ZYDIS_DEFINITION(0x1, 0x596), ZYDIS_DEFINITION(0x1, 0x597), ZYDIS_DEFINITION(0x1, 0x598) }, + { ZYDIS_DEFINITION(0x1, 0x5A8), ZYDIS_DEFINITION(0x1, 0x5A9), ZYDIS_DEFINITION(0x1, 0x5AA) }, + { ZYDIS_DEFINITION(0x1, 0x599), ZYDIS_DEFINITION(0x1, 0x59A), ZYDIS_DEFINITION(0x1, 0x59B) }, + { ZYDIS_DEFINITION(0x1, 0x5AB), ZYDIS_DEFINITION(0x1, 0x5AC), ZYDIS_DEFINITION(0x1, 0x5AD) }, + { ZYDIS_DEFINITION(0x1, 0x93E), ZYDIS_DEFINITION(0x1, 0x93F), ZYDIS_DEFINITION(0x1, 0x940) }, + { ZYDIS_DEFINITION(0x1, 0x941), ZYDIS_DEFINITION(0x1, 0x942), ZYDIS_DEFINITION(0x1, 0x943) }, + { ZYDIS_DEFINITION(0x1, 0x932), ZYDIS_DEFINITION(0x1, 0x933), ZYDIS_DEFINITION(0x1, 0x934) }, + { ZYDIS_DEFINITION(0x1, 0x938), ZYDIS_DEFINITION(0x1, 0x939), ZYDIS_DEFINITION(0x1, 0x93A) }, + { ZYDIS_DEFINITION(0x1, 0x935), ZYDIS_DEFINITION(0x1, 0x936), ZYDIS_DEFINITION(0x1, 0x937) }, + { ZYDIS_DEFINITION(0x1, 0x93B), ZYDIS_DEFINITION(0x1, 0x93C), ZYDIS_DEFINITION(0x1, 0x93D) }, + { ZYDIS_DEFINITION(0x1, 0x962), ZYDIS_DEFINITION(0x1, 0x963), ZYDIS_DEFINITION(0x1, 0x964) }, + { ZYDIS_DEFINITION(0x1, 0x965), ZYDIS_DEFINITION(0x1, 0x966), ZYDIS_DEFINITION(0x1, 0x967) }, + { ZYDIS_DEFINITION(0x1, 0x956), ZYDIS_DEFINITION(0x1, 0x957), ZYDIS_DEFINITION(0x1, 0x958) }, + { ZYDIS_DEFINITION(0x1, 0x95C), ZYDIS_DEFINITION(0x1, 0x95D), ZYDIS_DEFINITION(0x1, 0x95E) }, + { ZYDIS_DEFINITION(0x1, 0x959), ZYDIS_DEFINITION(0x1, 0x95A), ZYDIS_DEFINITION(0x1, 0x95B) }, + { ZYDIS_DEFINITION(0x1, 0x95F), ZYDIS_DEFINITION(0x1, 0x960), ZYDIS_DEFINITION(0x1, 0x961) }, + { ZYDIS_DEFINITION(0x1, 0x687), ZYDIS_DEFINITION(0x1, 0x688), ZYDIS_DEFINITION(0x1, 0x689) }, + { ZYDIS_DEFINITION(0x1, 0x6A5), ZYDIS_DEFINITION(0x1, 0x6A6), ZYDIS_DEFINITION(0x1, 0x6A7) }, + { ZYDIS_DEFINITION(0x1, 0x68A), ZYDIS_DEFINITION(0x1, 0x68B), ZYDIS_DEFINITION(0x1, 0x68C) }, + { ZYDIS_DEFINITION(0x1, 0x6A8), ZYDIS_DEFINITION(0x1, 0x6A9), ZYDIS_DEFINITION(0x1, 0x6AA) }, + { ZYDIS_DEFINITION(0x1, 0x68D), ZYDIS_DEFINITION(0x1, 0x68E), ZYDIS_DEFINITION(0x1, 0x68F) }, + { ZYDIS_DEFINITION(0x1, 0x69F), ZYDIS_DEFINITION(0x1, 0x6A0), ZYDIS_DEFINITION(0x1, 0x6A1) }, + { ZYDIS_DEFINITION(0x1, 0x690), ZYDIS_DEFINITION(0x1, 0x691), ZYDIS_DEFINITION(0x1, 0x692) }, + { ZYDIS_DEFINITION(0x1, 0x6A2), ZYDIS_DEFINITION(0x1, 0x6A3), ZYDIS_DEFINITION(0x1, 0x6A4) }, + { ZYDIS_DEFINITION(0x1, 0x699), ZYDIS_DEFINITION(0x1, 0x69A), ZYDIS_DEFINITION(0x1, 0x69B) }, + { ZYDIS_DEFINITION(0x1, 0x693), ZYDIS_DEFINITION(0x1, 0x694), ZYDIS_DEFINITION(0x1, 0x695) }, + { ZYDIS_DEFINITION(0x1, 0x69C), ZYDIS_DEFINITION(0x1, 0x69D), ZYDIS_DEFINITION(0x1, 0x69E) }, + { ZYDIS_DEFINITION(0x1, 0x696), ZYDIS_DEFINITION(0x1, 0x697), ZYDIS_DEFINITION(0x1, 0x698) }, + { ZYDIS_DEFINITION(0x1, 0x5AE), ZYDIS_DEFINITION(0x1, 0x5AF), ZYDIS_DEFINITION(0x1, 0x5B0) }, + { ZYDIS_DEFINITION(0x1, 0x5B1), ZYDIS_DEFINITION(0x1, 0x5B2), ZYDIS_DEFINITION(0x1, 0x5B3) }, + { ZYDIS_DEFINITION(0x1, 0x5D2), ZYDIS_DEFINITION(0x1, 0x5D3), ZYDIS_DEFINITION(0x1, 0x5D4) }, + { ZYDIS_DEFINITION(0x1, 0x5D5), ZYDIS_DEFINITION(0x1, 0x5D6), ZYDIS_DEFINITION(0x1, 0x5D7) }, + { ZYDIS_DEFINITION(0x1, 0x5B4), ZYDIS_DEFINITION(0x1, 0x5B5), ZYDIS_DEFINITION(0x1, 0x5B6) }, + { ZYDIS_DEFINITION(0x1, 0x5D8), ZYDIS_DEFINITION(0x1, 0x5D9), ZYDIS_DEFINITION(0x1, 0x5DA) }, + { ZYDIS_DEFINITION(0x1, 0x5BD), ZYDIS_DEFINITION(0x1, 0x5BE), ZYDIS_DEFINITION(0x1, 0x5BF) }, + { ZYDIS_DEFINITION(0x1, 0x5CF), ZYDIS_DEFINITION(0x1, 0x5D0), ZYDIS_DEFINITION(0x1, 0x5D1) }, + { ZYDIS_DEFINITION(0x1, 0x5C0), ZYDIS_DEFINITION(0x1, 0x5C1), ZYDIS_DEFINITION(0x1, 0x5C2) }, + { ZYDIS_DEFINITION(0x1, 0x6D7), ZYDIS_DEFINITION(0x1, 0x6D8), ZYDIS_DEFINITION(0x1, 0x6D9) }, + { ZYDIS_DEFINITION(0x1, 0x6F5), ZYDIS_DEFINITION(0x1, 0x6F6), ZYDIS_DEFINITION(0x1, 0x6F7) }, + { ZYDIS_DEFINITION(0x1, 0x6DA), ZYDIS_DEFINITION(0x1, 0x6DB), ZYDIS_DEFINITION(0x1, 0x6DC) }, + { ZYDIS_DEFINITION(0x1, 0x6F8), ZYDIS_DEFINITION(0x1, 0x6F9), ZYDIS_DEFINITION(0x1, 0x6FA) }, + { ZYDIS_DEFINITION(0x1, 0x6DD), ZYDIS_DEFINITION(0x1, 0x6DE), ZYDIS_DEFINITION(0x1, 0x6DF) }, + { ZYDIS_DEFINITION(0x1, 0x6EF), ZYDIS_DEFINITION(0x1, 0x6F0), ZYDIS_DEFINITION(0x1, 0x6F1) }, + { ZYDIS_DEFINITION(0x1, 0x6E0), ZYDIS_DEFINITION(0x1, 0x6E1), ZYDIS_DEFINITION(0x1, 0x6E2) }, + { ZYDIS_DEFINITION(0x1, 0x6F2), ZYDIS_DEFINITION(0x1, 0x6F3), ZYDIS_DEFINITION(0x1, 0x6F4) }, + { ZYDIS_DEFINITION(0x1, 0x6E9), ZYDIS_DEFINITION(0x1, 0x6EA), ZYDIS_DEFINITION(0x1, 0x6EB) }, + { ZYDIS_DEFINITION(0x1, 0x6E3), ZYDIS_DEFINITION(0x1, 0x6E4), ZYDIS_DEFINITION(0x1, 0x6E5) }, + { ZYDIS_DEFINITION(0x1, 0x6EC), ZYDIS_DEFINITION(0x1, 0x6ED), ZYDIS_DEFINITION(0x1, 0x6EE) }, + { ZYDIS_DEFINITION(0x1, 0x6E6), ZYDIS_DEFINITION(0x1, 0x6E7), ZYDIS_DEFINITION(0x1, 0x6E8) }, + { ZYDIS_DEFINITION(0x1, 0x8B4), ZYDIS_DEFINITION(0x1, 0x8B5), ZYDIS_DEFINITION(0x1, 0x8B6) }, + { ZYDIS_DEFINITION(0x1, 0x8B7), ZYDIS_DEFINITION(0x1, 0x8B8), ZYDIS_DEFINITION(0x1, 0x8B9) }, + { ZYDIS_DEFINITION(0x1, 0x20E), ZYDIS_DEFINITION(0x1, 0x20F), ZYDIS_DEFINITION(0x1, 0x210) }, + { ZYDIS_DEFINITION(0x1, 0x208), ZYDIS_DEFINITION(0x1, 0x209), ZYDIS_DEFINITION(0x1, 0x20A) }, + { ZYDIS_DEFINITION(0x1, 0x211), ZYDIS_DEFINITION(0x1, 0x212), ZYDIS_DEFINITION(0x1, 0x213) }, + { ZYDIS_DEFINITION(0x1, 0x20B), ZYDIS_DEFINITION(0x1, 0x20C), ZYDIS_DEFINITION(0x1, 0x20D) }, + { ZYDIS_DEFINITION(0x1, 0x707), ZYDIS_DEFINITION(0x1, 0x708), ZYDIS_DEFINITION(0x1, 0x709) }, + { ZYDIS_DEFINITION(0x1, 0x70D), ZYDIS_DEFINITION(0x1, 0x70E), ZYDIS_DEFINITION(0x1, 0x70F) }, + { ZYDIS_DEFINITION(0x1, 0x70A), ZYDIS_DEFINITION(0x1, 0x70B), ZYDIS_DEFINITION(0x1, 0x70C) }, + { ZYDIS_DEFINITION(0x1, 0x710), ZYDIS_DEFINITION(0x1, 0x711), ZYDIS_DEFINITION(0x1, 0x712) }, + { ZYDIS_DEFINITION(0x1, 0xA0), ZYDIS_DEFINITION(0x1, 0xA1), ZYDIS_DEFINITION(0x1, 0xA2) }, + { ZYDIS_DEFINITION(0x1, 0x9A), ZYDIS_DEFINITION(0x1, 0x9B), ZYDIS_DEFINITION(0x1, 0x9C) }, + { ZYDIS_DEFINITION(0x1, 0xA3), ZYDIS_DEFINITION(0x1, 0xA4), ZYDIS_DEFINITION(0x1, 0xA5) }, + { ZYDIS_DEFINITION(0x1, 0x9D), ZYDIS_DEFINITION(0x1, 0x9E), ZYDIS_DEFINITION(0x1, 0x9F) }, + { ZYDIS_DEFINITION(0x1, 0x647), ZYDIS_DEFINITION(0x1, 0x648), ZYDIS_DEFINITION(0x1, 0x649) }, + { ZYDIS_DEFINITION(0x1, 0x64D), ZYDIS_DEFINITION(0x1, 0x64E), ZYDIS_DEFINITION(0x1, 0x64F) }, + { ZYDIS_DEFINITION(0x1, 0x64A), ZYDIS_DEFINITION(0x1, 0x64B), ZYDIS_DEFINITION(0x1, 0x64C) }, + { ZYDIS_DEFINITION(0x1, 0x650), ZYDIS_DEFINITION(0x1, 0x651), ZYDIS_DEFINITION(0x1, 0x652) }, + { ZYDIS_DEFINITION(0x1, 0x67D), ZYDIS_DEFINITION(0x1, 0x67E), ZYDIS_DEFINITION(0x1, 0x67F) }, + { ZYDIS_DEFINITION(0x1, 0x6FB), ZYDIS_DEFINITION(0x1, 0x6FC), ZYDIS_DEFINITION(0x1, 0x6FD) }, + { ZYDIS_DEFINITION(0x1, 0x680), ZYDIS_DEFINITION(0x1, 0x681), ZYDIS_DEFINITION(0x1, 0x682) }, + { ZYDIS_DEFINITION(0x1, 0x6FE), ZYDIS_DEFINITION(0x1, 0x6FF), ZYDIS_DEFINITION(0x1, 0x700) }, + { ZYDIS_DEFINITION(0x1, 0x974), ZYDIS_DEFINITION(0x1, 0x975), ZYDIS_DEFINITION(0x1, 0x976) }, + { ZYDIS_DEFINITION(0x1, 0x977), ZYDIS_DEFINITION(0x1, 0x978), ZYDIS_DEFINITION(0x1, 0x979) }, + { ZYDIS_DEFINITION(0x1, 0x724), ZYDIS_DEFINITION(0x1, 0x725), ZYDIS_DEFINITION(0x1, 0x726) }, + { ZYDIS_DEFINITION(0x1, 0x727), ZYDIS_DEFINITION(0x1, 0x728), ZYDIS_DEFINITION(0x1, 0x729) }, + { ZYDIS_DEFINITION(0x1, 0x72A), ZYDIS_DEFINITION(0x1, 0x72B), ZYDIS_DEFINITION(0x1, 0x72C) }, + { ZYDIS_DEFINITION(0x1, 0x72D), ZYDIS_DEFINITION(0x1, 0x72E), ZYDIS_DEFINITION(0x1, 0x72F) }, + { ZYDIS_DEFINITION(0x1, 0x399), ZYDIS_DEFINITION(0x1, 0x39A), ZYDIS_DEFINITION(0x1, 0x39B) }, + { ZYDIS_DEFINITION(0x1, 0x396), ZYDIS_DEFINITION(0x1, 0x397), ZYDIS_DEFINITION(0x1, 0x398) }, + { ZYDIS_DEFINITION(0x1, 0x3A7), ZYDIS_DEFINITION(0x1, 0x3A8), ZYDIS_DEFINITION(0x1, 0x3A9) }, + { ZYDIS_DEFINITION(0x1, 0x3A4), ZYDIS_DEFINITION(0x1, 0x3A5), ZYDIS_DEFINITION(0x1, 0x3A6) }, + { ZYDIS_DEFINITION(0x1, 0x286), ZYDIS_DEFINITION(0x1, 0x287), ZYDIS_DEFINITION(0x1, 0x288) }, + { ZYDIS_DEFINITION(0x1, 0x27F), ZYDIS_DEFINITION(0x1, 0x280), ZYDIS_DEFINITION(0x1, 0x281) }, + { ZYDIS_DEFINITION(0x1, 0x289), ZYDIS_DEFINITION(0x1, 0x28A), ZYDIS_DEFINITION(0x1, 0x28B) }, + { ZYDIS_DEFINITION(0x1, 0x282), ZYDIS_DEFINITION(0x1, 0x283), ZYDIS_DEFINITION(0x1, 0x284) }, + { ZYDIS_DEFINITION(0x1, 0x2EC), ZYDIS_DEFINITION(0x1, 0x2ED), ZYDIS_DEFINITION(0x1, 0x2EE) }, + { ZYDIS_DEFINITION(0x1, 0x2E5), ZYDIS_DEFINITION(0x1, 0x2E6), ZYDIS_DEFINITION(0x1, 0x2E7) }, + { ZYDIS_DEFINITION(0x1, 0x2EF), ZYDIS_DEFINITION(0x1, 0x2F0), ZYDIS_DEFINITION(0x1, 0x2F1) }, + { ZYDIS_DEFINITION(0x1, 0x2E8), ZYDIS_DEFINITION(0x1, 0x2E9), ZYDIS_DEFINITION(0x1, 0x2EA) }, + { ZYDIS_DEFINITION(0x1, 0x24A), ZYDIS_DEFINITION(0x1, 0x24B), ZYDIS_DEFINITION(0x1, 0x24C) }, + { ZYDIS_DEFINITION(0x1, 0x243), ZYDIS_DEFINITION(0x1, 0x244), ZYDIS_DEFINITION(0x1, 0x245) }, + { ZYDIS_DEFINITION(0x1, 0x24D), ZYDIS_DEFINITION(0x1, 0x24E), ZYDIS_DEFINITION(0x1, 0x24F) }, + { ZYDIS_DEFINITION(0x1, 0x246), ZYDIS_DEFINITION(0x1, 0x247), ZYDIS_DEFINITION(0x1, 0x248) }, + { ZYDIS_DEFINITION(0x1, 0x2B0), ZYDIS_DEFINITION(0x1, 0x2B1), ZYDIS_DEFINITION(0x1, 0x2B2) }, + { ZYDIS_DEFINITION(0x1, 0x2A9), ZYDIS_DEFINITION(0x1, 0x2AA), ZYDIS_DEFINITION(0x1, 0x2AB) }, + { ZYDIS_DEFINITION(0x1, 0x2B3), ZYDIS_DEFINITION(0x1, 0x2B4), ZYDIS_DEFINITION(0x1, 0x2B5) }, + { ZYDIS_DEFINITION(0x1, 0x2AC), ZYDIS_DEFINITION(0x1, 0x2AD), ZYDIS_DEFINITION(0x1, 0x2AE) }, + { ZYDIS_DEFINITION(0x1, 0x316), ZYDIS_DEFINITION(0x1, 0x317), ZYDIS_DEFINITION(0x1, 0x318) }, + { ZYDIS_DEFINITION(0x1, 0x30F), ZYDIS_DEFINITION(0x1, 0x310), ZYDIS_DEFINITION(0x1, 0x311) }, + { ZYDIS_DEFINITION(0x1, 0x319), ZYDIS_DEFINITION(0x1, 0x31A), ZYDIS_DEFINITION(0x1, 0x31B) }, + { ZYDIS_DEFINITION(0x1, 0x312), ZYDIS_DEFINITION(0x1, 0x313), ZYDIS_DEFINITION(0x1, 0x314) }, + { ZYDIS_DEFINITION(0x1, 0x352), ZYDIS_DEFINITION(0x1, 0x353), ZYDIS_DEFINITION(0x1, 0x354) }, + { ZYDIS_DEFINITION(0x1, 0x34B), ZYDIS_DEFINITION(0x1, 0x34C), ZYDIS_DEFINITION(0x1, 0x34D) }, + { ZYDIS_DEFINITION(0x1, 0x355), ZYDIS_DEFINITION(0x1, 0x356), ZYDIS_DEFINITION(0x1, 0x357) }, + { ZYDIS_DEFINITION(0x1, 0x34E), ZYDIS_DEFINITION(0x1, 0x34F), ZYDIS_DEFINITION(0x1, 0x350) }, + { ZYDIS_DEFINITION(0x1, 0x91A), ZYDIS_DEFINITION(0x1, 0x91B), ZYDIS_DEFINITION(0x1, 0x91C) }, + { ZYDIS_DEFINITION(0x1, 0x91D), ZYDIS_DEFINITION(0x1, 0x91E), ZYDIS_DEFINITION(0x1, 0x91F) }, + { ZYDIS_DEFINITION(0x1, 0x920), ZYDIS_DEFINITION(0x1, 0x921), ZYDIS_DEFINITION(0x1, 0x922) }, + { ZYDIS_DEFINITION(0x1, 0x923), ZYDIS_DEFINITION(0x1, 0x924), ZYDIS_DEFINITION(0x1, 0x925) }, + { ZYDIS_DEFINITION(0x1, 0xB6D), ZYDIS_DEFINITION(0x1, 0xB6E), ZYDIS_DEFINITION(0x1, 0xB6F) }, + { ZYDIS_DEFINITION(0x1, 0xB6A), ZYDIS_DEFINITION(0x1, 0xB6B), ZYDIS_DEFINITION(0x1, 0xB6C) }, + { ZYDIS_DEFINITION(0x1, 0xB7B), ZYDIS_DEFINITION(0x1, 0xB7C), ZYDIS_DEFINITION(0x1, 0xB7D) }, + { ZYDIS_DEFINITION(0x1, 0xB78), ZYDIS_DEFINITION(0x1, 0xB79), ZYDIS_DEFINITION(0x1, 0xB7A) }, + { ZYDIS_DEFINITION(0x1, 0x294), ZYDIS_DEFINITION(0x1, 0x295), ZYDIS_DEFINITION(0x1, 0x296) }, + { ZYDIS_DEFINITION(0x1, 0x28D), ZYDIS_DEFINITION(0x1, 0x28E), ZYDIS_DEFINITION(0x1, 0x28F) }, + { ZYDIS_DEFINITION(0x1, 0x297), ZYDIS_DEFINITION(0x1, 0x298), ZYDIS_DEFINITION(0x1, 0x299) }, + { ZYDIS_DEFINITION(0x1, 0x290), ZYDIS_DEFINITION(0x1, 0x291), ZYDIS_DEFINITION(0x1, 0x292) }, + { ZYDIS_DEFINITION(0x1, 0x2FA), ZYDIS_DEFINITION(0x1, 0x2FB), ZYDIS_DEFINITION(0x1, 0x2FC) }, + { ZYDIS_DEFINITION(0x1, 0x2F3), ZYDIS_DEFINITION(0x1, 0x2F4), ZYDIS_DEFINITION(0x1, 0x2F5) }, + { ZYDIS_DEFINITION(0x1, 0x2FD), ZYDIS_DEFINITION(0x1, 0x2FE), ZYDIS_DEFINITION(0x1, 0x2FF) }, + { ZYDIS_DEFINITION(0x1, 0x2F6), ZYDIS_DEFINITION(0x1, 0x2F7), ZYDIS_DEFINITION(0x1, 0x2F8) }, + { ZYDIS_DEFINITION(0x1, 0x25E), ZYDIS_DEFINITION(0x1, 0x25F), ZYDIS_DEFINITION(0x1, 0x260) }, + { ZYDIS_DEFINITION(0x1, 0x257), ZYDIS_DEFINITION(0x1, 0x258), ZYDIS_DEFINITION(0x1, 0x259) }, + { ZYDIS_DEFINITION(0x1, 0x261), ZYDIS_DEFINITION(0x1, 0x262), ZYDIS_DEFINITION(0x1, 0x263) }, + { ZYDIS_DEFINITION(0x1, 0x25A), ZYDIS_DEFINITION(0x1, 0x25B), ZYDIS_DEFINITION(0x1, 0x25C) }, + { ZYDIS_DEFINITION(0x1, 0x2C4), ZYDIS_DEFINITION(0x1, 0x2C5), ZYDIS_DEFINITION(0x1, 0x2C6) }, + { ZYDIS_DEFINITION(0x1, 0x2BD), ZYDIS_DEFINITION(0x1, 0x2BE), ZYDIS_DEFINITION(0x1, 0x2BF) }, + { ZYDIS_DEFINITION(0x1, 0x2C7), ZYDIS_DEFINITION(0x1, 0x2C8), ZYDIS_DEFINITION(0x1, 0x2C9) }, + { ZYDIS_DEFINITION(0x1, 0x2C0), ZYDIS_DEFINITION(0x1, 0x2C1), ZYDIS_DEFINITION(0x1, 0x2C2) }, + { ZYDIS_DEFINITION(0x1, 0x32A), ZYDIS_DEFINITION(0x1, 0x32B), ZYDIS_DEFINITION(0x1, 0x32C) }, + { ZYDIS_DEFINITION(0x1, 0x323), ZYDIS_DEFINITION(0x1, 0x324), ZYDIS_DEFINITION(0x1, 0x325) }, + { ZYDIS_DEFINITION(0x1, 0x32D), ZYDIS_DEFINITION(0x1, 0x32E), ZYDIS_DEFINITION(0x1, 0x32F) }, + { ZYDIS_DEFINITION(0x1, 0x326), ZYDIS_DEFINITION(0x1, 0x327), ZYDIS_DEFINITION(0x1, 0x328) }, + { ZYDIS_DEFINITION(0x1, 0x366), ZYDIS_DEFINITION(0x1, 0x367), ZYDIS_DEFINITION(0x1, 0x368) }, + { ZYDIS_DEFINITION(0x1, 0x35F), ZYDIS_DEFINITION(0x1, 0x360), ZYDIS_DEFINITION(0x1, 0x361) }, + { ZYDIS_DEFINITION(0x1, 0x369), ZYDIS_DEFINITION(0x1, 0x36A), ZYDIS_DEFINITION(0x1, 0x36B) }, + { ZYDIS_DEFINITION(0x1, 0x362), ZYDIS_DEFINITION(0x1, 0x363), ZYDIS_DEFINITION(0x1, 0x364) }, + { ZYDIS_DEFINITION(0x1, 0x74C), ZYDIS_DEFINITION(0x1, 0x74D), ZYDIS_DEFINITION(0x1, 0x74E) }, + { ZYDIS_DEFINITION(0x1, 0x74F), ZYDIS_DEFINITION(0x1, 0x750), ZYDIS_DEFINITION(0x1, 0x751) }, + { ZYDIS_DEFINITION(0x1, 0x746), ZYDIS_DEFINITION(0x1, 0x747), ZYDIS_DEFINITION(0x1, 0x748) }, + { ZYDIS_DEFINITION(0x1, 0x749), ZYDIS_DEFINITION(0x1, 0x74A), ZYDIS_DEFINITION(0x1, 0x74B) }, + { ZYDIS_DEFINITION(0x1, 0x2A2), ZYDIS_DEFINITION(0x1, 0x2A3), ZYDIS_DEFINITION(0x1, 0x2A4) }, + { ZYDIS_DEFINITION(0x1, 0x29B), ZYDIS_DEFINITION(0x1, 0x29C), ZYDIS_DEFINITION(0x1, 0x29D) }, + { ZYDIS_DEFINITION(0x1, 0x2A5), ZYDIS_DEFINITION(0x1, 0x2A6), ZYDIS_DEFINITION(0x1, 0x2A7) }, + { ZYDIS_DEFINITION(0x1, 0x29E), ZYDIS_DEFINITION(0x1, 0x29F), ZYDIS_DEFINITION(0x1, 0x2A0) }, + { ZYDIS_DEFINITION(0x1, 0x308), ZYDIS_DEFINITION(0x1, 0x309), ZYDIS_DEFINITION(0x1, 0x30A) }, + { ZYDIS_DEFINITION(0x1, 0x301), ZYDIS_DEFINITION(0x1, 0x302), ZYDIS_DEFINITION(0x1, 0x303) }, + { ZYDIS_DEFINITION(0x1, 0x30B), ZYDIS_DEFINITION(0x1, 0x30C), ZYDIS_DEFINITION(0x1, 0x30D) }, + { ZYDIS_DEFINITION(0x1, 0x304), ZYDIS_DEFINITION(0x1, 0x305), ZYDIS_DEFINITION(0x1, 0x306) }, + { ZYDIS_DEFINITION(0x1, 0x272), ZYDIS_DEFINITION(0x1, 0x273), ZYDIS_DEFINITION(0x1, 0x274) }, + { ZYDIS_DEFINITION(0x1, 0x26B), ZYDIS_DEFINITION(0x1, 0x26C), ZYDIS_DEFINITION(0x1, 0x26D) }, + { ZYDIS_DEFINITION(0x1, 0x275), ZYDIS_DEFINITION(0x1, 0x276), ZYDIS_DEFINITION(0x1, 0x277) }, + { ZYDIS_DEFINITION(0x1, 0x26E), ZYDIS_DEFINITION(0x1, 0x26F), ZYDIS_DEFINITION(0x1, 0x270) }, + { ZYDIS_DEFINITION(0x1, 0x2D8), ZYDIS_DEFINITION(0x1, 0x2D9), ZYDIS_DEFINITION(0x1, 0x2DA) }, + { ZYDIS_DEFINITION(0x1, 0x2D1), ZYDIS_DEFINITION(0x1, 0x2D2), ZYDIS_DEFINITION(0x1, 0x2D3) }, + { ZYDIS_DEFINITION(0x1, 0x2DB), ZYDIS_DEFINITION(0x1, 0x2DC), ZYDIS_DEFINITION(0x1, 0x2DD) }, + { ZYDIS_DEFINITION(0x1, 0x2D4), ZYDIS_DEFINITION(0x1, 0x2D5), ZYDIS_DEFINITION(0x1, 0x2D6) }, + { ZYDIS_DEFINITION(0x1, 0x33E), ZYDIS_DEFINITION(0x1, 0x33F), ZYDIS_DEFINITION(0x1, 0x340) }, + { ZYDIS_DEFINITION(0x1, 0x337), ZYDIS_DEFINITION(0x1, 0x338), ZYDIS_DEFINITION(0x1, 0x339) }, + { ZYDIS_DEFINITION(0x1, 0x341), ZYDIS_DEFINITION(0x1, 0x342), ZYDIS_DEFINITION(0x1, 0x343) }, + { ZYDIS_DEFINITION(0x1, 0x33A), ZYDIS_DEFINITION(0x1, 0x33B), ZYDIS_DEFINITION(0x1, 0x33C) }, + { ZYDIS_DEFINITION(0x1, 0x37A), ZYDIS_DEFINITION(0x1, 0x37B), ZYDIS_DEFINITION(0x1, 0x37C) }, + { ZYDIS_DEFINITION(0x1, 0x373), ZYDIS_DEFINITION(0x1, 0x374), ZYDIS_DEFINITION(0x1, 0x375) }, + { ZYDIS_DEFINITION(0x1, 0x37D), ZYDIS_DEFINITION(0x1, 0x37E), ZYDIS_DEFINITION(0x1, 0x37F) }, + { ZYDIS_DEFINITION(0x1, 0x376), ZYDIS_DEFINITION(0x1, 0x377), ZYDIS_DEFINITION(0x1, 0x378) }, + { ZYDIS_DEFINITION(0x1, 0x659), ZYDIS_DEFINITION(0x1, 0x65A), ZYDIS_DEFINITION(0x1, 0x65B) }, + { ZYDIS_DEFINITION(0x1, 0x65F), ZYDIS_DEFINITION(0x1, 0x660), ZYDIS_DEFINITION(0x1, 0x661) }, + { ZYDIS_DEFINITION(0x1, 0x65C), ZYDIS_DEFINITION(0x1, 0x65D), ZYDIS_DEFINITION(0x1, 0x65E) }, + { ZYDIS_DEFINITION(0x1, 0x662), ZYDIS_DEFINITION(0x1, 0x663), ZYDIS_DEFINITION(0x1, 0x664) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x39D) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x39C) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3A1) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3A0) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB71) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB70) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB75) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB74) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x39F) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x39E) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3A3) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3A2) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB73) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB72) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB77) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB76) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x206) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x203) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x207) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x204) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB0A) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB07) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB0B) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB08) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4E) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4B) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4F) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4C) }, + { ZYDIS_DEFINITION(0x1, 0x3DE), ZYDIS_DEFINITION(0x1, 0x3DF), ZYDIS_DEFINITION(0x1, 0x3E0) }, + { ZYDIS_DEFINITION(0x1, 0x3E1), ZYDIS_DEFINITION(0x1, 0x3E2), ZYDIS_DEFINITION(0x1, 0x3E3) }, + { ZYDIS_DEFINITION(0x1, 0x24), ZYDIS_DEFINITION(0x1, 0x25), ZYDIS_DEFINITION(0x1, 0x26) }, + { ZYDIS_DEFINITION(0x1, 0x27), ZYDIS_DEFINITION(0x1, 0x28), ZYDIS_DEFINITION(0x1, 0x29) }, + { ZYDIS_DEFINITION(0x1, 0x2A), ZYDIS_DEFINITION(0x1, 0x2B), ZYDIS_DEFINITION(0x1, 0x2C) }, + { ZYDIS_DEFINITION(0x1, 0x2D), ZYDIS_DEFINITION(0x1, 0x2E), ZYDIS_DEFINITION(0x1, 0x2F) }, + { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19), ZYDIS_DEFINITION(0x1, 0x1A) }, + { ZYDIS_DEFINITION(0x1, 0x1B), ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, + { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F), ZYDIS_DEFINITION(0x1, 0x20) }, + { ZYDIS_DEFINITION(0x1, 0x21), ZYDIS_DEFINITION(0x1, 0x22), ZYDIS_DEFINITION(0x1, 0x23) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6D3), ZYDIS_DEFINITION(0xB, 0x6D4) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6D5), ZYDIS_DEFINITION(0xB, 0x6D6) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6C7), ZYDIS_DEFINITION(0xB, 0x6C8) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6C9), ZYDIS_DEFINITION(0xB, 0x6CA) }, + { ZYDIS_DEFINITION(0xB, 0x30), ZYDIS_DEFINITION(0xB, 0x31), ZYDIS_DEFINITION(0xB, 0x32) }, + { ZYDIS_DEFINITION(0xB, 0x36), ZYDIS_DEFINITION(0xB, 0x37), ZYDIS_DEFINITION(0xB, 0x38) }, + { ZYDIS_DEFINITION(0xB, 0x33), ZYDIS_DEFINITION(0xB, 0x34), ZYDIS_DEFINITION(0xB, 0x35) }, + { ZYDIS_DEFINITION(0xB, 0x39), ZYDIS_DEFINITION(0xB, 0x3A), ZYDIS_DEFINITION(0xB, 0x3B) }, + { ZYDIS_DEFINITION(0xB, 0x6BD), ZYDIS_DEFINITION(0xB, 0x6BE), ZYDIS_DEFINITION(0xB, 0x6BF) }, + { ZYDIS_DEFINITION(0xB, 0x6C0), ZYDIS_DEFINITION(0xB, 0x6C1), ZYDIS_DEFINITION(0xB, 0x6C2) }, + { ZYDIS_DEFINITION(0xB, 0x6B1), ZYDIS_DEFINITION(0xB, 0x6B2), ZYDIS_DEFINITION(0xB, 0x6B3) }, + { ZYDIS_DEFINITION(0xB, 0x6B4), ZYDIS_DEFINITION(0xB, 0x6B5), ZYDIS_DEFINITION(0xB, 0x6B6) }, + { ZYDIS_DEFINITION(0xB, 0xB2E), ZYDIS_DEFINITION(0xB, 0xB2F), ZYDIS_DEFINITION(0xB, 0xB30) }, + { ZYDIS_DEFINITION(0xB, 0xB31), ZYDIS_DEFINITION(0xB, 0xB32), ZYDIS_DEFINITION(0xB, 0xB33) }, + { ZYDIS_DEFINITION(0xB, 0xB27), ZYDIS_DEFINITION(0xB, 0xB28), ZYDIS_DEFINITION(0xB, 0xB29) }, + { ZYDIS_DEFINITION(0xB, 0xB2A), ZYDIS_DEFINITION(0xB, 0xB2B), ZYDIS_DEFINITION(0xB, 0xB2C) }, + { ZYDIS_DEFINITION(0xB, 0x56C), ZYDIS_DEFINITION(0xB, 0x56D), ZYDIS_DEFINITION(0xB, 0x56E) }, + { ZYDIS_DEFINITION(0xB, 0x56F), ZYDIS_DEFINITION(0xB, 0x570), ZYDIS_DEFINITION(0xB, 0x571) }, + { ZYDIS_DEFINITION(0xB, 0x719), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x71A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x722), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x723), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x71B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x71F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x71D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x71C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x720), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x71E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x22C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x22D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3E4), ZYDIS_DEFINITION(0xB, 0x3E5) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3EA), ZYDIS_DEFINITION(0xB, 0x3EB) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3E6), ZYDIS_DEFINITION(0xB, 0x3E7) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3EC), ZYDIS_DEFINITION(0xB, 0x3ED) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x214), ZYDIS_DEFINITION(0xB, 0x215) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21A), ZYDIS_DEFINITION(0xB, 0x21B) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x216), ZYDIS_DEFINITION(0xB, 0x217) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21C), ZYDIS_DEFINITION(0xB, 0x21D) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3E8) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3EE) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3E9) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3EF) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x218) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21E) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x219) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21F) }, + { ZYDIS_DEFINITION(0xB, 0xF8), ZYDIS_DEFINITION(0xB, 0xF9), ZYDIS_DEFINITION(0xB, 0xFA) }, + { ZYDIS_DEFINITION(0xB, 0xFB), ZYDIS_DEFINITION(0xB, 0xFC), ZYDIS_DEFINITION(0xB, 0xFD) }, + { ZYDIS_DEFINITION(0xB, 0x629), ZYDIS_DEFINITION(0xB, 0x62A), ZYDIS_DEFINITION(0xB, 0x62B) }, + { ZYDIS_DEFINITION(0xB, 0x62F), ZYDIS_DEFINITION(0xB, 0x630), ZYDIS_DEFINITION(0xB, 0x631) }, + { ZYDIS_DEFINITION(0xB, 0x62C), ZYDIS_DEFINITION(0xB, 0x62D), ZYDIS_DEFINITION(0xB, 0x62E) }, + { ZYDIS_DEFINITION(0xB, 0x632), ZYDIS_DEFINITION(0xB, 0x633), ZYDIS_DEFINITION(0xB, 0x634) }, + { ZYDIS_DEFINITION(0xB, 0x5E7), ZYDIS_DEFINITION(0xB, 0x5E8), ZYDIS_DEFINITION(0xB, 0x5E9) }, + { ZYDIS_DEFINITION(0xB, 0x61D), ZYDIS_DEFINITION(0xB, 0x61E), ZYDIS_DEFINITION(0xB, 0x61F) }, + { ZYDIS_DEFINITION(0xB, 0x5EA), ZYDIS_DEFINITION(0xB, 0x5EB), ZYDIS_DEFINITION(0xB, 0x5EC) }, + { ZYDIS_DEFINITION(0xB, 0x620), ZYDIS_DEFINITION(0xB, 0x621), ZYDIS_DEFINITION(0xB, 0x622) }, + { ZYDIS_DEFINITION(0xB, 0x730), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x731), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3FC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3FD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x732), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x736), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x734), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x733), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x737), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x735), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB7E), ZYDIS_DEFINITION(0xB, 0xB7F) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB82), ZYDIS_DEFINITION(0xB, 0xB83) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB80), ZYDIS_DEFINITION(0xB, 0xB81) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB84), ZYDIS_DEFINITION(0xB, 0xB85) }, + { ZYDIS_DEFINITION(0xB, 0xA6A), ZYDIS_DEFINITION(0xB, 0xA6B), ZYDIS_DEFINITION(0xB, 0xA6C) }, + { ZYDIS_DEFINITION(0xB, 0xA70), ZYDIS_DEFINITION(0xB, 0xA71), ZYDIS_DEFINITION(0xB, 0xA72) }, + { ZYDIS_DEFINITION(0xB, 0xA6D), ZYDIS_DEFINITION(0xB, 0xA6E), ZYDIS_DEFINITION(0xB, 0xA6F) }, + { ZYDIS_DEFINITION(0xB, 0xA73), ZYDIS_DEFINITION(0xB, 0xA74), ZYDIS_DEFINITION(0xB, 0xA75) }, + { ZYDIS_DEFINITION(0xB, 0x3C6), ZYDIS_DEFINITION(0xB, 0x3C7), ZYDIS_DEFINITION(0xB, 0x3C8) }, + { ZYDIS_DEFINITION(0xB, 0x3BF), ZYDIS_DEFINITION(0xB, 0x3C0), ZYDIS_DEFINITION(0xB, 0x3C1) }, + { ZYDIS_DEFINITION(0xB, 0x3C9), ZYDIS_DEFINITION(0xB, 0x3CA), ZYDIS_DEFINITION(0xB, 0x3CB) }, + { ZYDIS_DEFINITION(0xB, 0x3C2), ZYDIS_DEFINITION(0xB, 0x3C3), ZYDIS_DEFINITION(0xB, 0x3C4) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F0), ZYDIS_DEFINITION(0xB, 0x3F1) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F6), ZYDIS_DEFINITION(0xB, 0x3F7) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F2), ZYDIS_DEFINITION(0xB, 0x3F3) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F8), ZYDIS_DEFINITION(0xB, 0x3F9) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x220), ZYDIS_DEFINITION(0xB, 0x221) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x226), ZYDIS_DEFINITION(0xB, 0x227) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x222), ZYDIS_DEFINITION(0xB, 0x223) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x228), ZYDIS_DEFINITION(0xB, 0x229) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F4) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3FA) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F5) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3FB) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x224) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x22A) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x225) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x22B) }, + { ZYDIS_DEFINITION(0xB, 0x623), ZYDIS_DEFINITION(0xB, 0x624), ZYDIS_DEFINITION(0xB, 0x625) }, + { ZYDIS_DEFINITION(0xB, 0x635), ZYDIS_DEFINITION(0xB, 0x636), ZYDIS_DEFINITION(0xB, 0x637) }, + { ZYDIS_DEFINITION(0xB, 0x626), ZYDIS_DEFINITION(0xB, 0x627), ZYDIS_DEFINITION(0xB, 0x628) }, + { ZYDIS_DEFINITION(0xB, 0x638), ZYDIS_DEFINITION(0xB, 0x639), ZYDIS_DEFINITION(0xB, 0x63A) }, + { ZYDIS_DEFINITION(0xB, 0x5E1), ZYDIS_DEFINITION(0xB, 0x5E2), ZYDIS_DEFINITION(0xB, 0x5E3) }, + { ZYDIS_DEFINITION(0xB, 0x63B), ZYDIS_DEFINITION(0xB, 0x63C), ZYDIS_DEFINITION(0xB, 0x63D) }, + { ZYDIS_DEFINITION(0xB, 0x5E4), ZYDIS_DEFINITION(0xB, 0x5E5), ZYDIS_DEFINITION(0xB, 0x5E6) }, + { ZYDIS_DEFINITION(0xB, 0x63E), ZYDIS_DEFINITION(0xB, 0x63F), ZYDIS_DEFINITION(0xB, 0x640) }, + { ZYDIS_DEFINITION(0xB, 0x1E2), ZYDIS_DEFINITION(0xB, 0x1E3), ZYDIS_DEFINITION(0xB, 0x1E4) }, + { ZYDIS_DEFINITION(0xB, 0x1E5), ZYDIS_DEFINITION(0xB, 0x1E6), ZYDIS_DEFINITION(0xB, 0x1E7) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB86), ZYDIS_DEFINITION(0xB, 0xB87) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB8A), ZYDIS_DEFINITION(0xB, 0xB8B) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB88), ZYDIS_DEFINITION(0xB, 0xB89) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB8C), ZYDIS_DEFINITION(0xB, 0xB8D) }, + { ZYDIS_DEFINITION(0xB, 0x5DB), ZYDIS_DEFINITION(0xB, 0x5DC), ZYDIS_DEFINITION(0xB, 0x5DD) }, + { ZYDIS_DEFINITION(0xB, 0x5DE), ZYDIS_DEFINITION(0xB, 0x5DF), ZYDIS_DEFINITION(0xB, 0x5E0) }, + { ZYDIS_DEFINITION(0xB, 0xAEA), ZYDIS_DEFINITION(0xB, 0xAEB), ZYDIS_DEFINITION(0xB, 0xAEC) }, + { ZYDIS_DEFINITION(0xB, 0xAE3), ZYDIS_DEFINITION(0xB, 0xAE4), ZYDIS_DEFINITION(0xB, 0xAE5) }, + { ZYDIS_DEFINITION(0xB, 0xAED), ZYDIS_DEFINITION(0xB, 0xAEE), ZYDIS_DEFINITION(0xB, 0xAEF) }, + { ZYDIS_DEFINITION(0xB, 0xAE6), ZYDIS_DEFINITION(0xB, 0xAE7), ZYDIS_DEFINITION(0xB, 0xAE8) }, + { ZYDIS_DEFINITION(0xB, 0x236), ZYDIS_DEFINITION(0xB, 0x237), ZYDIS_DEFINITION(0xB, 0x238) }, + { ZYDIS_DEFINITION(0xB, 0x22F), ZYDIS_DEFINITION(0xB, 0x230), ZYDIS_DEFINITION(0xB, 0x231) }, + { ZYDIS_DEFINITION(0xB, 0x239), ZYDIS_DEFINITION(0xB, 0x23A), ZYDIS_DEFINITION(0xB, 0x23B) }, + { ZYDIS_DEFINITION(0xB, 0x232), ZYDIS_DEFINITION(0xB, 0x233), ZYDIS_DEFINITION(0xB, 0x234) }, + { ZYDIS_DEFINITION(0xB, 0xB1A), ZYDIS_DEFINITION(0xB, 0xB1B), ZYDIS_DEFINITION(0xB, 0xB1C) }, + { ZYDIS_DEFINITION(0xB, 0xB13), ZYDIS_DEFINITION(0xB, 0xB14), ZYDIS_DEFINITION(0xB, 0xB15) }, + { ZYDIS_DEFINITION(0xB, 0xB1D), ZYDIS_DEFINITION(0xB, 0xB1E), ZYDIS_DEFINITION(0xB, 0xB1F) }, + { ZYDIS_DEFINITION(0xB, 0xB16), ZYDIS_DEFINITION(0xB, 0xB17), ZYDIS_DEFINITION(0xB, 0xB18) }, + { ZYDIS_DEFINITION(0xB, 0x38C), ZYDIS_DEFINITION(0xB, 0x38D), ZYDIS_DEFINITION(0xB, 0x38E) }, + { ZYDIS_DEFINITION(0xB, 0x386), ZYDIS_DEFINITION(0xB, 0x387), ZYDIS_DEFINITION(0xB, 0x388) }, + { ZYDIS_DEFINITION(0xB, 0x38F), ZYDIS_DEFINITION(0xB, 0x390), ZYDIS_DEFINITION(0xB, 0x391) }, + { ZYDIS_DEFINITION(0xB, 0x389), ZYDIS_DEFINITION(0xB, 0x38A), ZYDIS_DEFINITION(0xB, 0x38B) }, + { ZYDIS_DEFINITION(0xB, 0x944), ZYDIS_DEFINITION(0xB, 0x945), ZYDIS_DEFINITION(0xB, 0x946) }, + { ZYDIS_DEFINITION(0xB, 0x947), ZYDIS_DEFINITION(0xB, 0x948), ZYDIS_DEFINITION(0xB, 0x949) }, + { ZYDIS_DEFINITION(0xB, 0x926), ZYDIS_DEFINITION(0xB, 0x927), ZYDIS_DEFINITION(0xB, 0x928) }, + { ZYDIS_DEFINITION(0xB, 0x92C), ZYDIS_DEFINITION(0xB, 0x92D), ZYDIS_DEFINITION(0xB, 0x92E) }, + { ZYDIS_DEFINITION(0xB, 0x929), ZYDIS_DEFINITION(0xB, 0x92A), ZYDIS_DEFINITION(0xB, 0x92B) }, + { ZYDIS_DEFINITION(0xB, 0x92F), ZYDIS_DEFINITION(0xB, 0x930), ZYDIS_DEFINITION(0xB, 0x931) }, + { ZYDIS_DEFINITION(0xB, 0x968), ZYDIS_DEFINITION(0xB, 0x969), ZYDIS_DEFINITION(0xB, 0x96A) }, + { ZYDIS_DEFINITION(0xB, 0x96B), ZYDIS_DEFINITION(0xB, 0x96C), ZYDIS_DEFINITION(0xB, 0x96D) }, + { ZYDIS_DEFINITION(0xB, 0x94A), ZYDIS_DEFINITION(0xB, 0x94B), ZYDIS_DEFINITION(0xB, 0x94C) }, + { ZYDIS_DEFINITION(0xB, 0x950), ZYDIS_DEFINITION(0xB, 0x951), ZYDIS_DEFINITION(0xB, 0x952) }, + { ZYDIS_DEFINITION(0xB, 0x94D), ZYDIS_DEFINITION(0xB, 0x94E), ZYDIS_DEFINITION(0xB, 0x94F) }, + { ZYDIS_DEFINITION(0xB, 0x953), ZYDIS_DEFINITION(0xB, 0x954), ZYDIS_DEFINITION(0xB, 0x955) }, + { ZYDIS_DEFINITION(0xB, 0x3D8), ZYDIS_DEFINITION(0xB, 0x3D9), ZYDIS_DEFINITION(0xB, 0x3DA) }, + { ZYDIS_DEFINITION(0xB, 0x3DB), ZYDIS_DEFINITION(0xB, 0x3DC), ZYDIS_DEFINITION(0xB, 0x3DD) }, + { ZYDIS_DEFINITION(0xB, 0x3D2), ZYDIS_DEFINITION(0xB, 0x3D3), ZYDIS_DEFINITION(0xB, 0x3D4) }, + { ZYDIS_DEFINITION(0xB, 0x3D5), ZYDIS_DEFINITION(0xB, 0x3D6), ZYDIS_DEFINITION(0xB, 0x3D7) }, + { ZYDIS_DEFINITION(0x1, 0x4BC), ZYDIS_DEFINITION(0x1, 0x4BD), ZYDIS_DEFINITION(0x1, 0x4BE) }, + { ZYDIS_DEFINITION(0x1, 0x4BF), ZYDIS_DEFINITION(0x1, 0x4C0), ZYDIS_DEFINITION(0x1, 0x4C1) }, + { ZYDIS_DEFINITION(0x1, 0x4B6), ZYDIS_DEFINITION(0x1, 0x4B7), ZYDIS_DEFINITION(0x1, 0x4B8) }, + { ZYDIS_DEFINITION(0x1, 0x4B9), ZYDIS_DEFINITION(0x1, 0x4BA), ZYDIS_DEFINITION(0x1, 0x4BB) }, + { ZYDIS_DEFINITION(0x1, 0x178), ZYDIS_DEFINITION(0x1, 0x179), ZYDIS_DEFINITION(0x1, 0x17A) }, + { ZYDIS_DEFINITION(0x1, 0x17B), ZYDIS_DEFINITION(0x1, 0x17C), ZYDIS_DEFINITION(0x1, 0x17D) }, + { ZYDIS_DEFINITION(0x1, 0x470), ZYDIS_DEFINITION(0x1, 0x471), ZYDIS_DEFINITION(0x1, 0x472) }, + { ZYDIS_DEFINITION(0x1, 0x47C), ZYDIS_DEFINITION(0x1, 0x47D), ZYDIS_DEFINITION(0x1, 0x47E) }, + { ZYDIS_DEFINITION(0x1, 0x473), ZYDIS_DEFINITION(0x1, 0x474), ZYDIS_DEFINITION(0x1, 0x475) }, + { ZYDIS_DEFINITION(0x1, 0x47F), ZYDIS_DEFINITION(0x1, 0x480), ZYDIS_DEFINITION(0x1, 0x481) }, + { ZYDIS_DEFINITION(0xB, 0x980), ZYDIS_DEFINITION(0xB, 0x981), ZYDIS_DEFINITION(0xB, 0x982) }, + { ZYDIS_DEFINITION(0xB, 0x983), ZYDIS_DEFINITION(0xB, 0x984), ZYDIS_DEFINITION(0xB, 0x985) }, + { ZYDIS_DEFINITION(0x1, 0x1B7), ZYDIS_DEFINITION(0x1, 0x1B8), ZYDIS_DEFINITION(0x1, 0x1B9) }, + { ZYDIS_DEFINITION(0x1, 0x1C5), ZYDIS_DEFINITION(0x1, 0x1C6), ZYDIS_DEFINITION(0x1, 0x1C7) }, + { ZYDIS_DEFINITION(0x1, 0x1BA), ZYDIS_DEFINITION(0x1, 0x1BB), ZYDIS_DEFINITION(0x1, 0x1BC) }, + { ZYDIS_DEFINITION(0x1, 0x1C8), ZYDIS_DEFINITION(0x1, 0x1C9), ZYDIS_DEFINITION(0x1, 0x1CA) }, + { ZYDIS_DEFINITION(0x1, 0x4AE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4AF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x476), ZYDIS_DEFINITION(0x1, 0x477), ZYDIS_DEFINITION(0x1, 0x478) }, + { ZYDIS_DEFINITION(0x1, 0x482), ZYDIS_DEFINITION(0x1, 0x483), ZYDIS_DEFINITION(0x1, 0x484) }, + { ZYDIS_DEFINITION(0x1, 0x479), ZYDIS_DEFINITION(0x1, 0x47A), ZYDIS_DEFINITION(0x1, 0x47B) }, + { ZYDIS_DEFINITION(0x1, 0x485), ZYDIS_DEFINITION(0x1, 0x486), ZYDIS_DEFINITION(0x1, 0x487) }, + { ZYDIS_DEFINITION(0x1, 0xA6), ZYDIS_DEFINITION(0x1, 0xA7), ZYDIS_DEFINITION(0x1, 0xA8) }, + { ZYDIS_DEFINITION(0x1, 0x114), ZYDIS_DEFINITION(0x1, 0x115), ZYDIS_DEFINITION(0x1, 0x116) }, + { ZYDIS_DEFINITION(0x1, 0xA9), ZYDIS_DEFINITION(0x1, 0xAA), ZYDIS_DEFINITION(0x1, 0xAB) }, + { ZYDIS_DEFINITION(0x1, 0x117), ZYDIS_DEFINITION(0x1, 0x118), ZYDIS_DEFINITION(0x1, 0x119) }, + { ZYDIS_DEFINITION(0x1, 0x857), ZYDIS_DEFINITION(0x1, 0x858), ZYDIS_DEFINITION(0x1, 0x859) }, + { ZYDIS_DEFINITION(0x1, 0x85A), ZYDIS_DEFINITION(0x1, 0x85B), ZYDIS_DEFINITION(0x1, 0x85C) }, + { ZYDIS_DEFINITION(0x1, 0x839), ZYDIS_DEFINITION(0x1, 0x83A), ZYDIS_DEFINITION(0x1, 0x83B) }, + { ZYDIS_DEFINITION(0x1, 0x83C), ZYDIS_DEFINITION(0x1, 0x83D), ZYDIS_DEFINITION(0x1, 0x83E) }, + { ZYDIS_DEFINITION(0x1, 0x845), ZYDIS_DEFINITION(0x1, 0x846), ZYDIS_DEFINITION(0x1, 0x847) }, + { ZYDIS_DEFINITION(0x1, 0x848), ZYDIS_DEFINITION(0x1, 0x849), ZYDIS_DEFINITION(0x1, 0x84A) }, + { ZYDIS_DEFINITION(0x1, 0x83F), ZYDIS_DEFINITION(0x1, 0x840), ZYDIS_DEFINITION(0x1, 0x841) }, + { ZYDIS_DEFINITION(0x1, 0x842), ZYDIS_DEFINITION(0x1, 0x843), ZYDIS_DEFINITION(0x1, 0x844) }, + { ZYDIS_DEFINITION(0x1, 0x851), ZYDIS_DEFINITION(0x1, 0x852), ZYDIS_DEFINITION(0x1, 0x853) }, + { ZYDIS_DEFINITION(0x1, 0x854), ZYDIS_DEFINITION(0x1, 0x855), ZYDIS_DEFINITION(0x1, 0x856) }, + { ZYDIS_DEFINITION(0x1, 0x84B), ZYDIS_DEFINITION(0x1, 0x84C), ZYDIS_DEFINITION(0x1, 0x84D) }, + { ZYDIS_DEFINITION(0x1, 0x84E), ZYDIS_DEFINITION(0x1, 0x84F), ZYDIS_DEFINITION(0x1, 0x850) }, + { ZYDIS_DEFINITION(0x1, 0x80F), ZYDIS_DEFINITION(0x1, 0x810), ZYDIS_DEFINITION(0x1, 0x811) }, + { ZYDIS_DEFINITION(0x1, 0x812), ZYDIS_DEFINITION(0x1, 0x813), ZYDIS_DEFINITION(0x1, 0x814) }, + { ZYDIS_DEFINITION(0x1, 0x7F1), ZYDIS_DEFINITION(0x1, 0x7F2), ZYDIS_DEFINITION(0x1, 0x7F3) }, + { ZYDIS_DEFINITION(0x1, 0x7F4), ZYDIS_DEFINITION(0x1, 0x7F5), ZYDIS_DEFINITION(0x1, 0x7F6) }, + { ZYDIS_DEFINITION(0x1, 0x7FD), ZYDIS_DEFINITION(0x1, 0x7FE), ZYDIS_DEFINITION(0x1, 0x7FF) }, + { ZYDIS_DEFINITION(0x1, 0x800), ZYDIS_DEFINITION(0x1, 0x801), ZYDIS_DEFINITION(0x1, 0x802) }, + { ZYDIS_DEFINITION(0x1, 0x7F7), ZYDIS_DEFINITION(0x1, 0x7F8), ZYDIS_DEFINITION(0x1, 0x7F9) }, + { ZYDIS_DEFINITION(0x1, 0x7FA), ZYDIS_DEFINITION(0x1, 0x7FB), ZYDIS_DEFINITION(0x1, 0x7FC) }, + { ZYDIS_DEFINITION(0x1, 0x809), ZYDIS_DEFINITION(0x1, 0x80A), ZYDIS_DEFINITION(0x1, 0x80B) }, + { ZYDIS_DEFINITION(0x1, 0x80C), ZYDIS_DEFINITION(0x1, 0x80D), ZYDIS_DEFINITION(0x1, 0x80E) }, + { ZYDIS_DEFINITION(0x1, 0x803), ZYDIS_DEFINITION(0x1, 0x804), ZYDIS_DEFINITION(0x1, 0x805) }, + { ZYDIS_DEFINITION(0x1, 0x806), ZYDIS_DEFINITION(0x1, 0x807), ZYDIS_DEFINITION(0x1, 0x808) }, + { ZYDIS_DEFINITION(0x1, 0xA8E), ZYDIS_DEFINITION(0x1, 0xA8F), ZYDIS_DEFINITION(0x1, 0xA90) }, + { ZYDIS_DEFINITION(0x1, 0xAA0), ZYDIS_DEFINITION(0x1, 0xAA1), ZYDIS_DEFINITION(0x1, 0xAA2) }, + { ZYDIS_DEFINITION(0x1, 0xA91), ZYDIS_DEFINITION(0x1, 0xA92), ZYDIS_DEFINITION(0x1, 0xA93) }, + { ZYDIS_DEFINITION(0x1, 0xAA3), ZYDIS_DEFINITION(0x1, 0xAA4), ZYDIS_DEFINITION(0x1, 0xAA5) }, + { ZYDIS_DEFINITION(0x1, 0xA94), ZYDIS_DEFINITION(0x1, 0xA95), ZYDIS_DEFINITION(0x1, 0xA96) }, + { ZYDIS_DEFINITION(0x1, 0xA9A), ZYDIS_DEFINITION(0x1, 0xA9B), ZYDIS_DEFINITION(0x1, 0xA9C) }, + { ZYDIS_DEFINITION(0x1, 0xA97), ZYDIS_DEFINITION(0x1, 0xA98), ZYDIS_DEFINITION(0x1, 0xA99) }, + { ZYDIS_DEFINITION(0x1, 0xA9D), ZYDIS_DEFINITION(0x1, 0xA9E), ZYDIS_DEFINITION(0x1, 0xA9F) }, + { ZYDIS_DEFINITION(0x1, 0x7D0), ZYDIS_DEFINITION(0x1, 0x7D1), ZYDIS_DEFINITION(0x1, 0x7D2) }, + { ZYDIS_DEFINITION(0x1, 0x7D9), ZYDIS_DEFINITION(0x1, 0x7DA), ZYDIS_DEFINITION(0x1, 0x7DB) }, + { ZYDIS_DEFINITION(0x1, 0x7BE), ZYDIS_DEFINITION(0x1, 0x7BF), ZYDIS_DEFINITION(0x1, 0x7C0) }, + { ZYDIS_DEFINITION(0x1, 0x85D), ZYDIS_DEFINITION(0x1, 0x85E), ZYDIS_DEFINITION(0x1, 0x85F) }, + { ZYDIS_DEFINITION(0x1, 0x5C3), ZYDIS_DEFINITION(0x1, 0x5C4), ZYDIS_DEFINITION(0x1, 0x5C5) }, + { ZYDIS_DEFINITION(0x1, 0x860), ZYDIS_DEFINITION(0x1, 0x861), ZYDIS_DEFINITION(0x1, 0x862) }, + { ZYDIS_DEFINITION(0x1, 0x863), ZYDIS_DEFINITION(0x1, 0x864), ZYDIS_DEFINITION(0x1, 0x865) }, + { ZYDIS_DEFINITION(0x1, 0x7C4), ZYDIS_DEFINITION(0x1, 0x7C5), ZYDIS_DEFINITION(0x1, 0x7C6) }, + { ZYDIS_DEFINITION(0x1, 0x7C7), ZYDIS_DEFINITION(0x1, 0x7C8), ZYDIS_DEFINITION(0x1, 0x7C9) }, + { ZYDIS_DEFINITION(0x1, 0x7DF), ZYDIS_DEFINITION(0x1, 0x7E0), ZYDIS_DEFINITION(0x1, 0x7E1) }, + { ZYDIS_DEFINITION(0x1, 0x7E2), ZYDIS_DEFINITION(0x1, 0x7E3), ZYDIS_DEFINITION(0x1, 0x7E4) }, + { ZYDIS_DEFINITION(0x1, 0x7CA), ZYDIS_DEFINITION(0x1, 0x7CB), ZYDIS_DEFINITION(0x1, 0x7CC) }, + { ZYDIS_DEFINITION(0x1, 0x7CD), ZYDIS_DEFINITION(0x1, 0x7CE), ZYDIS_DEFINITION(0x1, 0x7CF) }, + { ZYDIS_DEFINITION(0x1, 0x7EB), ZYDIS_DEFINITION(0x1, 0x7EC), ZYDIS_DEFINITION(0x1, 0x7ED) }, + { ZYDIS_DEFINITION(0x1, 0x7EE), ZYDIS_DEFINITION(0x1, 0x7EF), ZYDIS_DEFINITION(0x1, 0x7F0) }, + { ZYDIS_DEFINITION(0x1, 0x7E5), ZYDIS_DEFINITION(0x1, 0x7E6), ZYDIS_DEFINITION(0x1, 0x7E7) }, + { ZYDIS_DEFINITION(0x1, 0x7E8), ZYDIS_DEFINITION(0x1, 0x7E9), ZYDIS_DEFINITION(0x1, 0x7EA) }, + { ZYDIS_DEFINITION(0x1, 0x7D3), ZYDIS_DEFINITION(0x1, 0x7D4), ZYDIS_DEFINITION(0x1, 0x7D5) }, + { ZYDIS_DEFINITION(0x1, 0x7D6), ZYDIS_DEFINITION(0x1, 0x7D7), ZYDIS_DEFINITION(0x1, 0x7D8) }, + { ZYDIS_DEFINITION(0x1, 0x7C1), ZYDIS_DEFINITION(0x1, 0x7C2), ZYDIS_DEFINITION(0x1, 0x7C3) }, + { ZYDIS_DEFINITION(0x1, 0x7DC), ZYDIS_DEFINITION(0x1, 0x7DD), ZYDIS_DEFINITION(0x1, 0x7DE) }, + { ZYDIS_DEFINITION(0x1, 0x5C6), ZYDIS_DEFINITION(0x1, 0x5C7), ZYDIS_DEFINITION(0x1, 0x5C8) }, + { ZYDIS_DEFINITION(0x1, 0x1FC), ZYDIS_DEFINITION(0x1, 0x1FD), ZYDIS_DEFINITION(0x1, 0x1FE) }, + { ZYDIS_DEFINITION(0x1, 0x1FF), ZYDIS_DEFINITION(0x1, 0x200), ZYDIS_DEFINITION(0x1, 0x201) }, + { ZYDIS_DEFINITION(0x1, 0xB9), ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xBB) }, + { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_DEFINITION(0x1, 0xBD), ZYDIS_DEFINITION(0x1, 0xBE) }, + { ZYDIS_DEFINITION(0x1, 0x446), ZYDIS_DEFINITION(0x1, 0x447), ZYDIS_DEFINITION(0x1, 0x448) }, + { ZYDIS_DEFINITION(0x1, 0x449), ZYDIS_DEFINITION(0x1, 0x44A), ZYDIS_DEFINITION(0x1, 0x44B) }, + { ZYDIS_DEFINITION(0x1, 0x488), ZYDIS_DEFINITION(0x1, 0x489), ZYDIS_DEFINITION(0x1, 0x48A) }, + { ZYDIS_DEFINITION(0x1, 0x464), ZYDIS_DEFINITION(0x1, 0x465), ZYDIS_DEFINITION(0x1, 0x466) }, + { ZYDIS_DEFINITION(0x1, 0x48B), ZYDIS_DEFINITION(0x1, 0x48C), ZYDIS_DEFINITION(0x1, 0x48D) }, + { ZYDIS_DEFINITION(0x1, 0x467), ZYDIS_DEFINITION(0x1, 0x468), ZYDIS_DEFINITION(0x1, 0x469) }, + { ZYDIS_DEFINITION(0xB, 0x986), ZYDIS_DEFINITION(0xB, 0x987), ZYDIS_DEFINITION(0xB, 0x988) }, + { ZYDIS_DEFINITION(0xB, 0x989), ZYDIS_DEFINITION(0xB, 0x98A), ZYDIS_DEFINITION(0xB, 0x98B) }, + { ZYDIS_DEFINITION(0x1, 0x1BE), ZYDIS_DEFINITION(0x1, 0x1BF), ZYDIS_DEFINITION(0x1, 0x1C0) }, + { ZYDIS_DEFINITION(0x1, 0x1CC), ZYDIS_DEFINITION(0x1, 0x1CD), ZYDIS_DEFINITION(0x1, 0x1CE) }, + { ZYDIS_DEFINITION(0x1, 0x1C1), ZYDIS_DEFINITION(0x1, 0x1C2), ZYDIS_DEFINITION(0x1, 0x1C3) }, + { ZYDIS_DEFINITION(0x1, 0x1CF), ZYDIS_DEFINITION(0x1, 0x1D0), ZYDIS_DEFINITION(0x1, 0x1D1) }, + { ZYDIS_DEFINITION(0x1, 0x48E), ZYDIS_DEFINITION(0x1, 0x48F), ZYDIS_DEFINITION(0x1, 0x490) }, + { ZYDIS_DEFINITION(0x1, 0x46A), ZYDIS_DEFINITION(0x1, 0x46B), ZYDIS_DEFINITION(0x1, 0x46C) }, + { ZYDIS_DEFINITION(0x1, 0x491), ZYDIS_DEFINITION(0x1, 0x492), ZYDIS_DEFINITION(0x1, 0x493) }, + { ZYDIS_DEFINITION(0x1, 0x46D), ZYDIS_DEFINITION(0x1, 0x46E), ZYDIS_DEFINITION(0x1, 0x46F) }, + { ZYDIS_DEFINITION(0x1, 0xC0), ZYDIS_DEFINITION(0x1, 0xC1), ZYDIS_DEFINITION(0x1, 0xC2) }, + { ZYDIS_DEFINITION(0x1, 0xC3), ZYDIS_DEFINITION(0x1, 0xC4), ZYDIS_DEFINITION(0x1, 0xC5) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x50A) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x50B) }, + { ZYDIS_DEFINITION(0x1, 0x4FE), ZYDIS_DEFINITION(0x1, 0x4FF), ZYDIS_DEFINITION(0x1, 0x500) }, + { ZYDIS_DEFINITION(0x1, 0x504), ZYDIS_DEFINITION(0x1, 0x505), ZYDIS_DEFINITION(0x1, 0x506) }, + { ZYDIS_DEFINITION(0x1, 0x501), ZYDIS_DEFINITION(0x1, 0x502), ZYDIS_DEFINITION(0x1, 0x503) }, + { ZYDIS_DEFINITION(0x1, 0x507), ZYDIS_DEFINITION(0x1, 0x508), ZYDIS_DEFINITION(0x1, 0x509) }, + { ZYDIS_DEFINITION(0x1, 0xB3), ZYDIS_DEFINITION(0x1, 0xB4), ZYDIS_DEFINITION(0x1, 0xB5) }, + { ZYDIS_DEFINITION(0x1, 0xB6), ZYDIS_DEFINITION(0x1, 0xB7), ZYDIS_DEFINITION(0x1, 0xB8) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x0) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x143) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13C) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13D) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13E) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x142) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13F) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x140) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x141) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1) }, + { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x380), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x381), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x382), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x383), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x384), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x385), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x386), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x387), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x388), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x389), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x390), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x391), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x392), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x393), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x394), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x395), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x396), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x397), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x398), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x399), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x402), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x403), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x404), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x405), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x406), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x407), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x408), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x409), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x410), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x411), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x412), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x413), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x414), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x415), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x416), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x417), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x418), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x419), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x420), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x421), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x422), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x423), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x0, 0x648), ZYDIS_DEFINITION(0x0, 0x647), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x426), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x430), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x431), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x432), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x433), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x434), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x435), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDD), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44F), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x450), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x451), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x452), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x453), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x454), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x455), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x456), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x457), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x458), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x459), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45C), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45F), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x460), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x461), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x462), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x463), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x464), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x465), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x466), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x467), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x468), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x469), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x470), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x471), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x472), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x473), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x474), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x475), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x476), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x477), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x478), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x479), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x480), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x481), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x482), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x483), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x484), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x485), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x486), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x487), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x488), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x489), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x490), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x491), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x492), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x493), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x494), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x495), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x496), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x497), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x498), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x499), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D0), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4ED), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x500), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x501), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x502), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x503), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x504), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x505), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x506), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x507), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x508), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x509), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x510), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x511), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x512), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x513), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x514), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x515), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x516), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x517), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x518), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x519), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x520), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x521), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x522), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x523), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x524), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x525), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x526), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x527), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x528), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x529), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x530), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x531), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x532), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x533), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x534), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x535), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x536), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x537), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x538), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x539), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x540), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x541), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x542), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x543), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x544), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x545), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x546), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x547), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x548), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x549), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54E), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x550), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x551), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x552), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x553), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x554), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x555), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x556), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x557), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x558), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x559), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x560), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x561), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x562), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x563), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x564), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x565), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x566), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x567), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x568), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x569), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x570), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x571), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x572), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x573), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x574), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x575), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x576), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x577), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x578), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x579), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x580), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x581), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x582), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x583), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x584), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x585), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x586), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x587), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x588), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x589), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x590), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x591), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x592), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x593), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x594), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x595), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x596), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x597), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x598), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x599), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A5), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F5), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FC), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x600), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x601), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x604), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x605), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x606), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x607), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x608), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x609), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x610), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x611), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x612), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x613), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x614), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x615), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x616), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x619), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61B), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61C), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61D), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x620), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x621), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x622), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x623), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x624), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x625), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x626), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x627), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x628), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x629), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x630), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x631), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x632), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x633), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x634), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x635), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x636), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x637), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x638), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x639), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEB), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEC), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63E), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xED), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x641), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x642), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x643), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x644), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x647), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x648), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x649), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x650), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x653), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x654), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x655), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x656), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x659), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65D), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x660), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x661), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x662), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x663), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x670), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x671), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x676), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x677), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x678), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x679), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67A), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF1), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF2), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF3), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF4), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF5), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x683), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x684), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF6), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF7), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF8), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF9), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFA), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFE), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFF), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x100), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x101), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x102), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x103), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x104), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x105), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x106), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x107), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x108), ZYDIS_INVALID, ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x109), ZYDIS_INVALID, ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_REX_W[][2] = +{ + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x2), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x12B), ZYDIS_DEFINITION(0x1, 0x12C) }, + { ZYDIS_DEFINITION(0x1, 0x127), ZYDIS_DEFINITION(0x1, 0x128) }, + { ZYDIS_DEFINITION(0x1, 0x12D), ZYDIS_DEFINITION(0x1, 0x12E) }, + { ZYDIS_DEFINITION(0x1, 0x129), ZYDIS_DEFINITION(0x1, 0x12A) }, + { ZYDIS_DEFINITION(0x1, 0x141), ZYDIS_DEFINITION(0x1, 0x142) }, + { ZYDIS_DEFINITION(0x1, 0x13D), ZYDIS_DEFINITION(0x1, 0x13E) }, + { ZYDIS_DEFINITION(0x1, 0x143), ZYDIS_DEFINITION(0x1, 0x144) }, + { ZYDIS_DEFINITION(0x1, 0x13F), ZYDIS_DEFINITION(0x1, 0x140) }, + { ZYDIS_DEFINITION(0x1, 0x131), ZYDIS_DEFINITION(0x1, 0x132) }, + { ZYDIS_DEFINITION(0x1, 0x121), ZYDIS_DEFINITION(0x1, 0x122) }, + { ZYDIS_DEFINITION(0x1, 0x133), ZYDIS_DEFINITION(0x1, 0x134) }, + { ZYDIS_DEFINITION(0x1, 0x123), ZYDIS_DEFINITION(0x1, 0x124) }, + { ZYDIS_DEFINITION(0x1, 0x73C), ZYDIS_DEFINITION(0x1, 0x73D) }, + { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, + { ZYDIS_DEFINITION(0x1, 0x38), ZYDIS_DEFINITION(0x1, 0x39) }, + { ZYDIS_DEFINITION(0x1, 0x73A), ZYDIS_DEFINITION(0x1, 0x73B) }, + { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19) }, + { ZYDIS_DEFINITION(0x1, 0x3A), ZYDIS_DEFINITION(0x1, 0x3B) }, + { ZYDIS_DEFINITION(0x1, 0x331), ZYDIS_DEFINITION(0x1, 0x332) }, + { ZYDIS_DEFINITION(0xB, 0x484), ZYDIS_DEFINITION(0xB, 0x486) }, + { ZYDIS_DEFINITION(0xB, 0x485), ZYDIS_DEFINITION(0xB, 0x487) }, + { ZYDIS_DEFINITION(0xB, 0x4A8), ZYDIS_DEFINITION(0xB, 0x4AA) }, + { ZYDIS_DEFINITION(0xB, 0x4A9), ZYDIS_DEFINITION(0xB, 0x4AB) }, + { ZYDIS_DEFINITION(0xB, 0x469), ZYDIS_DEFINITION(0xB, 0x46A) }, + { ZYDIS_DEFINITION(0xB, 0x46B), ZYDIS_DEFINITION(0xB, 0x46C) }, + { ZYDIS_DEFINITION(0xB, 0x465), ZYDIS_DEFINITION(0xB, 0x466) }, + { ZYDIS_DEFINITION(0xB, 0x467), ZYDIS_DEFINITION(0xB, 0x468) }, + { ZYDIS_DEFINITION(0xB, 0x47B), ZYDIS_DEFINITION(0xB, 0x47C) }, + { ZYDIS_DEFINITION(0xB, 0x47D), ZYDIS_DEFINITION(0xB, 0x47E) }, + { ZYDIS_DEFINITION(0x1, 0x31D), ZYDIS_DEFINITION(0x1, 0x351) }, + { ZYDIS_DEFINITION(0x1, 0x321), ZYDIS_DEFINITION(0x1, 0x353) }, + { ZYDIS_DEFINITION(0x1, 0x31E), ZYDIS_DEFINITION(0x1, 0x352) }, + { ZYDIS_DEFINITION(0x1, 0x322), ZYDIS_DEFINITION(0x1, 0x354) }, + { ZYDIS_DEFINITION(0x1, 0x325), ZYDIS_DEFINITION(0x1, 0x357) }, + { ZYDIS_DEFINITION(0x1, 0x329), ZYDIS_DEFINITION(0x1, 0x359) }, + { ZYDIS_DEFINITION(0x1, 0x326), ZYDIS_DEFINITION(0x1, 0x358) }, + { ZYDIS_DEFINITION(0x1, 0x32A), ZYDIS_DEFINITION(0x1, 0x35A) }, + { ZYDIS_DEFINITION(0x1, 0x704), ZYDIS_DEFINITION(0x1, 0x705) }, + { ZYDIS_DEFINITION(0x1, 0x231), ZYDIS_DEFINITION(0x1, 0x232) }, + { ZYDIS_DEFINITION(0x1, 0x712), ZYDIS_DEFINITION(0x1, 0x713) }, + { ZYDIS_DEFINITION(0x1, 0x203), ZYDIS_DEFINITION(0x1, 0x204) }, + { ZYDIS_DEFINITION(0x1, 0x201), ZYDIS_DEFINITION(0x1, 0x202) }, + { ZYDIS_DEFINITION(0x1, 0x76D), ZYDIS_DEFINITION(0x1, 0x76E) }, + { ZYDIS_DEFINITION(0x1, 0x769), ZYDIS_DEFINITION(0x1, 0x76A) }, + { ZYDIS_DEFINITION(0x1, 0x771), ZYDIS_DEFINITION(0x1, 0x772) }, + { ZYDIS_DEFINITION(0x1, 0x101), ZYDIS_DEFINITION(0x1, 0x100) }, + { ZYDIS_DEFINITION(0x1, 0x76B), ZYDIS_DEFINITION(0x1, 0x76C) }, + { ZYDIS_DEFINITION(0x1, 0x76F), ZYDIS_DEFINITION(0x1, 0x770) }, + { ZYDIS_DEFINITION(0x1, 0x773), ZYDIS_DEFINITION(0x1, 0x774) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x40) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x41) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x42) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x59) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x43) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x44), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5D), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x45) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x46) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x61) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x47) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x63) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x48) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x65) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x54), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x73), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7D), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x81) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x67) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x68) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x65), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x66) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x67), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x68) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x69), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x70), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x71) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x72), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x73) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x74), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x75), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x76) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x77), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA3), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x78) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA8) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x82), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x83), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x84) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x85), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x86) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x87), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x88) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x89), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x69) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x91), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x92) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x93), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x94) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x95) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCD) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x99) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9D), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA0) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDA) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBC) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x102) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x116), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x117) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD8), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD9) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDA) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDB) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x129), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE5) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x131), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x139), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF4) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF5) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF6) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF7) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x147) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x100) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x101), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x102), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x103), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x104) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x105), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x106) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x107), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x108) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x109), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15F), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x110) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x161) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x120) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x121), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x122) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x175) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x123) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x177) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x124) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x179) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x125), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x126), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x127), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x128) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x180) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x129), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x137), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x138), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x139), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x190) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x192) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x197), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x198) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x142), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x143) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x147) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x150), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x151) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x152), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x153) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x154), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x155) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x156), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x157) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x158), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x159) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x160), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x161) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x162), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x163) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x164), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x165) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x166), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x167) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x168), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x169), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x170), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x171) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x172), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x173), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x175) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x176), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x177) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x178), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x179) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x180), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x181) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x182), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x183) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x184), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x185) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x186), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x187) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x188), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x189) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FE) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x190) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x191) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x192), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x193) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x203), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x204) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x194), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x195) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x196), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x197) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x198), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x199) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x210) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x220), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x221) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x224), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x225) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AD) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x227) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xA) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x10) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x248), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x249) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x250), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x251) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x254), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x255) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x258), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x259) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x12) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x13), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x14) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x15), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x16) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x17), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x18) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x268), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x269) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x270), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x271) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x274), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x275) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x200), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x201) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x278), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x279) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x202), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x203) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x204), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x205) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x206), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x207) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x208), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x209) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x281) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x284), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x285) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x210), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x211) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x288), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x289) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x212), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x213) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x214), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x215) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x216), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x217) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x218), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x219) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x290), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x291) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x294), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x295) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x220), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x221) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x222), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x223) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x224), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x225) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x298), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x299) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x226), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x227) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x228), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x229) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x19), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x20) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x22) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x23), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x24) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x26) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x27), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x28) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x240), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x241) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x242), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x243) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x244), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x245) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x246), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x247) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x248), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x249) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24B), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x254) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C5) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x255) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x256), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x257) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x258), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CD), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x259) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D1), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25D), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x266), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x269), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x270), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x271) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x272), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x273) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x274), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x275) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x276), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x277) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x278), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x279) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x280), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x281) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x282), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x283) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x286), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x287), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x288), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x308), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x309) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x290), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x291) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x292), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x293) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x310), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x311) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x294), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x295) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x296), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x297) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x298), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x299) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x334), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x335) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x338), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x339) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x340), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x341) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CD) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CE) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x346), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x347) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D6) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D7) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x351) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x70) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x71) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x72) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x73) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x74) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x75) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x357), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x300), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x301), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x302), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x303), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x304) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x305), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x306) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x309), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x76) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x77) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x78) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x312), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x79) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x315), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x316) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x360), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x361) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x317), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x320) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x321), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x322) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x323), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x324), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x325), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x326) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x327), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x328), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x329), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x330), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x331), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x332), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x333), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x334), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x335), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x336), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x337), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x338), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x339), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x340) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x341), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x342) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x343), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x344) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x345), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x346) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x347), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x348) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x349) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x350), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x351), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x352), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x353), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x354), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x355), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x356), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x357) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x358), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x359) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A5), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x360) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x361) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x362) }, + { ZYDIS_DEFINITION(0x1, 0x136), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x365), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x368), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x80) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x371), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x81) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x374) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x375) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x376) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x377) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x378) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x379) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37A) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37B) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37D) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37E) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37F) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x380) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x381) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x382) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x383) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x384), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x385) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x386), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x387) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x82) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x83) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x390), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x84) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x393), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x85) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x396), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x397) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B1) }, + { ZYDIS_DEFINITION(0x1, 0x1D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x86) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x87) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A0) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A1) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A3) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3AA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3AB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3AC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xC9), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xCA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xDC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x190), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x24), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_DEFINITION(0x1, 0xBF) }, + { ZYDIS_DEFINITION(0x1, 0xBE), ZYDIS_DEFINITION(0x1, 0xBD) }, + { ZYDIS_DEFINITION(0x1, 0xB8), ZYDIS_DEFINITION(0x1, 0xBB) }, + { ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xB9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x39), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x2A), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x8) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xC5) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xC6) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x9) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xA) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xA) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xD9) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xB) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3C) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xC) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x18D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xD), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xF) }, + { ZYDIS_DEFINITION(0x1, 0xCD), ZYDIS_DEFINITION(0x1, 0xD1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x10), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x14E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x11), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x12), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x13), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x15D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x157), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x151), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x14), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xCE), ZYDIS_DEFINITION(0x1, 0xD2) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x15) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x17) }, + { ZYDIS_DEFINITION(0x1, 0xF3), ZYDIS_DEFINITION(0x1, 0xFC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x19) }, + { ZYDIS_DEFINITION(0x1, 0xF6), ZYDIS_DEFINITION(0x1, 0xF9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1B) }, + { ZYDIS_DEFINITION(0x1, 0x138), ZYDIS_DEFINITION(0x1, 0x13B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1D) }, + { ZYDIS_DEFINITION(0x1, 0x172), ZYDIS_DEFINITION(0x1, 0x175) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x163), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xEA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1D) }, + { ZYDIS_DEFINITION(0x1, 0x19), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x20), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x16F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x21), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x115), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x22), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x129), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x23), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x12C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x24), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x123), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x25), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x126), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x26), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x135), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x27), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x28) }, + { ZYDIS_DEFINITION(0x1, 0xA2), ZYDIS_DEFINITION(0x1, 0x9F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x29), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x160), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x15A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x154), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2D) }, + { ZYDIS_DEFINITION(0x1, 0x7), ZYDIS_DEFINITION(0x1, 0x4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xAB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x30) }, + { ZYDIS_DEFINITION(0x1, 0xB7), ZYDIS_DEFINITION(0x1, 0xB4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x32) }, + { ZYDIS_DEFINITION(0x1, 0xB1), ZYDIS_DEFINITION(0x1, 0xAE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x34) }, + { ZYDIS_DEFINITION(0x1, 0x4B), ZYDIS_DEFINITION(0x1, 0x48) }, + { ZYDIS_DEFINITION(0x1, 0x103), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x104) }, + { ZYDIS_DEFINITION(0x1, 0x1B), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x35), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xE7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x36), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xED), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x37), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x146), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x38), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x16C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x39), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3A) }, + { ZYDIS_DEFINITION(0x1, 0xFF), ZYDIS_DEFINITION(0x1, 0x102) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3C) }, + { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x15) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x166), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3F) }, + { ZYDIS_DEFINITION(0x1, 0x196), ZYDIS_DEFINITION(0x1, 0x193) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x40), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x149), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x41), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x169), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x42), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x110), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x43), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x184), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x44), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x132), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x45), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x12F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x119), ZYDIS_DEFINITION(0x1, 0x11A) }, + { ZYDIS_DEFINITION(0x1, 0x98), ZYDIS_DEFINITION(0x1, 0x97) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x47) }, + { ZYDIS_DEFINITION(0x1, 0x51), ZYDIS_DEFINITION(0x1, 0x4E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x49) }, + { ZYDIS_DEFINITION(0x1, 0x66), ZYDIS_DEFINITION(0x1, 0x63) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4B) }, + { ZYDIS_DEFINITION(0x1, 0x78), ZYDIS_DEFINITION(0x1, 0x75) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4D) }, + { ZYDIS_DEFINITION(0x1, 0x8A), ZYDIS_DEFINITION(0x1, 0x87) }, + { ZYDIS_DEFINITION(0x1, 0x14A), ZYDIS_DEFINITION(0x1, 0x14B) }, + { ZYDIS_DEFINITION(0x1, 0x186), ZYDIS_DEFINITION(0x1, 0x185) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x60), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x50) }, + { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_DEFINITION(0x1, 0x54) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x51), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x52) }, + { ZYDIS_DEFINITION(0x1, 0x6C), ZYDIS_DEFINITION(0x1, 0x69) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x53), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x54) }, + { ZYDIS_DEFINITION(0x1, 0x7E), ZYDIS_DEFINITION(0x1, 0x7B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x56) }, + { ZYDIS_DEFINITION(0x1, 0x90), ZYDIS_DEFINITION(0x1, 0x8D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x57), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x120), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x58), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x11D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5A) }, + { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x5A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5C) }, + { ZYDIS_DEFINITION(0x1, 0x72), ZYDIS_DEFINITION(0x1, 0x6F) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5E) }, + { ZYDIS_DEFINITION(0x1, 0x84), ZYDIS_DEFINITION(0x1, 0x81) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x60) }, + { ZYDIS_DEFINITION(0x1, 0x96), ZYDIS_DEFINITION(0x1, 0x93) }, + { ZYDIS_DEFINITION(0x1, 0x9B), ZYDIS_DEFINITION(0x1, 0x9A) }, + { ZYDIS_DEFINITION(0x1, 0x99), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x9C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x189), ZYDIS_DEFINITION(0x1, 0x188) }, + { ZYDIS_DEFINITION(0x1, 0x187), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x18A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x61), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x45), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x62), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xC2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x63), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x178), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x64), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x181), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x65), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x66), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xF0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xE1), ZYDIS_DEFINITION(0x1, 0xE4) }, + { ZYDIS_DEFINITION(0x1, 0xE3), ZYDIS_DEFINITION(0x1, 0xE2) }, + { ZYDIS_DEFINITION(0x1, 0xDD), ZYDIS_DEFINITION(0x1, 0xE0) }, + { ZYDIS_DEFINITION(0x1, 0xDF), ZYDIS_DEFINITION(0x1, 0xDE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x67), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x12), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x68), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x118), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x69), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x113), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x107), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6C) }, + { ZYDIS_DEFINITION(0xB, 0xA8), ZYDIS_DEFINITION(0xB, 0xA5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6E) }, + { ZYDIS_DEFINITION(0xB, 0x17E), ZYDIS_DEFINITION(0xB, 0x17B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x36), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x70), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x33), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x71) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x72), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x42), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x73), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x27), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x74), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x75) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x30) }, + { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x76) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D) }, + { ZYDIS_DEFINITION(0xB, 0x7E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x7F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x7C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x7D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x7A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x7B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x76), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x77), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x78), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x79), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x82), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x83), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x80), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x74), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x75), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x70), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x71), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x72), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x73), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3A), ZYDIS_DEFINITION(0xB, 0x3B) }, + { ZYDIS_DEFINITION(0xB, 0x3E), ZYDIS_DEFINITION(0xB, 0x3F) }, + { ZYDIS_DEFINITION(0xB, 0x3C), ZYDIS_DEFINITION(0xB, 0x3D) }, + { ZYDIS_DEFINITION(0xB, 0x40), ZYDIS_DEFINITION(0xB, 0x41) }, + { ZYDIS_DEFINITION(0xB, 0x88), ZYDIS_DEFINITION(0xB, 0x89) }, + { ZYDIS_DEFINITION(0xB, 0x8A), ZYDIS_DEFINITION(0xB, 0x8B) }, + { ZYDIS_DEFINITION(0xB, 0x84), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x85), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x86), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x87), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x8C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x8D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x9E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x9F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x92), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x93), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x98), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x99), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x42), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x43), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x50), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x51), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x44), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x45), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x46), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x47), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x48), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x49), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x4E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x4F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x4A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x4B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x4C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x4D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x32), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x34), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x33), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x35), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x30), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x31), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x38), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x39), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x36), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x37), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x8E), ZYDIS_DEFINITION(0x1, 0x8F) }, + { ZYDIS_DEFINITION(0x1, 0x90), ZYDIS_DEFINITION(0x1, 0x91) }, + { ZYDIS_DEFINITION(0x1, 0xA0), ZYDIS_DEFINITION(0x1, 0xA1) }, + { ZYDIS_DEFINITION(0x1, 0xA2), ZYDIS_DEFINITION(0x1, 0xA3) }, + { ZYDIS_DEFINITION(0x1, 0x94), ZYDIS_DEFINITION(0x1, 0x95) }, + { ZYDIS_DEFINITION(0x1, 0x96), ZYDIS_DEFINITION(0x1, 0x97) }, + { ZYDIS_DEFINITION(0x1, 0x9A), ZYDIS_DEFINITION(0x1, 0x9B) }, + { ZYDIS_DEFINITION(0x1, 0x9C), ZYDIS_DEFINITION(0x1, 0x9D) }, + { ZYDIS_DEFINITION(0x1, 0xB4), ZYDIS_DEFINITION(0x1, 0xB5) }, + { ZYDIS_DEFINITION(0x1, 0xB6), ZYDIS_DEFINITION(0x1, 0xB7) }, + { ZYDIS_DEFINITION(0x1, 0xC0), ZYDIS_DEFINITION(0x1, 0xC1) }, + { ZYDIS_DEFINITION(0x1, 0xC2), ZYDIS_DEFINITION(0x1, 0xC3) }, + { ZYDIS_DEFINITION(0x1, 0xB8), ZYDIS_DEFINITION(0x1, 0xB9) }, + { ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xBB) }, + { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_DEFINITION(0x1, 0xBD) }, + { ZYDIS_DEFINITION(0x1, 0xBE), ZYDIS_DEFINITION(0x1, 0xBF) }, + { ZYDIS_DEFINITION(0x1, 0xA4), ZYDIS_DEFINITION(0x1, 0xA5) }, + { ZYDIS_DEFINITION(0x1, 0xA6), ZYDIS_DEFINITION(0x1, 0xA7) }, + { ZYDIS_DEFINITION(0x1, 0xB0), ZYDIS_DEFINITION(0x1, 0xB1) }, + { ZYDIS_DEFINITION(0x1, 0xB2), ZYDIS_DEFINITION(0x1, 0xB3) }, + { ZYDIS_DEFINITION(0x1, 0xA8), ZYDIS_DEFINITION(0x1, 0xA9) }, + { ZYDIS_DEFINITION(0x1, 0xAA), ZYDIS_DEFINITION(0x1, 0xAB) }, + { ZYDIS_DEFINITION(0x1, 0xAC), ZYDIS_DEFINITION(0x1, 0xAD) }, + { ZYDIS_DEFINITION(0x1, 0xAE), ZYDIS_DEFINITION(0x1, 0xAF) }, + { ZYDIS_DEFINITION(0x1, 0x56), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x52), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x53), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x54), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x66), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x67), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x68), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x69), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x59), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x62), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x63), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x64), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x65), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x60), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x61), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x6A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x6B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x6E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x6F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x6C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x6D), ZYDIS_INVALID }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0xA8) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x108) }, + { ZYDIS_DEFINITION(0x8, 0x2A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x8, 0x28), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x30), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3A), ZYDIS_DEFINITION(0x1, 0x39) }, + { ZYDIS_DEFINITION(0x1, 0x33), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x38), ZYDIS_DEFINITION(0x1, 0x36) }, + { ZYDIS_DEFINITION(0x1, 0x37), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x2), ZYDIS_DEFINITION(0x1, 0x5C) }, + { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x5C) }, + { ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x67), ZYDIS_DEFINITION(0x1, 0x61) }, + { ZYDIS_DEFINITION(0x1, 0x77), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x7B), ZYDIS_DEFINITION(0x1, 0x7A) }, + { ZYDIS_DEFINITION(0x1, 0x7C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x80), ZYDIS_DEFINITION(0x1, 0x7F) }, + { ZYDIS_DEFINITION(0x1, 0x3E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2F), ZYDIS_DEFINITION(0x1, 0x2E) }, + { ZYDIS_DEFINITION(0x1, 0x76), ZYDIS_DEFINITION(0x1, 0x75) }, + { ZYDIS_DEFINITION(0xA, 0x2B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xA, 0x29), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x3), ZYDIS_DEFINITION(0x1, 0x4F) }, + { ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_DEFINITION(0x1, 0x50) }, + { ZYDIS_DEFINITION(0x1, 0x54), ZYDIS_DEFINITION(0x1, 0x4F) }, + { ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_DEFINITION(0x1, 0x50) }, + { ZYDIS_DEFINITION(0x1, 0x56), ZYDIS_DEFINITION(0x1, 0x51) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x5), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x6), ZYDIS_DEFINITION(0x1, 0x65) }, + { ZYDIS_DEFINITION(0x1, 0x66), ZYDIS_DEFINITION(0x1, 0x65) }, + { ZYDIS_DEFINITION(0x1, 0x73), ZYDIS_DEFINITION(0x1, 0x72) }, + { ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x0), ZYDIS_DEFINITION(0x1, 0x1) }, + { ZYDIS_DEFINITION(0x1, 0x2), ZYDIS_DEFINITION(0x1, 0x3) }, + { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19) }, + { ZYDIS_DEFINITION(0x1, 0x1A), ZYDIS_DEFINITION(0x1, 0x1B) }, + { ZYDIS_DEFINITION(0x1, 0x12), ZYDIS_DEFINITION(0x1, 0x13) }, + { ZYDIS_DEFINITION(0x1, 0x14), ZYDIS_DEFINITION(0x1, 0x15) }, + { ZYDIS_DEFINITION(0x1, 0xC), ZYDIS_DEFINITION(0x1, 0xD) }, + { ZYDIS_DEFINITION(0x1, 0xE), ZYDIS_DEFINITION(0x1, 0xF) }, + { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F) }, + { ZYDIS_DEFINITION(0x1, 0x20), ZYDIS_DEFINITION(0x1, 0x21) }, + { ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, + { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, + { ZYDIS_DEFINITION(0x1, 0x31), ZYDIS_DEFINITION(0x1, 0x32) }, + { ZYDIS_DEFINITION(0x1, 0x34), ZYDIS_DEFINITION(0x1, 0x35) }, + { ZYDIS_DEFINITION(0x1, 0x5A), ZYDIS_DEFINITION(0x1, 0x5B) }, + { ZYDIS_DEFINITION(0x1, 0x5F), ZYDIS_DEFINITION(0x1, 0x60) }, + { ZYDIS_DEFINITION(0x1, 0x78), ZYDIS_DEFINITION(0x1, 0x79) }, + { ZYDIS_DEFINITION(0x1, 0x7D), ZYDIS_DEFINITION(0x1, 0x7E) }, + { ZYDIS_DEFINITION(0x1, 0x2C), ZYDIS_DEFINITION(0x1, 0x2D) }, + { ZYDIS_DEFINITION(0x1, 0x74), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x327), ZYDIS_DEFINITION(0x1, 0x359) }, + { ZYDIS_DEFINITION(0x1, 0x328), ZYDIS_DEFINITION(0x1, 0x35A) }, + { ZYDIS_DEFINITION(0x1, 0x32B), ZYDIS_DEFINITION(0x1, 0x35B) }, + { ZYDIS_DEFINITION(0x1, 0x32C), ZYDIS_DEFINITION(0x1, 0x35C) }, + { ZYDIS_DEFINITION(0x1, 0x43), ZYDIS_DEFINITION(0x1, 0x48) }, + { ZYDIS_DEFINITION(0x1, 0x44), ZYDIS_DEFINITION(0x1, 0x49) }, + { ZYDIS_DEFINITION(0x1, 0x45), ZYDIS_DEFINITION(0x1, 0x4A) }, + { ZYDIS_DEFINITION(0x1, 0x46), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x47), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x63), ZYDIS_DEFINITION(0x1, 0x64) }, + { ZYDIS_DEFINITION(0x1, 0x70), ZYDIS_DEFINITION(0x1, 0x71) }, + { ZYDIS_DEFINITION(0x1, 0x45B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x45D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x45C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x45E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x453), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x455), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x454), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x456), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x627), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x629), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x628), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x62A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x623), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x625), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x624), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x626), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x131), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x133), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x132), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x134), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x465), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x466), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x110), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x109), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2FB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2FC), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2F7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2F8), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2FD), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2FE), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2F9), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2FA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x441), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x442), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x594), ZYDIS_DEFINITION(0x1, 0x598) }, + { ZYDIS_DEFINITION(0x1, 0x596), ZYDIS_DEFINITION(0x1, 0x59A) }, + { ZYDIS_DEFINITION(0x1, 0x595), ZYDIS_DEFINITION(0x1, 0x599) }, + { ZYDIS_DEFINITION(0x1, 0x597), ZYDIS_DEFINITION(0x1, 0x59B) }, + { ZYDIS_DEFINITION(0x1, 0x57C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x57E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x57D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x57F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x568), ZYDIS_DEFINITION(0x1, 0x56C) }, + { ZYDIS_DEFINITION(0x1, 0x56A), ZYDIS_DEFINITION(0x1, 0x56E) }, + { ZYDIS_DEFINITION(0x1, 0x569), ZYDIS_DEFINITION(0x1, 0x56D) }, + { ZYDIS_DEFINITION(0x1, 0x56B), ZYDIS_DEFINITION(0x1, 0x56F) }, + { ZYDIS_DEFINITION(0x1, 0xB2), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB9), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3F9), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3FB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3FA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3FC), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3FD), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3FF), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3FE), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x400), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x10A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB6), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3F5), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3F7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3F6), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3F8), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x401), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x403), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x402), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x404), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4A8), ZYDIS_DEFINITION(0x1, 0x4AC) }, + { ZYDIS_DEFINITION(0x1, 0x4A9), ZYDIS_DEFINITION(0x1, 0x4AD) }, + { ZYDIS_DEFINITION(0x1, 0x4AA), ZYDIS_DEFINITION(0x1, 0x4AE) }, + { ZYDIS_DEFINITION(0x1, 0x4AB), ZYDIS_DEFINITION(0x1, 0x4AF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x29), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x30) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x32) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x34) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x36) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x37), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x38) }, + { ZYDIS_DEFINITION(0x1, 0x1C9), ZYDIS_DEFINITION(0x1, 0x1C5) }, + { ZYDIS_DEFINITION(0x1, 0x1CB), ZYDIS_DEFINITION(0x1, 0x1C7) }, + { ZYDIS_DEFINITION(0x1, 0x1CA), ZYDIS_DEFINITION(0x1, 0x1C6) }, + { ZYDIS_DEFINITION(0x1, 0x1CC), ZYDIS_DEFINITION(0x1, 0x1C8) }, + { ZYDIS_DEFINITION(0x1, 0x215), ZYDIS_DEFINITION(0x1, 0x211) }, + { ZYDIS_DEFINITION(0x1, 0x217), ZYDIS_DEFINITION(0x1, 0x213) }, + { ZYDIS_DEFINITION(0x1, 0x216), ZYDIS_DEFINITION(0x1, 0x212) }, + { ZYDIS_DEFINITION(0x1, 0x218), ZYDIS_DEFINITION(0x1, 0x214) }, + { ZYDIS_DEFINITION(0x1, 0x18D), ZYDIS_DEFINITION(0x1, 0x189) }, + { ZYDIS_DEFINITION(0x1, 0x18F), ZYDIS_DEFINITION(0x1, 0x18B) }, + { ZYDIS_DEFINITION(0x1, 0x18E), ZYDIS_DEFINITION(0x1, 0x18A) }, + { ZYDIS_DEFINITION(0x1, 0x190), ZYDIS_DEFINITION(0x1, 0x18C) }, + { ZYDIS_DEFINITION(0x1, 0x193), ZYDIS_DEFINITION(0x1, 0x191) }, + { ZYDIS_DEFINITION(0x1, 0x194), ZYDIS_DEFINITION(0x1, 0x192) }, + { ZYDIS_DEFINITION(0x1, 0x1F1), ZYDIS_DEFINITION(0x1, 0x1ED) }, + { ZYDIS_DEFINITION(0x1, 0x1F3), ZYDIS_DEFINITION(0x1, 0x1EF) }, + { ZYDIS_DEFINITION(0x1, 0x1F2), ZYDIS_DEFINITION(0x1, 0x1EE) }, + { ZYDIS_DEFINITION(0x1, 0x1F4), ZYDIS_DEFINITION(0x1, 0x1F0) }, + { ZYDIS_DEFINITION(0x1, 0x1F7), ZYDIS_DEFINITION(0x1, 0x1F5) }, + { ZYDIS_DEFINITION(0x1, 0x1F8), ZYDIS_DEFINITION(0x1, 0x1F6) }, + { ZYDIS_DEFINITION(0x1, 0x255), ZYDIS_DEFINITION(0x1, 0x251) }, + { ZYDIS_DEFINITION(0x1, 0x257), ZYDIS_DEFINITION(0x1, 0x253) }, + { ZYDIS_DEFINITION(0x1, 0x256), ZYDIS_DEFINITION(0x1, 0x252) }, + { ZYDIS_DEFINITION(0x1, 0x258), ZYDIS_DEFINITION(0x1, 0x254) }, + { ZYDIS_DEFINITION(0x1, 0x25B), ZYDIS_DEFINITION(0x1, 0x259) }, + { ZYDIS_DEFINITION(0x1, 0x25C), ZYDIS_DEFINITION(0x1, 0x25A) }, + { ZYDIS_DEFINITION(0x1, 0x291), ZYDIS_DEFINITION(0x1, 0x28D) }, + { ZYDIS_DEFINITION(0x1, 0x293), ZYDIS_DEFINITION(0x1, 0x28F) }, + { ZYDIS_DEFINITION(0x1, 0x292), ZYDIS_DEFINITION(0x1, 0x28E) }, + { ZYDIS_DEFINITION(0x1, 0x294), ZYDIS_DEFINITION(0x1, 0x290) }, + { ZYDIS_DEFINITION(0x1, 0x297), ZYDIS_DEFINITION(0x1, 0x295) }, + { ZYDIS_DEFINITION(0x1, 0x298), ZYDIS_DEFINITION(0x1, 0x296) }, + { ZYDIS_DEFINITION(0x1, 0x1D1), ZYDIS_DEFINITION(0x1, 0x1CD) }, + { ZYDIS_DEFINITION(0x1, 0x1D3), ZYDIS_DEFINITION(0x1, 0x1CF) }, + { ZYDIS_DEFINITION(0x1, 0x1D2), ZYDIS_DEFINITION(0x1, 0x1CE) }, + { ZYDIS_DEFINITION(0x1, 0x1D4), ZYDIS_DEFINITION(0x1, 0x1D0) }, + { ZYDIS_DEFINITION(0x1, 0x21D), ZYDIS_DEFINITION(0x1, 0x219) }, + { ZYDIS_DEFINITION(0x1, 0x21F), ZYDIS_DEFINITION(0x1, 0x21B) }, + { ZYDIS_DEFINITION(0x1, 0x21E), ZYDIS_DEFINITION(0x1, 0x21A) }, + { ZYDIS_DEFINITION(0x1, 0x220), ZYDIS_DEFINITION(0x1, 0x21C) }, + { ZYDIS_DEFINITION(0x1, 0x199), ZYDIS_DEFINITION(0x1, 0x195) }, + { ZYDIS_DEFINITION(0x1, 0x19B), ZYDIS_DEFINITION(0x1, 0x197) }, + { ZYDIS_DEFINITION(0x1, 0x19A), ZYDIS_DEFINITION(0x1, 0x196) }, + { ZYDIS_DEFINITION(0x1, 0x19C), ZYDIS_DEFINITION(0x1, 0x198) }, + { ZYDIS_DEFINITION(0x1, 0x19F), ZYDIS_DEFINITION(0x1, 0x19D) }, + { ZYDIS_DEFINITION(0x1, 0x1A0), ZYDIS_DEFINITION(0x1, 0x19E) }, + { ZYDIS_DEFINITION(0x1, 0x1FD), ZYDIS_DEFINITION(0x1, 0x1F9) }, + { ZYDIS_DEFINITION(0x1, 0x1FF), ZYDIS_DEFINITION(0x1, 0x1FB) }, + { ZYDIS_DEFINITION(0x1, 0x1FE), ZYDIS_DEFINITION(0x1, 0x1FA) }, + { ZYDIS_DEFINITION(0x1, 0x200), ZYDIS_DEFINITION(0x1, 0x1FC) }, + { ZYDIS_DEFINITION(0x1, 0x203), ZYDIS_DEFINITION(0x1, 0x201) }, + { ZYDIS_DEFINITION(0x1, 0x204), ZYDIS_DEFINITION(0x1, 0x202) }, + { ZYDIS_DEFINITION(0x1, 0x261), ZYDIS_DEFINITION(0x1, 0x25D) }, + { ZYDIS_DEFINITION(0x1, 0x263), ZYDIS_DEFINITION(0x1, 0x25F) }, + { ZYDIS_DEFINITION(0x1, 0x262), ZYDIS_DEFINITION(0x1, 0x25E) }, + { ZYDIS_DEFINITION(0x1, 0x264), ZYDIS_DEFINITION(0x1, 0x260) }, + { ZYDIS_DEFINITION(0x1, 0x267), ZYDIS_DEFINITION(0x1, 0x265) }, + { ZYDIS_DEFINITION(0x1, 0x268), ZYDIS_DEFINITION(0x1, 0x266) }, + { ZYDIS_DEFINITION(0x1, 0x29D), ZYDIS_DEFINITION(0x1, 0x299) }, + { ZYDIS_DEFINITION(0x1, 0x29F), ZYDIS_DEFINITION(0x1, 0x29B) }, + { ZYDIS_DEFINITION(0x1, 0x29E), ZYDIS_DEFINITION(0x1, 0x29A) }, + { ZYDIS_DEFINITION(0x1, 0x2A0), ZYDIS_DEFINITION(0x1, 0x29C) }, + { ZYDIS_DEFINITION(0x1, 0x2A3), ZYDIS_DEFINITION(0x1, 0x2A1) }, + { ZYDIS_DEFINITION(0x1, 0x2A4), ZYDIS_DEFINITION(0x1, 0x2A2) }, + { ZYDIS_DEFINITION(0x1, 0x1D9), ZYDIS_DEFINITION(0x1, 0x1D5) }, + { ZYDIS_DEFINITION(0x1, 0x1DB), ZYDIS_DEFINITION(0x1, 0x1D7) }, + { ZYDIS_DEFINITION(0x1, 0x1DA), ZYDIS_DEFINITION(0x1, 0x1D6) }, + { ZYDIS_DEFINITION(0x1, 0x1DC), ZYDIS_DEFINITION(0x1, 0x1D8) }, + { ZYDIS_DEFINITION(0x1, 0x225), ZYDIS_DEFINITION(0x1, 0x221) }, + { ZYDIS_DEFINITION(0x1, 0x227), ZYDIS_DEFINITION(0x1, 0x223) }, + { ZYDIS_DEFINITION(0x1, 0x226), ZYDIS_DEFINITION(0x1, 0x222) }, + { ZYDIS_DEFINITION(0x1, 0x228), ZYDIS_DEFINITION(0x1, 0x224) }, + { ZYDIS_DEFINITION(0x1, 0x1A5), ZYDIS_DEFINITION(0x1, 0x1A1) }, + { ZYDIS_DEFINITION(0x1, 0x1A7), ZYDIS_DEFINITION(0x1, 0x1A3) }, + { ZYDIS_DEFINITION(0x1, 0x1A6), ZYDIS_DEFINITION(0x1, 0x1A2) }, + { ZYDIS_DEFINITION(0x1, 0x1A8), ZYDIS_DEFINITION(0x1, 0x1A4) }, + { ZYDIS_DEFINITION(0x1, 0x1AB), ZYDIS_DEFINITION(0x1, 0x1A9) }, + { ZYDIS_DEFINITION(0x1, 0x1AC), ZYDIS_DEFINITION(0x1, 0x1AA) }, + { ZYDIS_DEFINITION(0x1, 0x209), ZYDIS_DEFINITION(0x1, 0x205) }, + { ZYDIS_DEFINITION(0x1, 0x20B), ZYDIS_DEFINITION(0x1, 0x207) }, + { ZYDIS_DEFINITION(0x1, 0x20A), ZYDIS_DEFINITION(0x1, 0x206) }, + { ZYDIS_DEFINITION(0x1, 0x20C), ZYDIS_DEFINITION(0x1, 0x208) }, + { ZYDIS_DEFINITION(0x1, 0x20F), ZYDIS_DEFINITION(0x1, 0x20D) }, + { ZYDIS_DEFINITION(0x1, 0x210), ZYDIS_DEFINITION(0x1, 0x20E) }, + { ZYDIS_DEFINITION(0x1, 0x26D), ZYDIS_DEFINITION(0x1, 0x269) }, + { ZYDIS_DEFINITION(0x1, 0x26F), ZYDIS_DEFINITION(0x1, 0x26B) }, + { ZYDIS_DEFINITION(0x1, 0x26E), ZYDIS_DEFINITION(0x1, 0x26A) }, + { ZYDIS_DEFINITION(0x1, 0x270), ZYDIS_DEFINITION(0x1, 0x26C) }, + { ZYDIS_DEFINITION(0x1, 0x273), ZYDIS_DEFINITION(0x1, 0x271) }, + { ZYDIS_DEFINITION(0x1, 0x274), ZYDIS_DEFINITION(0x1, 0x272) }, + { ZYDIS_DEFINITION(0x1, 0x2A9), ZYDIS_DEFINITION(0x1, 0x2A5) }, + { ZYDIS_DEFINITION(0x1, 0x2AB), ZYDIS_DEFINITION(0x1, 0x2A7) }, + { ZYDIS_DEFINITION(0x1, 0x2AA), ZYDIS_DEFINITION(0x1, 0x2A6) }, + { ZYDIS_DEFINITION(0x1, 0x2AC), ZYDIS_DEFINITION(0x1, 0x2A8) }, + { ZYDIS_DEFINITION(0x1, 0x2AF), ZYDIS_DEFINITION(0x1, 0x2AD) }, + { ZYDIS_DEFINITION(0x1, 0x2B0), ZYDIS_DEFINITION(0x1, 0x2AE) }, + { ZYDIS_DEFINITION(0x1, 0x2D9), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2DB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2DA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2DC), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xA4), ZYDIS_DEFINITION(0x1, 0xA5) }, + { ZYDIS_DEFINITION(0x1, 0xA6), ZYDIS_DEFINITION(0x1, 0xA7) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x467) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x468) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x463) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x464) }, + { ZYDIS_DEFINITION(0xB, 0x3E9), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3EB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3EA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3EC), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x45F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x461), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x460), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x462), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x457), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x459), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x458), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x45A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x43D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x43E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x46B), ZYDIS_DEFINITION(0xB, 0x46F) }, + { ZYDIS_DEFINITION(0xB, 0x46C), ZYDIS_DEFINITION(0xB, 0x470) }, + { ZYDIS_DEFINITION(0xB, 0x2ED), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x2EE), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x183), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x184), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x13D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x13F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x13E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x140), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x498), ZYDIS_DEFINITION(0xB, 0x49C) }, + { ZYDIS_DEFINITION(0xB, 0x499), ZYDIS_DEFINITION(0xB, 0x49D) }, + { ZYDIS_DEFINITION(0xB, 0x6C), ZYDIS_DEFINITION(0xB, 0x6F) }, + { ZYDIS_DEFINITION(0xB, 0x6D), ZYDIS_DEFINITION(0xB, 0x6E) }, + { ZYDIS_DEFINITION(0xB, 0x68), ZYDIS_DEFINITION(0xB, 0x6B) }, + { ZYDIS_DEFINITION(0xB, 0x69), ZYDIS_DEFINITION(0xB, 0x6A) }, + { ZYDIS_DEFINITION(0xB, 0x2EF), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x2F0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x185), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x186), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x43F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x440), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x44B), ZYDIS_DEFINITION(0xB, 0x44C) }, + { ZYDIS_DEFINITION(0xB, 0x44F), ZYDIS_DEFINITION(0xB, 0x450) }, + { ZYDIS_DEFINITION(0xB, 0x44D), ZYDIS_DEFINITION(0xB, 0x44E) }, + { ZYDIS_DEFINITION(0xB, 0x451), ZYDIS_DEFINITION(0xB, 0x452) }, + { ZYDIS_DEFINITION(0xB, 0x443), ZYDIS_DEFINITION(0xB, 0x444) }, + { ZYDIS_DEFINITION(0xB, 0x447), ZYDIS_DEFINITION(0xB, 0x448) }, + { ZYDIS_DEFINITION(0xB, 0x445), ZYDIS_DEFINITION(0xB, 0x446) }, + { ZYDIS_DEFINITION(0xB, 0x449), ZYDIS_DEFINITION(0xB, 0x44A) }, + { ZYDIS_DEFINITION(0xB, 0x105), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x107), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x106), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x108), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x101), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x103), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x102), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x104), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3ED), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3EF), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3EE), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3F0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x1E5), ZYDIS_DEFINITION(0xB, 0x1E6) }, + { ZYDIS_DEFINITION(0xB, 0x1E9), ZYDIS_DEFINITION(0xB, 0x1EA) }, + { ZYDIS_DEFINITION(0xB, 0x1E7), ZYDIS_DEFINITION(0xB, 0x1E8) }, + { ZYDIS_DEFINITION(0xB, 0x1EB), ZYDIS_DEFINITION(0xB, 0x1EC) }, + { ZYDIS_DEFINITION(0xB, 0x1DD), ZYDIS_DEFINITION(0xB, 0x1DE) }, + { ZYDIS_DEFINITION(0xB, 0x1E1), ZYDIS_DEFINITION(0xB, 0x1E2) }, + { ZYDIS_DEFINITION(0xB, 0x1DF), ZYDIS_DEFINITION(0xB, 0x1E0) }, + { ZYDIS_DEFINITION(0xB, 0x1E3), ZYDIS_DEFINITION(0xB, 0x1E4) }, + { ZYDIS_DEFINITION(0xB, 0x231), ZYDIS_DEFINITION(0xB, 0x232) }, + { ZYDIS_DEFINITION(0xB, 0x235), ZYDIS_DEFINITION(0xB, 0x236) }, + { ZYDIS_DEFINITION(0xB, 0x233), ZYDIS_DEFINITION(0xB, 0x234) }, + { ZYDIS_DEFINITION(0xB, 0x237), ZYDIS_DEFINITION(0xB, 0x238) }, + { ZYDIS_DEFINITION(0xB, 0x229), ZYDIS_DEFINITION(0xB, 0x22A) }, + { ZYDIS_DEFINITION(0xB, 0x22D), ZYDIS_DEFINITION(0xB, 0x22E) }, + { ZYDIS_DEFINITION(0xB, 0x22B), ZYDIS_DEFINITION(0xB, 0x22C) }, + { ZYDIS_DEFINITION(0xB, 0x22F), ZYDIS_DEFINITION(0xB, 0x230) }, + { ZYDIS_DEFINITION(0xB, 0x41F), ZYDIS_DEFINITION(0xB, 0x420) }, + { ZYDIS_DEFINITION(0xB, 0x421), ZYDIS_DEFINITION(0xB, 0x422) }, + { ZYDIS_DEFINITION(0xB, 0x419), ZYDIS_DEFINITION(0xB, 0x41A) }, + { ZYDIS_DEFINITION(0xB, 0x41B), ZYDIS_DEFINITION(0xB, 0x41C) }, + { ZYDIS_DEFINITION(0xB, 0x435), ZYDIS_DEFINITION(0xB, 0x436) }, + { ZYDIS_DEFINITION(0xB, 0x437), ZYDIS_DEFINITION(0xB, 0x438) }, + { ZYDIS_DEFINITION(0xB, 0x1B5), ZYDIS_DEFINITION(0xB, 0x1B6) }, + { ZYDIS_DEFINITION(0xB, 0x1B9), ZYDIS_DEFINITION(0xB, 0x1BA) }, + { ZYDIS_DEFINITION(0xB, 0x1B7), ZYDIS_DEFINITION(0xB, 0x1B8) }, + { ZYDIS_DEFINITION(0xB, 0x1BB), ZYDIS_DEFINITION(0xB, 0x1BC) }, + { ZYDIS_DEFINITION(0xB, 0x1AD), ZYDIS_DEFINITION(0xB, 0x1AE) }, + { ZYDIS_DEFINITION(0xB, 0x1B1), ZYDIS_DEFINITION(0xB, 0x1B2) }, + { ZYDIS_DEFINITION(0xB, 0x1AF), ZYDIS_DEFINITION(0xB, 0x1B0) }, + { ZYDIS_DEFINITION(0xB, 0x1B3), ZYDIS_DEFINITION(0xB, 0x1B4) }, + { ZYDIS_DEFINITION(0xB, 0x1C1), ZYDIS_DEFINITION(0xB, 0x1C2) }, + { ZYDIS_DEFINITION(0xB, 0x1C3), ZYDIS_DEFINITION(0xB, 0x1C4) }, + { ZYDIS_DEFINITION(0xB, 0x1BD), ZYDIS_DEFINITION(0xB, 0x1BE) }, + { ZYDIS_DEFINITION(0xB, 0x1BF), ZYDIS_DEFINITION(0xB, 0x1C0) }, + { ZYDIS_DEFINITION(0xB, 0x241), ZYDIS_DEFINITION(0xB, 0x242) }, + { ZYDIS_DEFINITION(0xB, 0x245), ZYDIS_DEFINITION(0xB, 0x246) }, + { ZYDIS_DEFINITION(0xB, 0x243), ZYDIS_DEFINITION(0xB, 0x244) }, + { ZYDIS_DEFINITION(0xB, 0x247), ZYDIS_DEFINITION(0xB, 0x248) }, + { ZYDIS_DEFINITION(0xB, 0x239), ZYDIS_DEFINITION(0xB, 0x23A) }, + { ZYDIS_DEFINITION(0xB, 0x23D), ZYDIS_DEFINITION(0xB, 0x23E) }, + { ZYDIS_DEFINITION(0xB, 0x23B), ZYDIS_DEFINITION(0xB, 0x23C) }, + { ZYDIS_DEFINITION(0xB, 0x23F), ZYDIS_DEFINITION(0xB, 0x240) }, + { ZYDIS_DEFINITION(0xB, 0x24D), ZYDIS_DEFINITION(0xB, 0x24E) }, + { ZYDIS_DEFINITION(0xB, 0x24F), ZYDIS_DEFINITION(0xB, 0x250) }, + { ZYDIS_DEFINITION(0xB, 0x249), ZYDIS_DEFINITION(0xB, 0x24A) }, + { ZYDIS_DEFINITION(0xB, 0x24B), ZYDIS_DEFINITION(0xB, 0x24C) }, + { ZYDIS_DEFINITION(0xB, 0x27D), ZYDIS_DEFINITION(0xB, 0x27E) }, + { ZYDIS_DEFINITION(0xB, 0x281), ZYDIS_DEFINITION(0xB, 0x282) }, + { ZYDIS_DEFINITION(0xB, 0x27F), ZYDIS_DEFINITION(0xB, 0x280) }, + { ZYDIS_DEFINITION(0xB, 0x283), ZYDIS_DEFINITION(0xB, 0x284) }, + { ZYDIS_DEFINITION(0xB, 0x275), ZYDIS_DEFINITION(0xB, 0x276) }, + { ZYDIS_DEFINITION(0xB, 0x279), ZYDIS_DEFINITION(0xB, 0x27A) }, + { ZYDIS_DEFINITION(0xB, 0x277), ZYDIS_DEFINITION(0xB, 0x278) }, + { ZYDIS_DEFINITION(0xB, 0x27B), ZYDIS_DEFINITION(0xB, 0x27C) }, + { ZYDIS_DEFINITION(0xB, 0x289), ZYDIS_DEFINITION(0xB, 0x28A) }, + { ZYDIS_DEFINITION(0xB, 0x28B), ZYDIS_DEFINITION(0xB, 0x28C) }, + { ZYDIS_DEFINITION(0xB, 0x285), ZYDIS_DEFINITION(0xB, 0x286) }, + { ZYDIS_DEFINITION(0xB, 0x287), ZYDIS_DEFINITION(0xB, 0x288) }, + { ZYDIS_DEFINITION(0xB, 0x2B9), ZYDIS_DEFINITION(0xB, 0x2BA) }, + { ZYDIS_DEFINITION(0xB, 0x2BD), ZYDIS_DEFINITION(0xB, 0x2BE) }, + { ZYDIS_DEFINITION(0xB, 0x2BB), ZYDIS_DEFINITION(0xB, 0x2BC) }, + { ZYDIS_DEFINITION(0xB, 0x2BF), ZYDIS_DEFINITION(0xB, 0x2C0) }, + { ZYDIS_DEFINITION(0xB, 0x2B1), ZYDIS_DEFINITION(0xB, 0x2B2) }, + { ZYDIS_DEFINITION(0xB, 0x2B5), ZYDIS_DEFINITION(0xB, 0x2B6) }, + { ZYDIS_DEFINITION(0xB, 0x2B3), ZYDIS_DEFINITION(0xB, 0x2B4) }, + { ZYDIS_DEFINITION(0xB, 0x2B7), ZYDIS_DEFINITION(0xB, 0x2B8) }, + { ZYDIS_DEFINITION(0xB, 0x2C5), ZYDIS_DEFINITION(0xB, 0x2C6) }, + { ZYDIS_DEFINITION(0xB, 0x2C7), ZYDIS_DEFINITION(0xB, 0x2C8) }, + { ZYDIS_DEFINITION(0xB, 0x2C1), ZYDIS_DEFINITION(0xB, 0x2C2) }, + { ZYDIS_DEFINITION(0xB, 0x2C3), ZYDIS_DEFINITION(0xB, 0x2C4) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D5) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D7) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D6) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D8) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D1) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D3) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D2) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D4) }, + { ZYDIS_DEFINITION(0x1, 0x14F), ZYDIS_DEFINITION(0x1, 0x150) }, + { ZYDIS_DEFINITION(0x1, 0x151), ZYDIS_DEFINITION(0x1, 0x152) }, + { ZYDIS_DEFINITION(0x1, 0x16B), ZYDIS_DEFINITION(0x1, 0x16C) }, + { ZYDIS_DEFINITION(0x1, 0x16D), ZYDIS_DEFINITION(0x1, 0x16E) }, + { ZYDIS_DEFINITION(0x1, 0x157), ZYDIS_DEFINITION(0x1, 0x158) }, + { ZYDIS_DEFINITION(0x1, 0x159), ZYDIS_DEFINITION(0x1, 0x15A) }, + { ZYDIS_DEFINITION(0x1, 0x26), ZYDIS_DEFINITION(0x1, 0x27) }, + { ZYDIS_DEFINITION(0x1, 0x96), ZYDIS_DEFINITION(0x1, 0x97) }, + { ZYDIS_DEFINITION(0x1, 0xBD), ZYDIS_DEFINITION(0x1, 0xBE) }, + { ZYDIS_DEFINITION(0x1, 0x82), ZYDIS_DEFINITION(0x1, 0x83) }, + { ZYDIS_DEFINITION(0x1, 0xBB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB3), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB5), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x90), ZYDIS_DEFINITION(0x1, 0x91) }, + { ZYDIS_DEFINITION(0x1, 0x92), ZYDIS_DEFINITION(0x1, 0x93) }, + { ZYDIS_DEFINITION(0x1, 0x9E), ZYDIS_DEFINITION(0x1, 0x9F) }, + { ZYDIS_DEFINITION(0x1, 0xA0), ZYDIS_DEFINITION(0x1, 0xA1) }, + { ZYDIS_DEFINITION(0x1, 0x149), ZYDIS_DEFINITION(0x1, 0x14A) }, + { ZYDIS_DEFINITION(0x1, 0x14B), ZYDIS_DEFINITION(0x1, 0x14C) }, + { ZYDIS_DEFINITION(0x1, 0x165), ZYDIS_DEFINITION(0x1, 0x166) }, + { ZYDIS_DEFINITION(0x1, 0x167), ZYDIS_DEFINITION(0x1, 0x168) }, + { ZYDIS_DEFINITION(0x1, 0x141), ZYDIS_DEFINITION(0x1, 0x142) }, + { ZYDIS_DEFINITION(0x1, 0x143), ZYDIS_DEFINITION(0x1, 0x144) }, + { ZYDIS_DEFINITION(0x1, 0x4B), ZYDIS_DEFINITION(0x1, 0x52) }, + { ZYDIS_DEFINITION(0x1, 0x4D), ZYDIS_DEFINITION(0x1, 0x53) }, + { ZYDIS_DEFINITION(0x1, 0xB0), ZYDIS_DEFINITION(0x1, 0xB1) }, + { ZYDIS_DEFINITION(0x1, 0xBF), ZYDIS_DEFINITION(0x1, 0xC0) }, + { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB8), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x8A), ZYDIS_DEFINITION(0x1, 0x8B) }, + { ZYDIS_DEFINITION(0x1, 0x8C), ZYDIS_DEFINITION(0x1, 0x8D) }, + { ZYDIS_DEFINITION(0x1, 0x84), ZYDIS_DEFINITION(0x1, 0x85) }, + { ZYDIS_DEFINITION(0x1, 0x86), ZYDIS_DEFINITION(0x1, 0x87) }, + { ZYDIS_DEFINITION(0x1, 0xAA), ZYDIS_DEFINITION(0x1, 0xAB) }, + { ZYDIS_DEFINITION(0x1, 0xAC), ZYDIS_DEFINITION(0x1, 0xAD) }, + { ZYDIS_DEFINITION(0xB, 0x98), ZYDIS_DEFINITION(0xB, 0x99) }, + { ZYDIS_DEFINITION(0xB, 0x9A), ZYDIS_DEFINITION(0xB, 0x9B) } +}; + +const ZydisDecoderTreeNode FILTERS_REX_B[][2] = +{ + { ZYDIS_DEFINITION(0x0, 0x3A2), ZYDIS_DEFINITION(0x0, 0x748) } +}; + +#ifndef ZYDIS_DISABLE_AVX512 +const ZydisDecoderTreeNode FILTERS_EVEX_B[][2] = +{ + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xBC5), ZYDIS_DEFINITION(0x1, 0xBC6) }, + { ZYDIS_DEFINITION(0x1, 0xBC7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x97), ZYDIS_DEFINITION(0x1, 0x98) }, + { ZYDIS_DEFINITION(0x1, 0x99), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13), ZYDIS_DEFINITION(0x1, 0xBA1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D), ZYDIS_DEFINITION(0x1, 0xB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F), ZYDIS_DEFINITION(0x1, 0x4E5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21), ZYDIS_DEFINITION(0x1, 0xF0) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23), ZYDIS_DEFINITION(0x1, 0xAC) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24), ZYDIS_DEFINITION(0x1, 0x11A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27), ZYDIS_DEFINITION(0x1, 0xBB5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29), ZYDIS_DEFINITION(0x1, 0x419) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B), ZYDIS_DEFINITION(0x1, 0x1EF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D), ZYDIS_DEFINITION(0x1, 0x405) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F), ZYDIS_DEFINITION(0x1, 0x185) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30), ZYDIS_DEFINITION(0x1, 0x169) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33), ZYDIS_DEFINITION(0x1, 0x105) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34), ZYDIS_DEFINITION(0x1, 0xD4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37), ZYDIS_DEFINITION(0xB, 0x87) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xBC2), ZYDIS_DEFINITION(0x1, 0xBC3) }, + { ZYDIS_DEFINITION(0x1, 0xBC4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x94), ZYDIS_DEFINITION(0x1, 0x95) }, + { ZYDIS_DEFINITION(0x1, 0x96), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C), ZYDIS_DEFINITION(0x1, 0xB9A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56), ZYDIS_DEFINITION(0x1, 0x4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x58), ZYDIS_DEFINITION(0x1, 0x4DE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5A), ZYDIS_DEFINITION(0x1, 0xC6) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5C), ZYDIS_DEFINITION(0x1, 0xE9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5E), ZYDIS_DEFINITION(0x1, 0xBAE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x60), ZYDIS_DEFINITION(0x1, 0x412) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x62), ZYDIS_DEFINITION(0x1, 0x1E8) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x64), ZYDIS_DEFINITION(0x1, 0x3FE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x66), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x67), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x68), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x69), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x70), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x71), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x72), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x74), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x75), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x76), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x77), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x78), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x79), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x80), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x82), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x83), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x84), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x85), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x86), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x87), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x88), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x89), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x90), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x91), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x92), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x93), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x94), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x95), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x96), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x97), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x98), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x99), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB2), ZYDIS_DEFINITION(0x1, 0x18C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB3), ZYDIS_DEFINITION(0x1, 0x170) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB6), ZYDIS_DEFINITION(0x1, 0x10C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB7), ZYDIS_DEFINITION(0x1, 0xDB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBA), ZYDIS_DEFINITION(0x1, 0x17E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBB), ZYDIS_DEFINITION(0x1, 0x162) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBE), ZYDIS_DEFINITION(0x1, 0xFE) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBF), ZYDIS_DEFINITION(0x1, 0xCD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCC), ZYDIS_DEFINITION(0xB, 0x80) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xED), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x100), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x101), ZYDIS_DEFINITION(0x1, 0x15B) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x103), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x104), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x105), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x106), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x107), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x108), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x109), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x110), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x111), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x112), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x113), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x114), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x115), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x118), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x119), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x120), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x121), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x122), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x123), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x124), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x125), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x126), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x127), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x128), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x130), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x132), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x133), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x134), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x135), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x136), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x137), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x138), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x140), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x141), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x142), ZYDIS_DEFINITION(0x1, 0xE2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x143), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x144), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x145), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x148), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x149), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x150), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x151), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x152), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x153), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x154), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x155), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x156), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x157), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x158), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x159), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x160), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x162), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x163), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x164), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x165), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x166), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x167), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x168), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x169), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x170), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x171), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x172), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x173), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x176), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x178), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17D), ZYDIS_DEFINITION(0x1, 0xB5D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17E), ZYDIS_DEFINITION(0x1, 0xB56) }, + { ZYDIS_DEFINITION(0x1, 0xB67), ZYDIS_DEFINITION(0x1, 0xB68) }, + { ZYDIS_DEFINITION(0x1, 0xB64), ZYDIS_DEFINITION(0x1, 0xB65) }, + { ZYDIS_DEFINITION(0x1, 0xB69), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB66), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x181), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x182), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x183), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x184), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x185), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x186), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x187), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x188), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x189), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x191), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x193), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x194), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x195), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x196), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x199), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AF), ZYDIS_DEFINITION(0x1, 0x3B1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B0), ZYDIS_DEFINITION(0x1, 0x3AA) }, + { ZYDIS_DEFINITION(0x1, 0x3BB), ZYDIS_DEFINITION(0x1, 0x3BC) }, + { ZYDIS_DEFINITION(0x1, 0x3B8), ZYDIS_DEFINITION(0x1, 0x3B9) }, + { ZYDIS_DEFINITION(0x1, 0x3BD), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3BA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB04), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB02), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB05), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB03), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C8), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB48), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB46), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB49), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB47), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1ED), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x200), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x201), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x202), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x205), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x206), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x207), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x208), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x209), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x211), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x212), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x213), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x214), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x215), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x216), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x217), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x218), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x219), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x222), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x223), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x226), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x228), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x229), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x230), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x231), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x232), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x233), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x234), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x235), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x236), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x237), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x238), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x239), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x240), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x241), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x242), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x243), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x244), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x245), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x246), ZYDIS_DEFINITION(0x1, 0x285) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x247), ZYDIS_DEFINITION(0x1, 0x27E) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24A), ZYDIS_DEFINITION(0x1, 0x2EB) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24B), ZYDIS_DEFINITION(0x1, 0x2E4) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24E), ZYDIS_DEFINITION(0x1, 0x249) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24F), ZYDIS_DEFINITION(0x1, 0x242) }, + { ZYDIS_DEFINITION(0x1, 0x253), ZYDIS_DEFINITION(0x1, 0x254) }, + { ZYDIS_DEFINITION(0x1, 0x250), ZYDIS_DEFINITION(0x1, 0x251) }, + { ZYDIS_DEFINITION(0x1, 0x255), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x252), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x252), ZYDIS_DEFINITION(0x1, 0x2AF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x253), ZYDIS_DEFINITION(0x1, 0x2A8) }, + { ZYDIS_DEFINITION(0x1, 0x2B9), ZYDIS_DEFINITION(0x1, 0x2BA) }, + { ZYDIS_DEFINITION(0x1, 0x2B6), ZYDIS_DEFINITION(0x1, 0x2B7) }, + { ZYDIS_DEFINITION(0x1, 0x2BB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2B8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x256), ZYDIS_DEFINITION(0x1, 0x315) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x257), ZYDIS_DEFINITION(0x1, 0x30E) }, + { ZYDIS_DEFINITION(0x1, 0x31F), ZYDIS_DEFINITION(0x1, 0x320) }, + { ZYDIS_DEFINITION(0x1, 0x31C), ZYDIS_DEFINITION(0x1, 0x31D) }, + { ZYDIS_DEFINITION(0x1, 0x321), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x31E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25A), ZYDIS_DEFINITION(0x1, 0x351) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25B), ZYDIS_DEFINITION(0x1, 0x34A) }, + { ZYDIS_DEFINITION(0x1, 0x35B), ZYDIS_DEFINITION(0x1, 0x35C) }, + { ZYDIS_DEFINITION(0x1, 0x358), ZYDIS_DEFINITION(0x1, 0x359) }, + { ZYDIS_DEFINITION(0x1, 0x35D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x35A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x260), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x261), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x262), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x263), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x264), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x265), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x266), ZYDIS_DEFINITION(0x1, 0x293) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x267), ZYDIS_DEFINITION(0x1, 0x28C) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26A), ZYDIS_DEFINITION(0x1, 0x2F9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26B), ZYDIS_DEFINITION(0x1, 0x2F2) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26E), ZYDIS_DEFINITION(0x1, 0x25D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26F), ZYDIS_DEFINITION(0x1, 0x256) }, + { ZYDIS_DEFINITION(0x1, 0x267), ZYDIS_DEFINITION(0x1, 0x268) }, + { ZYDIS_DEFINITION(0x1, 0x264), ZYDIS_DEFINITION(0x1, 0x265) }, + { ZYDIS_DEFINITION(0x1, 0x269), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x266), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x272), ZYDIS_DEFINITION(0x1, 0x2C3) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x273), ZYDIS_DEFINITION(0x1, 0x2BC) }, + { ZYDIS_DEFINITION(0x1, 0x2CD), ZYDIS_DEFINITION(0x1, 0x2CE) }, + { ZYDIS_DEFINITION(0x1, 0x2CA), ZYDIS_DEFINITION(0x1, 0x2CB) }, + { ZYDIS_DEFINITION(0x1, 0x2CF), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2CC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x276), ZYDIS_DEFINITION(0x1, 0x329) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x277), ZYDIS_DEFINITION(0x1, 0x322) }, + { ZYDIS_DEFINITION(0x1, 0x333), ZYDIS_DEFINITION(0x1, 0x334) }, + { ZYDIS_DEFINITION(0x1, 0x330), ZYDIS_DEFINITION(0x1, 0x331) }, + { ZYDIS_DEFINITION(0x1, 0x335), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x332), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27A), ZYDIS_DEFINITION(0x1, 0x365) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27B), ZYDIS_DEFINITION(0x1, 0x35E) }, + { ZYDIS_DEFINITION(0x1, 0x36F), ZYDIS_DEFINITION(0x1, 0x370) }, + { ZYDIS_DEFINITION(0x1, 0x36C), ZYDIS_DEFINITION(0x1, 0x36D) }, + { ZYDIS_DEFINITION(0x1, 0x371), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x36E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x280), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x282), ZYDIS_DEFINITION(0x1, 0x2A1) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x283), ZYDIS_DEFINITION(0x1, 0x29A) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x286), ZYDIS_DEFINITION(0x1, 0x307) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x287), ZYDIS_DEFINITION(0x1, 0x300) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28A), ZYDIS_DEFINITION(0x1, 0x271) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28B), ZYDIS_DEFINITION(0x1, 0x26A) }, + { ZYDIS_DEFINITION(0x1, 0x27B), ZYDIS_DEFINITION(0x1, 0x27C) }, + { ZYDIS_DEFINITION(0x1, 0x278), ZYDIS_DEFINITION(0x1, 0x279) }, + { ZYDIS_DEFINITION(0x1, 0x27D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x27A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28E), ZYDIS_DEFINITION(0x1, 0x2D7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28F), ZYDIS_DEFINITION(0x1, 0x2D0) }, + { ZYDIS_DEFINITION(0x1, 0x2E1), ZYDIS_DEFINITION(0x1, 0x2E2) }, + { ZYDIS_DEFINITION(0x1, 0x2DE), ZYDIS_DEFINITION(0x1, 0x2DF) }, + { ZYDIS_DEFINITION(0x1, 0x2E3), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x2E0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x292), ZYDIS_DEFINITION(0x1, 0x33D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x293), ZYDIS_DEFINITION(0x1, 0x336) }, + { ZYDIS_DEFINITION(0x1, 0x347), ZYDIS_DEFINITION(0x1, 0x348) }, + { ZYDIS_DEFINITION(0x1, 0x344), ZYDIS_DEFINITION(0x1, 0x345) }, + { ZYDIS_DEFINITION(0x1, 0x349), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x346), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x296), ZYDIS_DEFINITION(0x1, 0x379) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x297), ZYDIS_DEFINITION(0x1, 0x372) }, + { ZYDIS_DEFINITION(0x1, 0x383), ZYDIS_DEFINITION(0x1, 0x384) }, + { ZYDIS_DEFINITION(0x1, 0x380), ZYDIS_DEFINITION(0x1, 0x381) }, + { ZYDIS_DEFINITION(0x1, 0x385), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x382), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AE), ZYDIS_DEFINITION(0x1, 0x205) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AF), ZYDIS_DEFINITION(0x1, 0x202) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B2), ZYDIS_DEFINITION(0x1, 0xB09) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B3), ZYDIS_DEFINITION(0x1, 0xB06) }, + { ZYDIS_DEFINITION(0x1, 0xB0F), ZYDIS_DEFINITION(0x1, 0xB10) }, + { ZYDIS_DEFINITION(0x1, 0xB0C), ZYDIS_DEFINITION(0x1, 0xB0D) }, + { ZYDIS_DEFINITION(0x1, 0xB11), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB0E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B6), ZYDIS_DEFINITION(0x1, 0xB4D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B7), ZYDIS_DEFINITION(0x1, 0xB4A) }, + { ZYDIS_DEFINITION(0x1, 0xB53), ZYDIS_DEFINITION(0x1, 0xB54) }, + { ZYDIS_DEFINITION(0x1, 0xB50), ZYDIS_DEFINITION(0x1, 0xB51) }, + { ZYDIS_DEFINITION(0x1, 0xB55), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xB52), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D0), ZYDIS_DEFINITION(0xB, 0xB2D) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D2), ZYDIS_DEFINITION(0xB, 0xB26) }, + { ZYDIS_DEFINITION(0xB, 0xB37), ZYDIS_DEFINITION(0xB, 0xB38) }, + { ZYDIS_DEFINITION(0xB, 0xB39), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0xB34), ZYDIS_DEFINITION(0xB, 0xB35) }, + { ZYDIS_DEFINITION(0xB, 0xB36), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E7), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2ED), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F2), ZYDIS_DEFINITION(0xB, 0xF7) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FD), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FF), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x300), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x301), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x302), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x303), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x304), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x305), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x306), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x307), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30E), ZYDIS_DEFINITION(0xB, 0x3C5) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30F), ZYDIS_DEFINITION(0xB, 0x3BE) }, + { ZYDIS_DEFINITION(0xB, 0x3CF), ZYDIS_DEFINITION(0xB, 0x3D0) }, + { ZYDIS_DEFINITION(0xB, 0x3CC), ZYDIS_DEFINITION(0xB, 0x3CD) }, + { ZYDIS_DEFINITION(0xB, 0x3D1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x3CE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x312), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x313), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x314), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x315), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x316), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x317), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x318), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x319), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x320), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x321), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x322), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x323), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x324), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x325), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x326), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x327), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x328), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x329), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x330), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x331), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x332), ZYDIS_DEFINITION(0xB, 0xAE9) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x333), ZYDIS_DEFINITION(0xB, 0xAE2) }, + { ZYDIS_DEFINITION(0xB, 0xAF3), ZYDIS_DEFINITION(0xB, 0xAF4) }, + { ZYDIS_DEFINITION(0xB, 0xAF0), ZYDIS_DEFINITION(0xB, 0xAF1) }, + { ZYDIS_DEFINITION(0xB, 0xAF5), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0xAF2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x336), ZYDIS_DEFINITION(0xB, 0x235) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x337), ZYDIS_DEFINITION(0xB, 0x22E) }, + { ZYDIS_DEFINITION(0xB, 0x23F), ZYDIS_DEFINITION(0xB, 0x240) }, + { ZYDIS_DEFINITION(0xB, 0x23C), ZYDIS_DEFINITION(0xB, 0x23D) }, + { ZYDIS_DEFINITION(0xB, 0x241), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x23E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33A), ZYDIS_DEFINITION(0xB, 0xB19) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33B), ZYDIS_DEFINITION(0xB, 0xB12) }, + { ZYDIS_DEFINITION(0xB, 0xB23), ZYDIS_DEFINITION(0xB, 0xB24) }, + { ZYDIS_DEFINITION(0xB, 0xB20), ZYDIS_DEFINITION(0xB, 0xB21) }, + { ZYDIS_DEFINITION(0xB, 0xB25), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0xB22), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x394), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x392), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x395), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x393), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x342), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x343), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x344), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x345), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x348), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x349), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x350), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4C2), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4C3), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4C4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4C5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x352), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x353), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x354), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x355), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x13D), ZYDIS_DEFINITION(0x1, 0x13E) }, + { ZYDIS_DEFINITION(0x1, 0x140), ZYDIS_DEFINITION(0x1, 0x141) }, + { ZYDIS_DEFINITION(0x1, 0x143), ZYDIS_DEFINITION(0x1, 0x144) }, + { ZYDIS_DEFINITION(0x1, 0x13F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x142), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x145), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1A5), ZYDIS_DEFINITION(0x1, 0x1A6) }, + { ZYDIS_DEFINITION(0x1, 0x1A8), ZYDIS_DEFINITION(0x1, 0x1A9) }, + { ZYDIS_DEFINITION(0x1, 0x1AB), ZYDIS_DEFINITION(0x1, 0x1AC) }, + { ZYDIS_DEFINITION(0x1, 0x1A7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1AA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1AD), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x149), ZYDIS_DEFINITION(0x1, 0x14A) }, + { ZYDIS_DEFINITION(0x1, 0x14C), ZYDIS_DEFINITION(0x1, 0x14D) }, + { ZYDIS_DEFINITION(0x1, 0x14F), ZYDIS_DEFINITION(0x1, 0x150) }, + { ZYDIS_DEFINITION(0x1, 0x14B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x14E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x151), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xBAB), ZYDIS_DEFINITION(0x1, 0xBAC) }, + { ZYDIS_DEFINITION(0x1, 0xBAD), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x15), ZYDIS_DEFINITION(0x1, 0x16) }, + { ZYDIS_DEFINITION(0x1, 0x17), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4EF), ZYDIS_DEFINITION(0x1, 0x4F0) }, + { ZYDIS_DEFINITION(0x1, 0x4F1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x146), ZYDIS_DEFINITION(0x1, 0x147) }, + { ZYDIS_DEFINITION(0x1, 0x148), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x356), ZYDIS_DEFINITION(0x1, 0x177) }, + { ZYDIS_DEFINITION(0x1, 0xBBF), ZYDIS_DEFINITION(0x1, 0xBC0) }, + { ZYDIS_DEFINITION(0x1, 0xBC1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x423), ZYDIS_DEFINITION(0x1, 0x424) }, + { ZYDIS_DEFINITION(0x1, 0x425), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1F9), ZYDIS_DEFINITION(0x1, 0x1FA) }, + { ZYDIS_DEFINITION(0x1, 0x1FB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x40F), ZYDIS_DEFINITION(0x1, 0x410) }, + { ZYDIS_DEFINITION(0x1, 0x411), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x358), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x359), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35D), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1AE), ZYDIS_DEFINITION(0x1, 0x1AF) }, + { ZYDIS_DEFINITION(0x1, 0x1B1), ZYDIS_DEFINITION(0x1, 0x1B2) }, + { ZYDIS_DEFINITION(0x1, 0x1B4), ZYDIS_DEFINITION(0x1, 0x1B5) }, + { ZYDIS_DEFINITION(0x1, 0x1B0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1B3), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1B6), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x152), ZYDIS_DEFINITION(0x1, 0x153) }, + { ZYDIS_DEFINITION(0x1, 0x155), ZYDIS_DEFINITION(0x1, 0x156) }, + { ZYDIS_DEFINITION(0x1, 0x158), ZYDIS_DEFINITION(0x1, 0x159) }, + { ZYDIS_DEFINITION(0x1, 0x154), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x157), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x15A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35F), ZYDIS_DEFINITION(0x1, 0x1C4) }, + { ZYDIS_DEFINITION(0x1, 0x1D9), ZYDIS_DEFINITION(0x1, 0x1DA) }, + { ZYDIS_DEFINITION(0x1, 0x1DC), ZYDIS_DEFINITION(0x1, 0x1DD) }, + { ZYDIS_DEFINITION(0x1, 0x1DF), ZYDIS_DEFINITION(0x1, 0x1E0) }, + { ZYDIS_DEFINITION(0x1, 0x1DB), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1DE), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1E1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x362), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x363), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x364), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x365), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x366), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x367), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x91), ZYDIS_DEFINITION(0xB, 0x92) }, + { ZYDIS_DEFINITION(0xB, 0x93), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x368), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x369), ZYDIS_DEFINITION(0x1, 0x113) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x370), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x371), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x372), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x373), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x374), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x375), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x376), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x377), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x378), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x379), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x380), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x381), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x382), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x383), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x384), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x385), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x386), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x387), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x388), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x389), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x390), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x391), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x392), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x393), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x394), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x395), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x396), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x397), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x398), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x399), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39A), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39B), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39C), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39D), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39F), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A0), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4B2), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4B3), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4B4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4B5), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A6), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x138), ZYDIS_DEFINITION(0x1, 0x139) }, + { ZYDIS_DEFINITION(0x1, 0x13B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x137), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x13A), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x13C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x193), ZYDIS_DEFINITION(0x1, 0x194) }, + { ZYDIS_DEFINITION(0x1, 0x196), ZYDIS_DEFINITION(0x1, 0x197) }, + { ZYDIS_DEFINITION(0x1, 0x199), ZYDIS_DEFINITION(0x1, 0x19A) }, + { ZYDIS_DEFINITION(0x1, 0x195), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x198), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x19B), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x121), ZYDIS_DEFINITION(0x1, 0x122) }, + { ZYDIS_DEFINITION(0x1, 0x124), ZYDIS_DEFINITION(0x1, 0x125) }, + { ZYDIS_DEFINITION(0x1, 0x127), ZYDIS_DEFINITION(0x1, 0x128) }, + { ZYDIS_DEFINITION(0x1, 0x123), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x126), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x129), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xBA8), ZYDIS_DEFINITION(0x1, 0xBA9) }, + { ZYDIS_DEFINITION(0x1, 0xBAA), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x12), ZYDIS_DEFINITION(0x1, 0x13) }, + { ZYDIS_DEFINITION(0x1, 0x14), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x4EC), ZYDIS_DEFINITION(0x1, 0x4ED) }, + { ZYDIS_DEFINITION(0x1, 0x4EE), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x12A), ZYDIS_DEFINITION(0x1, 0x12B) }, + { ZYDIS_DEFINITION(0x1, 0x12C), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0xBBC), ZYDIS_DEFINITION(0x1, 0xBBD) }, + { ZYDIS_DEFINITION(0x1, 0xBBE), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x420), ZYDIS_DEFINITION(0x1, 0x421) }, + { ZYDIS_DEFINITION(0x1, 0x422), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1F6), ZYDIS_DEFINITION(0x1, 0x1F7) }, + { ZYDIS_DEFINITION(0x1, 0x1F8), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x40C), ZYDIS_DEFINITION(0x1, 0x40D) }, + { ZYDIS_DEFINITION(0x1, 0x40E), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AC), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AD), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x19C), ZYDIS_DEFINITION(0x1, 0x19D) }, + { ZYDIS_DEFINITION(0x1, 0x19F), ZYDIS_DEFINITION(0x1, 0x1A0) }, + { ZYDIS_DEFINITION(0x1, 0x1A2), ZYDIS_DEFINITION(0x1, 0x1A3) }, + { ZYDIS_DEFINITION(0x1, 0x19E), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1A1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1A4), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x12D), ZYDIS_DEFINITION(0x1, 0x12E) }, + { ZYDIS_DEFINITION(0x1, 0x130), ZYDIS_DEFINITION(0x1, 0x131) }, + { ZYDIS_DEFINITION(0x1, 0x133), ZYDIS_DEFINITION(0x1, 0x134) }, + { ZYDIS_DEFINITION(0x1, 0x12F), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x132), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x135), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AE), ZYDIS_DEFINITION(0x1, 0x1BD) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AF), ZYDIS_DEFINITION(0x1, 0x1CB) }, + { ZYDIS_DEFINITION(0x1, 0x1D4), ZYDIS_DEFINITION(0x1, 0x1D5) }, + { ZYDIS_DEFINITION(0x1, 0x1D7), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1D3), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1D6), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1D8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B2), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B3), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B4), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B5), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x8E), ZYDIS_DEFINITION(0xB, 0x8F) }, + { ZYDIS_DEFINITION(0xB, 0x90), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B6), ZYDIS_DEFINITION(0x1, 0xBF) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B8), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B9), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BA), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BB), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BE), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C0), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x1), ZYDIS_INVALID }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C1), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x3), ZYDIS_INVALID } +}; +#endif + +#ifndef ZYDIS_DISABLE_KNC +const ZydisDecoderTreeNode FILTERS_MVEX_E[][2] = +{ + { ZYDIS_DEFINITION(0x1, 0xC7), ZYDIS_DEFINITION(0x1, 0xC8) }, + { ZYDIS_DEFINITION(0x1, 0xB), ZYDIS_DEFINITION(0x1, 0xC) }, + { ZYDIS_DEFINITION(0x1, 0xDA), ZYDIS_DEFINITION(0x1, 0xDB) }, + { ZYDIS_DEFINITION(0x1, 0x3D), ZYDIS_DEFINITION(0x1, 0x3E) }, + { ZYDIS_DEFINITION(0x1, 0x18E), ZYDIS_DEFINITION(0x1, 0x18F) }, + { ZYDIS_DEFINITION(0xB, 0x22), ZYDIS_DEFINITION(0xB, 0x23) }, + { ZYDIS_DEFINITION(0xB, 0x37), ZYDIS_DEFINITION(0xB, 0x38) }, + { ZYDIS_DEFINITION(0xB, 0x28), ZYDIS_DEFINITION(0xB, 0x29) }, + { ZYDIS_DEFINITION(0x1, 0xC3), ZYDIS_DEFINITION(0x1, 0xC4) }, + { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, + { ZYDIS_DEFINITION(0x1, 0xD7), ZYDIS_DEFINITION(0x1, 0xD8) }, + { ZYDIS_DEFINITION(0x1, 0x3A), ZYDIS_DEFINITION(0x1, 0x3B) }, + { ZYDIS_DEFINITION(0x1, 0x18B), ZYDIS_DEFINITION(0x1, 0x18C) }, + { ZYDIS_DEFINITION(0x1, 0x10B), ZYDIS_DEFINITION(0x1, 0x10C) }, + { ZYDIS_DEFINITION(0x1, 0xCB), ZYDIS_DEFINITION(0x1, 0xCC) }, + { ZYDIS_DEFINITION(0x1, 0xCF), ZYDIS_DEFINITION(0x1, 0xD0) }, + { ZYDIS_DEFINITION(0xB, 0x14C), ZYDIS_DEFINITION(0xB, 0x14D) }, + { ZYDIS_DEFINITION(0xB, 0x15B), ZYDIS_DEFINITION(0xB, 0x15C) }, + { ZYDIS_DEFINITION(0xB, 0x155), ZYDIS_DEFINITION(0xB, 0x156) }, + { ZYDIS_DEFINITION(0xB, 0x14F), ZYDIS_DEFINITION(0xB, 0x150) }, + { ZYDIS_DEFINITION(0x1, 0x108), ZYDIS_DEFINITION(0x1, 0x109) }, + { ZYDIS_DEFINITION(0xB, 0x1F), ZYDIS_DEFINITION(0xB, 0x20) }, + { ZYDIS_DEFINITION(0x1, 0xF1), ZYDIS_DEFINITION(0x1, 0xF2) }, + { ZYDIS_DEFINITION(0x1, 0xFA), ZYDIS_DEFINITION(0x1, 0xFB) }, + { ZYDIS_DEFINITION(0x1, 0xF4), ZYDIS_DEFINITION(0x1, 0xF5) }, + { ZYDIS_DEFINITION(0x1, 0xF7), ZYDIS_DEFINITION(0x1, 0xF8) }, + { ZYDIS_DEFINITION(0x1, 0x136), ZYDIS_DEFINITION(0x1, 0x137) }, + { ZYDIS_DEFINITION(0x1, 0x139), ZYDIS_DEFINITION(0x1, 0x13A) }, + { ZYDIS_DEFINITION(0x1, 0x170), ZYDIS_DEFINITION(0x1, 0x171) }, + { ZYDIS_DEFINITION(0x1, 0x173), ZYDIS_DEFINITION(0x1, 0x174) }, + { ZYDIS_DEFINITION(0x1, 0x161), ZYDIS_DEFINITION(0x1, 0x162) }, + { ZYDIS_DEFINITION(0x1, 0xE8), ZYDIS_DEFINITION(0x1, 0xE9) }, + { ZYDIS_DEFINITION(0x1, 0x16D), ZYDIS_DEFINITION(0x1, 0x16E) }, + { ZYDIS_DEFINITION(0x1, 0x114), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0x1, 0x127), ZYDIS_DEFINITION(0x1, 0x128) }, + { ZYDIS_DEFINITION(0x1, 0x12A), ZYDIS_DEFINITION(0x1, 0x12B) }, + { ZYDIS_DEFINITION(0x1, 0x121), ZYDIS_DEFINITION(0x1, 0x122) }, + { ZYDIS_DEFINITION(0x1, 0x124), ZYDIS_DEFINITION(0x1, 0x125) }, + { ZYDIS_DEFINITION(0x1, 0x133), ZYDIS_DEFINITION(0x1, 0x134) }, + { ZYDIS_DEFINITION(0x1, 0xA0), ZYDIS_DEFINITION(0x1, 0xA1) }, + { ZYDIS_DEFINITION(0x1, 0x9D), ZYDIS_DEFINITION(0x1, 0x9E) }, + { ZYDIS_DEFINITION(0x1, 0x15E), ZYDIS_DEFINITION(0x1, 0x15F) }, + { ZYDIS_DEFINITION(0x1, 0x158), ZYDIS_DEFINITION(0x1, 0x159) }, + { ZYDIS_DEFINITION(0x1, 0x152), ZYDIS_DEFINITION(0x1, 0x153) }, + { ZYDIS_DEFINITION(0x1, 0x5), ZYDIS_DEFINITION(0x1, 0x6) }, + { ZYDIS_DEFINITION(0x1, 0x2), ZYDIS_DEFINITION(0x1, 0x3) }, + { ZYDIS_DEFINITION(0x1, 0xA9), ZYDIS_DEFINITION(0x1, 0xAA) }, + { ZYDIS_DEFINITION(0x1, 0xB5), ZYDIS_DEFINITION(0x1, 0xB6) }, + { ZYDIS_DEFINITION(0x1, 0xB2), ZYDIS_DEFINITION(0x1, 0xB3) }, + { ZYDIS_DEFINITION(0x1, 0xAF), ZYDIS_DEFINITION(0x1, 0xB0) }, + { ZYDIS_DEFINITION(0x1, 0xAC), ZYDIS_DEFINITION(0x1, 0xAD) }, + { ZYDIS_DEFINITION(0x1, 0x49), ZYDIS_DEFINITION(0x1, 0x4A) }, + { ZYDIS_DEFINITION(0x1, 0x46), ZYDIS_DEFINITION(0x1, 0x47) }, + { ZYDIS_DEFINITION(0x1, 0xE5), ZYDIS_DEFINITION(0x1, 0xE6) }, + { ZYDIS_DEFINITION(0x1, 0xEB), ZYDIS_DEFINITION(0x1, 0xEC) }, + { ZYDIS_DEFINITION(0x1, 0x144), ZYDIS_DEFINITION(0x1, 0x145) }, + { ZYDIS_DEFINITION(0x1, 0x16A), ZYDIS_DEFINITION(0x1, 0x16B) }, + { ZYDIS_DEFINITION(0x1, 0xFD), ZYDIS_DEFINITION(0x1, 0xFE) }, + { ZYDIS_DEFINITION(0x1, 0x100), ZYDIS_DEFINITION(0x1, 0x101) }, + { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, + { ZYDIS_DEFINITION(0x1, 0x13), ZYDIS_DEFINITION(0x1, 0x14) }, + { ZYDIS_DEFINITION(0x1, 0x164), ZYDIS_DEFINITION(0x1, 0x165) }, + { ZYDIS_DEFINITION(0x1, 0x194), ZYDIS_DEFINITION(0x1, 0x195) }, + { ZYDIS_DEFINITION(0x1, 0x191), ZYDIS_DEFINITION(0x1, 0x192) }, + { ZYDIS_DEFINITION(0x1, 0x147), ZYDIS_DEFINITION(0x1, 0x148) }, + { ZYDIS_DEFINITION(0x1, 0x167), ZYDIS_DEFINITION(0x1, 0x168) }, + { ZYDIS_DEFINITION(0x1, 0x10E), ZYDIS_DEFINITION(0x1, 0x10F) }, + { ZYDIS_DEFINITION(0x1, 0x182), ZYDIS_DEFINITION(0x1, 0x183) }, + { ZYDIS_DEFINITION(0x1, 0x130), ZYDIS_DEFINITION(0x1, 0x131) }, + { ZYDIS_DEFINITION(0x1, 0x12D), ZYDIS_DEFINITION(0x1, 0x12E) }, + { ZYDIS_DEFINITION(0x1, 0x4F), ZYDIS_DEFINITION(0x1, 0x50) }, + { ZYDIS_DEFINITION(0x1, 0x4C), ZYDIS_DEFINITION(0x1, 0x4D) }, + { ZYDIS_DEFINITION(0x1, 0x64), ZYDIS_DEFINITION(0x1, 0x65) }, + { ZYDIS_DEFINITION(0x1, 0x61), ZYDIS_DEFINITION(0x1, 0x62) }, + { ZYDIS_DEFINITION(0x1, 0x76), ZYDIS_DEFINITION(0x1, 0x77) }, + { ZYDIS_DEFINITION(0x1, 0x73), ZYDIS_DEFINITION(0x1, 0x74) }, + { ZYDIS_DEFINITION(0x1, 0x88), ZYDIS_DEFINITION(0x1, 0x89) }, + { ZYDIS_DEFINITION(0x1, 0x85), ZYDIS_DEFINITION(0x1, 0x86) }, + { ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_DEFINITION(0x1, 0x5F) }, + { ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_DEFINITION(0x1, 0x56) }, + { ZYDIS_DEFINITION(0x1, 0x52), ZYDIS_DEFINITION(0x1, 0x53) }, + { ZYDIS_DEFINITION(0x1, 0x6A), ZYDIS_DEFINITION(0x1, 0x6B) }, + { ZYDIS_DEFINITION(0x1, 0x67), ZYDIS_DEFINITION(0x1, 0x68) }, + { ZYDIS_DEFINITION(0x1, 0x7C), ZYDIS_DEFINITION(0x1, 0x7D) }, + { ZYDIS_DEFINITION(0x1, 0x79), ZYDIS_DEFINITION(0x1, 0x7A) }, + { ZYDIS_DEFINITION(0x1, 0x8E), ZYDIS_DEFINITION(0x1, 0x8F) }, + { ZYDIS_DEFINITION(0x1, 0x8B), ZYDIS_DEFINITION(0x1, 0x8C) }, + { ZYDIS_DEFINITION(0x1, 0x11E), ZYDIS_DEFINITION(0x1, 0x11F) }, + { ZYDIS_DEFINITION(0x1, 0x11B), ZYDIS_DEFINITION(0x1, 0x11C) }, + { ZYDIS_DEFINITION(0x1, 0x5B), ZYDIS_DEFINITION(0x1, 0x5C) }, + { ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_DEFINITION(0x1, 0x59) }, + { ZYDIS_DEFINITION(0x1, 0x70), ZYDIS_DEFINITION(0x1, 0x71) }, + { ZYDIS_DEFINITION(0x1, 0x6D), ZYDIS_DEFINITION(0x1, 0x6E) }, + { ZYDIS_DEFINITION(0x1, 0x82), ZYDIS_DEFINITION(0x1, 0x83) }, + { ZYDIS_DEFINITION(0x1, 0x7F), ZYDIS_DEFINITION(0x1, 0x80) }, + { ZYDIS_DEFINITION(0x1, 0x94), ZYDIS_DEFINITION(0x1, 0x95) }, + { ZYDIS_DEFINITION(0x1, 0x91), ZYDIS_DEFINITION(0x1, 0x92) }, + { ZYDIS_DEFINITION(0x1, 0x43), ZYDIS_DEFINITION(0x1, 0x44) }, + { ZYDIS_DEFINITION(0x1, 0xC0), ZYDIS_DEFINITION(0x1, 0xC1) }, + { ZYDIS_DEFINITION(0x1, 0x176), ZYDIS_DEFINITION(0x1, 0x177) }, + { ZYDIS_DEFINITION(0x1, 0x17F), ZYDIS_DEFINITION(0x1, 0x180) }, + { ZYDIS_DEFINITION(0x1, 0xE), ZYDIS_DEFINITION(0x1, 0xF) }, + { ZYDIS_DEFINITION(0x1, 0xEE), ZYDIS_DEFINITION(0x1, 0xEF) }, + { ZYDIS_DEFINITION(0xB, 0x11), ZYDIS_INVALID }, + { ZYDIS_DEFINITION(0xB, 0x116), ZYDIS_DEFINITION(0xB, 0x117) }, + { ZYDIS_DEFINITION(0xB, 0x111), ZYDIS_DEFINITION(0xB, 0x112) }, + { ZYDIS_DEFINITION(0xB, 0x105), ZYDIS_DEFINITION(0xB, 0x106) }, + { ZYDIS_DEFINITION(0xB, 0xA6), ZYDIS_DEFINITION(0xB, 0xA7) }, + { ZYDIS_DEFINITION(0xB, 0xA3), ZYDIS_DEFINITION(0xB, 0xA4) }, + { ZYDIS_DEFINITION(0xB, 0x17C), ZYDIS_DEFINITION(0xB, 0x17D) }, + { ZYDIS_DEFINITION(0xB, 0x179), ZYDIS_DEFINITION(0xB, 0x17A) }, + { ZYDIS_DEFINITION(0xB, 0x34), ZYDIS_DEFINITION(0xB, 0x35) }, + { ZYDIS_DEFINITION(0xB, 0x31), ZYDIS_DEFINITION(0xB, 0x32) }, + { ZYDIS_DEFINITION(0x1, 0xD3), ZYDIS_DEFINITION(0x1, 0xD5) }, + { ZYDIS_DEFINITION(0x1, 0x40), ZYDIS_DEFINITION(0x1, 0x41) }, + { ZYDIS_DEFINITION(0x1, 0x25), ZYDIS_DEFINITION(0x1, 0x26) }, + { ZYDIS_DEFINITION(0x1, 0xD4), ZYDIS_DEFINITION(0x1, 0xD6) }, + { ZYDIS_DEFINITION(0xB, 0x2E), ZYDIS_DEFINITION(0xB, 0x2F) }, + { ZYDIS_DEFINITION(0xB, 0x2B), ZYDIS_DEFINITION(0xB, 0x2C) } +}; +#endif + +const ZydisDecoderTreeNode FILTERS_MODE_AMD[][2] = +{ + { ZYDIS_DEFINITION(0xA, 0x29F), ZYDIS_DEFINITION(0x9, 0x2A0) }, + { ZYDIS_DEFINITION(0xA, 0x28B), ZYDIS_DEFINITION(0x9, 0x28C) }, + { ZYDIS_DEFINITION(0xA, 0x257), ZYDIS_DEFINITION(0x9, 0x258) }, + { ZYDIS_DEFINITION(0xA, 0x277), ZYDIS_DEFINITION(0x9, 0x278) }, + { ZYDIS_DEFINITION(0xA, 0x2AF), ZYDIS_DEFINITION(0x9, 0x2B0) }, + { ZYDIS_DEFINITION(0xA, 0x29A), ZYDIS_DEFINITION(0x9, 0x29B) }, + { ZYDIS_DEFINITION(0xA, 0x25C), ZYDIS_DEFINITION(0x9, 0x25D) }, + { ZYDIS_DEFINITION(0xA, 0x27C), ZYDIS_DEFINITION(0x9, 0x27D) }, + { ZYDIS_DEFINITION(0xA, 0x2AA), ZYDIS_DEFINITION(0x9, 0x2AB) }, + { ZYDIS_DEFINITION(0xA, 0x295), ZYDIS_DEFINITION(0x9, 0x296) }, + { ZYDIS_DEFINITION(0xA, 0x2A4), ZYDIS_DEFINITION(0x9, 0x2A5) }, + { ZYDIS_DEFINITION(0xA, 0x290), ZYDIS_DEFINITION(0x9, 0x291) }, + { ZYDIS_DEFINITION(0xA, 0x264), ZYDIS_DEFINITION(0x9, 0x265) }, + { ZYDIS_DEFINITION(0xA, 0x281), ZYDIS_DEFINITION(0x9, 0x282) }, + { ZYDIS_DEFINITION(0xA, 0x269), ZYDIS_DEFINITION(0x9, 0x26A) }, + { ZYDIS_DEFINITION(0xA, 0x286), ZYDIS_DEFINITION(0x9, 0x287) }, + { ZYDIS_DEFINITION(0xA, 0xA0), ZYDIS_DEFINITION(0x9, 0xA1) }, + { ZYDIS_DEFINITION(0xA, 0x26C), ZYDIS_DEFINITION(0x9, 0x26D) } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_KNC[][2] = +{ + { ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D3) }, + { ZYDIS_DEFINITION(0x1, 0x3D4), ZYDIS_DEFINITION(0x1, 0x3D5) }, + { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x59) }, + { ZYDIS_DEFINITION(0x1, 0x54), ZYDIS_DEFINITION(0x1, 0x40) }, + { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_DEFINITION(0x1, 0x41) }, + { ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_DEFINITION(0x1, 0x42) }, + { ZYDIS_DEFINITION(0x1, 0x66), ZYDIS_DEFINITION(0x1, 0x62) } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_MPX[][2] = +{ + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30) }, + { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32) } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_CET[][2] = +{ + { ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x5EE) }, + { ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x5EF) }, + { ZYDIS_DEFINITION(0x1, 0x3D0), ZYDIS_DEFINITION(0x1, 0x5EE) }, + { ZYDIS_DEFINITION(0x1, 0x3C9), ZYDIS_DEFINITION(0x1, 0x166) }, + { ZYDIS_DEFINITION(0x1, 0x3CA), ZYDIS_DEFINITION(0x1, 0x165) } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_LZCNT[][2] = +{ + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2DA) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2DB) } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_TZCNT[][2] = +{ + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x706) }, + { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x707) } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_WBNOINVD[][2] = +{ + { ZYDIS_INVALID, ZYDIS_INVALID } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_CLDEMOTE[][2] = +{ + { ZYDIS_DEFINITION(0x1, 0x3BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14) } +}; + +const ZydisDecoderTreeNode FILTERS_MODE_CENTAUR[][2] = +{ + { ZYDIS_INVALID, ZYDIS_INVALID } +}; diff --git a/externals/dynarmic/externals/zydis/src/Generated/EncodableInstructions.inc b/externals/dynarmic/externals/zydis/src/Generated/EncodableInstructions.inc new file mode 100755 index 000000000..98d4b1cdc --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/EncodableInstructions.inc @@ -0,0 +1,11552 @@ +const ZydisEncodableInstruction encodableInstructions[] = +{ + /* ------------------------------------------------------------------------------------------ */ + /* AAA */ + /* ------------------------------------------------------------------------------------------ */ + /*0000*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x37, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AAD */ + /* ------------------------------------------------------------------------------------------ */ + /*0001*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AAM */ + /* ------------------------------------------------------------------------------------------ */ + /*0002*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AAS */ + /* ------------------------------------------------------------------------------------------ */ + /*0003*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADC */ + /* ------------------------------------------------------------------------------------------ */ + /*0004*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0005*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0006*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0007*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0008*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0009*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*000A*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x13, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*000B*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x13, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*000C*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*000D*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*000E*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*000F*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0010*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0011*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0012*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0013*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0014*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0015*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADCX */ + /* ------------------------------------------------------------------------------------------ */ + /*0016*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0017*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0018*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0019*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADD */ + /* ------------------------------------------------------------------------------------------ */ + /*001A*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*001B*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*001C*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*001D*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*001E*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*001F*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0020*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0021*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0022*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0023*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0024*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0025*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0026*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0027*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0028*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0029*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*002A*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*002B*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*002C*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*002D*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*002E*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*002F*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADDSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0030*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0031*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADDSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0032*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0033*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADDSUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0034*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0035*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADDSUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0036*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0037*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ADOX */ + /* ------------------------------------------------------------------------------------------ */ + /*0038*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0039*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*003A*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*003B*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AESDEC */ + /* ------------------------------------------------------------------------------------------ */ + /*003C*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*003D*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AESDECLAST */ + /* ------------------------------------------------------------------------------------------ */ + /*003E*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*003F*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AESENC */ + /* ------------------------------------------------------------------------------------------ */ + /*0040*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0041*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AESENCLAST */ + /* ------------------------------------------------------------------------------------------ */ + /*0042*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0043*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AESIMC */ + /* ------------------------------------------------------------------------------------------ */ + /*0044*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0045*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AESKEYGENASSIST */ + /* ------------------------------------------------------------------------------------------ */ + /*0046*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0047*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* AND */ + /* ------------------------------------------------------------------------------------------ */ + /*0048*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0049*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*004A*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*004B*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*004C*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*004D*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*004E*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*004F*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0050*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x24, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0051*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x25, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0052*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0053*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0054*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0055*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0056*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0057*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0058*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0059*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ANDN */ + /* ------------------------------------------------------------------------------------------ */ + /*005A*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*005B*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*005C*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*005D*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*005E*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*005F*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ANDNPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0060*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0061*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ANDNPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0062*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0063*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ANDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0064*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0065*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ANDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0066*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0067*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ARPL */ + /* ------------------------------------------------------------------------------------------ */ + /*0068*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0069*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BEXTR */ + /* ------------------------------------------------------------------------------------------ */ + /*006A*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*006B*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*006C*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*006D*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*006E*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*006F*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BEXTR_XOP */ + /* ------------------------------------------------------------------------------------------ */ + /*0070*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x10, ZYDIS_OPCODE_MAP_XOPA , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0071*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x10, ZYDIS_OPCODE_MAP_XOPA , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0072*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x10, ZYDIS_OPCODE_MAP_XOPA , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0073*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x10, ZYDIS_OPCODE_MAP_XOPA , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLCFILL */ + /* ------------------------------------------------------------------------------------------ */ + /*0074*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0075*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0076*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0077*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLCI */ + /* ------------------------------------------------------------------------------------------ */ + /*0078*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x02, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0079*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x02, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*007A*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x02, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*007B*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x02, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLCIC */ + /* ------------------------------------------------------------------------------------------ */ + /*007C*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*007D*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*007E*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*007F*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLCMSK */ + /* ------------------------------------------------------------------------------------------ */ + /*0080*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x02, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0081*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x02, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0082*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x02, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0083*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x02, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLCS */ + /* ------------------------------------------------------------------------------------------ */ + /*0084*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0085*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0086*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0087*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLENDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0088*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0089*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLENDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*008A*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*008B*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLENDVPD */ + /* ------------------------------------------------------------------------------------------ */ + /*008C*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*008D*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLENDVPS */ + /* ------------------------------------------------------------------------------------------ */ + /*008E*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*008F*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLSFILL */ + /* ------------------------------------------------------------------------------------------ */ + /*0090*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0091*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0092*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0093*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLSI */ + /* ------------------------------------------------------------------------------------------ */ + /*0094*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0095*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0096*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0097*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0098*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0099*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLSIC */ + /* ------------------------------------------------------------------------------------------ */ + /*009A*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*009B*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*009C*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*009D*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLSMSK */ + /* ------------------------------------------------------------------------------------------ */ + /*009E*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*009F*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00A0*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00A1*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00A2*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*00A3*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BLSR */ + /* ------------------------------------------------------------------------------------------ */ + /*00A4*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00A5*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00A6*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00A7*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00A8*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*00A9*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BNDCL */ + /* ------------------------------------------------------------------------------------------ */ + /*00AA*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00AB*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00AC*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BNDCN */ + /* ------------------------------------------------------------------------------------------ */ + /*00AD*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00AE*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00AF*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BNDCU */ + /* ------------------------------------------------------------------------------------------ */ + /*00B0*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00B1*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00B2*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BNDLDX */ + /* ------------------------------------------------------------------------------------------ */ + /*00B3*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00B4*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x01, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00B5*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x02, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00B6*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x04, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BNDMK */ + /* ------------------------------------------------------------------------------------------ */ + /*00B7*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BNDMOV */ + /* ------------------------------------------------------------------------------------------ */ + /*00B8*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00B9*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x01, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00BA*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x02, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00BB*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00BC*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00BD*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x01, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00BE*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x02, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00BF*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BNDSTX */ + /* ------------------------------------------------------------------------------------------ */ + /*00C0*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00C1*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x01, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00C2*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x02, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00C3*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x04, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BOUND */ + /* ------------------------------------------------------------------------------------------ */ + /*00C4*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_DEFAULT, 0x01, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00C5*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_DEFAULT, 0x02, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BSF */ + /* ------------------------------------------------------------------------------------------ */ + /*00C6*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00C7*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00C8*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00C9*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BSR */ + /* ------------------------------------------------------------------------------------------ */ + /*00CA*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00CB*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00CC*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00CD*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BSWAP */ + /* ------------------------------------------------------------------------------------------ */ + /*00CE*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00CF*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D0*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D1*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D2*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D3*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D4*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D5*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BT */ + /* ------------------------------------------------------------------------------------------ */ + /*00D6*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D7*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D8*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00D9*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BTC */ + /* ------------------------------------------------------------------------------------------ */ + /*00DA*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00DB*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00DC*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00DD*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BTR */ + /* ------------------------------------------------------------------------------------------ */ + /*00DE*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00DF*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00E0*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00E1*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BTS */ + /* ------------------------------------------------------------------------------------------ */ + /*00E2*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00E3*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00E4*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00E5*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* BZHI */ + /* ------------------------------------------------------------------------------------------ */ + /*00E6*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00E7*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00E8*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00E9*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00EA*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*00EB*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CALL */ + /* ------------------------------------------------------------------------------------------ */ + /*00EC*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9A, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00ED*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00EE*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00EF*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00F0*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00F1*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CBW */ + /* ------------------------------------------------------------------------------------------ */ + /*00F2*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*00F3*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CDQE */ + /* ------------------------------------------------------------------------------------------ */ + /*00F4*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLAC */ + /* ------------------------------------------------------------------------------------------ */ + /*00F5*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLC */ + /* ------------------------------------------------------------------------------------------ */ + /*00F6*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLD */ + /* ------------------------------------------------------------------------------------------ */ + /*00F7*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLEVICT0 */ + /* ------------------------------------------------------------------------------------------ */ + /*00F8*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00F9*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLEVICT1 */ + /* ------------------------------------------------------------------------------------------ */ + /*00FA*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*00FB*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLFLUSH */ + /* ------------------------------------------------------------------------------------------ */ + /*00FC*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLFLUSHOPT */ + /* ------------------------------------------------------------------------------------------ */ + /*00FD*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLGI */ + /* ------------------------------------------------------------------------------------------ */ + /*00FE*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLI */ + /* ------------------------------------------------------------------------------------------ */ + /*00FF*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLRSSBSY */ + /* ------------------------------------------------------------------------------------------ */ + /*0100*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLTS */ + /* ------------------------------------------------------------------------------------------ */ + /*0101*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLWB */ + /* ------------------------------------------------------------------------------------------ */ + /*0102*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CLZERO */ + /* ------------------------------------------------------------------------------------------ */ + /*0103*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMC */ + /* ------------------------------------------------------------------------------------------ */ + /*0104*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVB */ + /* ------------------------------------------------------------------------------------------ */ + /*0105*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0106*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVBE */ + /* ------------------------------------------------------------------------------------------ */ + /*0107*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x46, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0108*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x46, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVL */ + /* ------------------------------------------------------------------------------------------ */ + /*0109*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*010A*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVLE */ + /* ------------------------------------------------------------------------------------------ */ + /*010B*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*010C*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVNB */ + /* ------------------------------------------------------------------------------------------ */ + /*010D*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x43, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*010E*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x43, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVNBE */ + /* ------------------------------------------------------------------------------------------ */ + /*010F*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x47, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0110*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x47, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVNL */ + /* ------------------------------------------------------------------------------------------ */ + /*0111*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0112*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVNLE */ + /* ------------------------------------------------------------------------------------------ */ + /*0113*/ { 0x00C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0114*/ { 0x00C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVNO */ + /* ------------------------------------------------------------------------------------------ */ + /*0115*/ { 0x00C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0116*/ { 0x00C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVNP */ + /* ------------------------------------------------------------------------------------------ */ + /*0117*/ { 0x00C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0118*/ { 0x00C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVNS */ + /* ------------------------------------------------------------------------------------------ */ + /*0119*/ { 0x00CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x49, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*011A*/ { 0x00CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x49, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVNZ */ + /* ------------------------------------------------------------------------------------------ */ + /*011B*/ { 0x00CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x45, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*011C*/ { 0x00CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x45, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVO */ + /* ------------------------------------------------------------------------------------------ */ + /*011D*/ { 0x00CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*011E*/ { 0x00CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVP */ + /* ------------------------------------------------------------------------------------------ */ + /*011F*/ { 0x00D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0120*/ { 0x00D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVS */ + /* ------------------------------------------------------------------------------------------ */ + /*0121*/ { 0x00D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x48, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0122*/ { 0x00D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x48, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMOVZ */ + /* ------------------------------------------------------------------------------------------ */ + /*0123*/ { 0x00D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0124*/ { 0x00D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMP */ + /* ------------------------------------------------------------------------------------------ */ + /*0125*/ { 0x00D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x38, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0126*/ { 0x00D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x38, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0127*/ { 0x00D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x39, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0128*/ { 0x00D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x39, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0129*/ { 0x00DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*012A*/ { 0x00DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*012B*/ { 0x00DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*012C*/ { 0x00DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*012D*/ { 0x00DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*012E*/ { 0x00DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*012F*/ { 0x00E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0130*/ { 0x00E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0131*/ { 0x00E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0132*/ { 0x00E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0133*/ { 0x00E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0134*/ { 0x00E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0135*/ { 0x00E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0136*/ { 0x00E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0137*/ { 0x00E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0138*/ { 0x00E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0139*/ { 0x00EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*013A*/ { 0x00EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPSB */ + /* ------------------------------------------------------------------------------------------ */ + /*013B*/ { 0x00EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*013C*/ { 0x00ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*013D*/ { 0x00EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPSD */ + /* ------------------------------------------------------------------------------------------ */ + /*013E*/ { 0x00EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*013F*/ { 0x00F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0140*/ { 0x00F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0141*/ { 0x00F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0142*/ { 0x00F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0143*/ { 0x00F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0144*/ { 0x00F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0145*/ { 0x00F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0146*/ { 0x00F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0147*/ { 0x00F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPSW */ + /* ------------------------------------------------------------------------------------------ */ + /*0148*/ { 0x00F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0149*/ { 0x00FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*014A*/ { 0x00FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPXCHG */ + /* ------------------------------------------------------------------------------------------ */ + /*014B*/ { 0x00FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*014C*/ { 0x00FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*014D*/ { 0x00FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*014E*/ { 0x00FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPXCHG16B */ + /* ------------------------------------------------------------------------------------------ */ + /*014F*/ { 0x0100, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CMPXCHG8B */ + /* ------------------------------------------------------------------------------------------ */ + /*0150*/ { 0x0101, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0151*/ { 0x0102, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* COMISD */ + /* ------------------------------------------------------------------------------------------ */ + /*0152*/ { 0x0103, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0153*/ { 0x0104, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* COMISS */ + /* ------------------------------------------------------------------------------------------ */ + /*0154*/ { 0x0105, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0155*/ { 0x0106, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CPUID */ + /* ------------------------------------------------------------------------------------------ */ + /*0156*/ { 0x0107, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CQO */ + /* ------------------------------------------------------------------------------------------ */ + /*0157*/ { 0x0108, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CRC32 */ + /* ------------------------------------------------------------------------------------------ */ + /*0158*/ { 0x0109, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0159*/ { 0x010A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*015A*/ { 0x010B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*015B*/ { 0x010C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTDQ2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*015C*/ { 0x010D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*015D*/ { 0x010E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTDQ2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*015E*/ { 0x010F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*015F*/ { 0x0110, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTPD2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0160*/ { 0x0111, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0161*/ { 0x0112, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTPD2PI */ + /* ------------------------------------------------------------------------------------------ */ + /*0162*/ { 0x0113, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0163*/ { 0x0114, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTPD2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0164*/ { 0x0115, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0165*/ { 0x0116, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTPI2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0166*/ { 0x0117, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0167*/ { 0x0118, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTPI2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0168*/ { 0x0119, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0169*/ { 0x011A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTPS2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*016A*/ { 0x011B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*016B*/ { 0x011C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTPS2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*016C*/ { 0x011D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*016D*/ { 0x011E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTPS2PI */ + /* ------------------------------------------------------------------------------------------ */ + /*016E*/ { 0x011F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*016F*/ { 0x0120, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTSD2SI */ + /* ------------------------------------------------------------------------------------------ */ + /*0170*/ { 0x0121, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0171*/ { 0x0122, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0172*/ { 0x0123, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0173*/ { 0x0124, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTSD2SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0174*/ { 0x0125, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0175*/ { 0x0126, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTSI2SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0176*/ { 0x0127, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0177*/ { 0x0128, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0178*/ { 0x0129, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0179*/ { 0x012A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTSI2SS */ + /* ------------------------------------------------------------------------------------------ */ + /*017A*/ { 0x012B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*017B*/ { 0x012C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*017C*/ { 0x012D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*017D*/ { 0x012E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTSS2SD */ + /* ------------------------------------------------------------------------------------------ */ + /*017E*/ { 0x012F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*017F*/ { 0x0130, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTSS2SI */ + /* ------------------------------------------------------------------------------------------ */ + /*0180*/ { 0x0131, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0181*/ { 0x0132, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0182*/ { 0x0133, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0183*/ { 0x0134, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTTPD2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0184*/ { 0x0135, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0185*/ { 0x0136, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTTPD2PI */ + /* ------------------------------------------------------------------------------------------ */ + /*0186*/ { 0x0137, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0187*/ { 0x0138, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTTPS2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0188*/ { 0x0139, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0189*/ { 0x013A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTTPS2PI */ + /* ------------------------------------------------------------------------------------------ */ + /*018A*/ { 0x013B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*018B*/ { 0x013C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTTSD2SI */ + /* ------------------------------------------------------------------------------------------ */ + /*018C*/ { 0x013D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*018D*/ { 0x013E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*018E*/ { 0x013F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*018F*/ { 0x0140, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CVTTSS2SI */ + /* ------------------------------------------------------------------------------------------ */ + /*0190*/ { 0x0141, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0191*/ { 0x0142, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0192*/ { 0x0143, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0193*/ { 0x0144, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CWD */ + /* ------------------------------------------------------------------------------------------ */ + /*0194*/ { 0x0145, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* CWDE */ + /* ------------------------------------------------------------------------------------------ */ + /*0195*/ { 0x0146, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DAA */ + /* ------------------------------------------------------------------------------------------ */ + /*0196*/ { 0x0147, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x27, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DAS */ + /* ------------------------------------------------------------------------------------------ */ + /*0197*/ { 0x0148, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DEC */ + /* ------------------------------------------------------------------------------------------ */ + /*0198*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x48, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0199*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x49, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*019A*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4A, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*019B*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4B, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*019C*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4C, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*019D*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4D, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*019E*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4E, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*019F*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01A0*/ { 0x014A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01A1*/ { 0x014B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01A2*/ { 0x014C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01A3*/ { 0x014D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DELAY */ + /* ------------------------------------------------------------------------------------------ */ + /*01A4*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01A5*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DIV */ + /* ------------------------------------------------------------------------------------------ */ + /*01A6*/ { 0x014E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01A7*/ { 0x014F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01A8*/ { 0x0150, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01A9*/ { 0x0151, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DIVPD */ + /* ------------------------------------------------------------------------------------------ */ + /*01AA*/ { 0x0152, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01AB*/ { 0x0153, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DIVPS */ + /* ------------------------------------------------------------------------------------------ */ + /*01AC*/ { 0x0154, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01AD*/ { 0x0155, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DIVSD */ + /* ------------------------------------------------------------------------------------------ */ + /*01AE*/ { 0x0156, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01AF*/ { 0x0157, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DIVSS */ + /* ------------------------------------------------------------------------------------------ */ + /*01B0*/ { 0x0158, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01B1*/ { 0x0159, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DPPD */ + /* ------------------------------------------------------------------------------------------ */ + /*01B2*/ { 0x015A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01B3*/ { 0x015B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* DPPS */ + /* ------------------------------------------------------------------------------------------ */ + /*01B4*/ { 0x015C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01B5*/ { 0x015D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* EMMS */ + /* ------------------------------------------------------------------------------------------ */ + /*01B6*/ { 0x015E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x77, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ENCLS */ + /* ------------------------------------------------------------------------------------------ */ + /*01B7*/ { 0x015F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ENCLU */ + /* ------------------------------------------------------------------------------------------ */ + /*01B8*/ { 0x0160, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ENDBR32 */ + /* ------------------------------------------------------------------------------------------ */ + /*01B9*/ { 0x0161, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x08, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ENDBR64 */ + /* ------------------------------------------------------------------------------------------ */ + /*01BA*/ { 0x0162, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x04, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ENTER */ + /* ------------------------------------------------------------------------------------------ */ + /*01BB*/ { 0x0163, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* EXTRACTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*01BC*/ { 0x0164, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01BD*/ { 0x0165, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* F2XM1 */ + /* ------------------------------------------------------------------------------------------ */ + /*01BE*/ { 0x0166, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FABS */ + /* ------------------------------------------------------------------------------------------ */ + /*01BF*/ { 0x0167, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FADD */ + /* ------------------------------------------------------------------------------------------ */ + /*01C0*/ { 0x0168, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01C1*/ { 0x0169, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01C2*/ { 0x016A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01C3*/ { 0x016B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FADDP */ + /* ------------------------------------------------------------------------------------------ */ + /*01C4*/ { 0x016C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FBLD */ + /* ------------------------------------------------------------------------------------------ */ + /*01C5*/ { 0x016D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FBSTP */ + /* ------------------------------------------------------------------------------------------ */ + /*01C6*/ { 0x016E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCHS */ + /* ------------------------------------------------------------------------------------------ */ + /*01C7*/ { 0x016F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCMOVB */ + /* ------------------------------------------------------------------------------------------ */ + /*01C8*/ { 0x0170, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCMOVBE */ + /* ------------------------------------------------------------------------------------------ */ + /*01C9*/ { 0x0171, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCMOVE */ + /* ------------------------------------------------------------------------------------------ */ + /*01CA*/ { 0x0172, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCMOVNB */ + /* ------------------------------------------------------------------------------------------ */ + /*01CB*/ { 0x0173, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCMOVNBE */ + /* ------------------------------------------------------------------------------------------ */ + /*01CC*/ { 0x0174, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCMOVNE */ + /* ------------------------------------------------------------------------------------------ */ + /*01CD*/ { 0x0175, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCMOVNU */ + /* ------------------------------------------------------------------------------------------ */ + /*01CE*/ { 0x0176, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCMOVU */ + /* ------------------------------------------------------------------------------------------ */ + /*01CF*/ { 0x0177, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCOM */ + /* ------------------------------------------------------------------------------------------ */ + /*01D0*/ { 0x0178, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01D1*/ { 0x0179, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01D2*/ { 0x017A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01D3*/ { 0x017B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCOMI */ + /* ------------------------------------------------------------------------------------------ */ + /*01D4*/ { 0x017C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCOMIP */ + /* ------------------------------------------------------------------------------------------ */ + /*01D5*/ { 0x017D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCOMP */ + /* ------------------------------------------------------------------------------------------ */ + /*01D6*/ { 0x017E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01D7*/ { 0x017F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01D8*/ { 0x0180, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01D9*/ { 0x0181, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01DA*/ { 0x0182, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCOMPP */ + /* ------------------------------------------------------------------------------------------ */ + /*01DB*/ { 0x0183, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FCOS */ + /* ------------------------------------------------------------------------------------------ */ + /*01DC*/ { 0x0184, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FDECSTP */ + /* ------------------------------------------------------------------------------------------ */ + /*01DD*/ { 0x0185, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FDISI8087_NOP */ + /* ------------------------------------------------------------------------------------------ */ + /*01DE*/ { 0x0186, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FDIV */ + /* ------------------------------------------------------------------------------------------ */ + /*01DF*/ { 0x0187, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01E0*/ { 0x0188, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01E1*/ { 0x0189, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01E2*/ { 0x018A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FDIVP */ + /* ------------------------------------------------------------------------------------------ */ + /*01E3*/ { 0x018B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FDIVR */ + /* ------------------------------------------------------------------------------------------ */ + /*01E4*/ { 0x018C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01E5*/ { 0x018D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01E6*/ { 0x018E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01E7*/ { 0x018F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FDIVRP */ + /* ------------------------------------------------------------------------------------------ */ + /*01E8*/ { 0x0190, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FEMMS */ + /* ------------------------------------------------------------------------------------------ */ + /*01E9*/ { 0x0191, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FENI8087_NOP */ + /* ------------------------------------------------------------------------------------------ */ + /*01EA*/ { 0x0192, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FFREE */ + /* ------------------------------------------------------------------------------------------ */ + /*01EB*/ { 0x0193, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FFREEP */ + /* ------------------------------------------------------------------------------------------ */ + /*01EC*/ { 0x0194, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FIADD */ + /* ------------------------------------------------------------------------------------------ */ + /*01ED*/ { 0x0195, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01EE*/ { 0x0196, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FICOM */ + /* ------------------------------------------------------------------------------------------ */ + /*01EF*/ { 0x0197, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01F0*/ { 0x0198, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FICOMP */ + /* ------------------------------------------------------------------------------------------ */ + /*01F1*/ { 0x0199, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01F2*/ { 0x019A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FIDIV */ + /* ------------------------------------------------------------------------------------------ */ + /*01F3*/ { 0x019B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01F4*/ { 0x019C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FIDIVR */ + /* ------------------------------------------------------------------------------------------ */ + /*01F5*/ { 0x019D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01F6*/ { 0x019E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FILD */ + /* ------------------------------------------------------------------------------------------ */ + /*01F7*/ { 0x019F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01F8*/ { 0x01A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01F9*/ { 0x01A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FIMUL */ + /* ------------------------------------------------------------------------------------------ */ + /*01FA*/ { 0x01A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01FB*/ { 0x01A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FINCSTP */ + /* ------------------------------------------------------------------------------------------ */ + /*01FC*/ { 0x01A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FIST */ + /* ------------------------------------------------------------------------------------------ */ + /*01FD*/ { 0x01A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*01FE*/ { 0x01A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FISTP */ + /* ------------------------------------------------------------------------------------------ */ + /*01FF*/ { 0x01A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0200*/ { 0x01A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0201*/ { 0x01A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FISTTP */ + /* ------------------------------------------------------------------------------------------ */ + /*0202*/ { 0x01AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0203*/ { 0x01AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0204*/ { 0x01AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FISUB */ + /* ------------------------------------------------------------------------------------------ */ + /*0205*/ { 0x01AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0206*/ { 0x01AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FISUBR */ + /* ------------------------------------------------------------------------------------------ */ + /*0207*/ { 0x01AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0208*/ { 0x01B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLD */ + /* ------------------------------------------------------------------------------------------ */ + /*0209*/ { 0x01B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*020A*/ { 0x01B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*020B*/ { 0x01B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*020C*/ { 0x01B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLD1 */ + /* ------------------------------------------------------------------------------------------ */ + /*020D*/ { 0x01B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLDCW */ + /* ------------------------------------------------------------------------------------------ */ + /*020E*/ { 0x01B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLDENV */ + /* ------------------------------------------------------------------------------------------ */ + /*020F*/ { 0x01B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0210*/ { 0x01B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x06, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLDL2E */ + /* ------------------------------------------------------------------------------------------ */ + /*0211*/ { 0x01B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLDL2T */ + /* ------------------------------------------------------------------------------------------ */ + /*0212*/ { 0x01BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLDLG2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0213*/ { 0x01BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLDLN2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0214*/ { 0x01BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLDPI */ + /* ------------------------------------------------------------------------------------------ */ + /*0215*/ { 0x01BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FLDZ */ + /* ------------------------------------------------------------------------------------------ */ + /*0216*/ { 0x01BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FMUL */ + /* ------------------------------------------------------------------------------------------ */ + /*0217*/ { 0x01BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0218*/ { 0x01C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0219*/ { 0x01C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*021A*/ { 0x01C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FMULP */ + /* ------------------------------------------------------------------------------------------ */ + /*021B*/ { 0x01C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FNCLEX */ + /* ------------------------------------------------------------------------------------------ */ + /*021C*/ { 0x01C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FNINIT */ + /* ------------------------------------------------------------------------------------------ */ + /*021D*/ { 0x01C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FNOP */ + /* ------------------------------------------------------------------------------------------ */ + /*021E*/ { 0x01C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FNSAVE */ + /* ------------------------------------------------------------------------------------------ */ + /*021F*/ { 0x01C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0220*/ { 0x01C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x06, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FNSTCW */ + /* ------------------------------------------------------------------------------------------ */ + /*0221*/ { 0x01C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FNSTENV */ + /* ------------------------------------------------------------------------------------------ */ + /*0222*/ { 0x01CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0223*/ { 0x01CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x06, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FNSTSW */ + /* ------------------------------------------------------------------------------------------ */ + /*0224*/ { 0x01CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0225*/ { 0x01CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FPATAN */ + /* ------------------------------------------------------------------------------------------ */ + /*0226*/ { 0x01CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FPREM */ + /* ------------------------------------------------------------------------------------------ */ + /*0227*/ { 0x01CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FPREM1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0228*/ { 0x01D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FPTAN */ + /* ------------------------------------------------------------------------------------------ */ + /*0229*/ { 0x01D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FRNDINT */ + /* ------------------------------------------------------------------------------------------ */ + /*022A*/ { 0x01D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FRSTOR */ + /* ------------------------------------------------------------------------------------------ */ + /*022B*/ { 0x01D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*022C*/ { 0x01D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x06, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSCALE */ + /* ------------------------------------------------------------------------------------------ */ + /*022D*/ { 0x01D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSETPM287_NOP */ + /* ------------------------------------------------------------------------------------------ */ + /*022E*/ { 0x01D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSIN */ + /* ------------------------------------------------------------------------------------------ */ + /*022F*/ { 0x01D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSINCOS */ + /* ------------------------------------------------------------------------------------------ */ + /*0230*/ { 0x01D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSQRT */ + /* ------------------------------------------------------------------------------------------ */ + /*0231*/ { 0x01D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FST */ + /* ------------------------------------------------------------------------------------------ */ + /*0232*/ { 0x01DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0233*/ { 0x01DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0234*/ { 0x01DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSTP */ + /* ------------------------------------------------------------------------------------------ */ + /*0235*/ { 0x01DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0236*/ { 0x01DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0237*/ { 0x01DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0238*/ { 0x01E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0239*/ { 0x01E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*023A*/ { 0x01E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSTPNCE */ + /* ------------------------------------------------------------------------------------------ */ + /*023B*/ { 0x01E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSUB */ + /* ------------------------------------------------------------------------------------------ */ + /*023C*/ { 0x01E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*023D*/ { 0x01E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*023E*/ { 0x01E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*023F*/ { 0x01E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSUBP */ + /* ------------------------------------------------------------------------------------------ */ + /*0240*/ { 0x01E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSUBR */ + /* ------------------------------------------------------------------------------------------ */ + /*0241*/ { 0x01E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0242*/ { 0x01EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0243*/ { 0x01EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0244*/ { 0x01EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FSUBRP */ + /* ------------------------------------------------------------------------------------------ */ + /*0245*/ { 0x01ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FTST */ + /* ------------------------------------------------------------------------------------------ */ + /*0246*/ { 0x01EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FUCOM */ + /* ------------------------------------------------------------------------------------------ */ + /*0247*/ { 0x01EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FUCOMI */ + /* ------------------------------------------------------------------------------------------ */ + /*0248*/ { 0x01F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FUCOMIP */ + /* ------------------------------------------------------------------------------------------ */ + /*0249*/ { 0x01F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FUCOMP */ + /* ------------------------------------------------------------------------------------------ */ + /*024A*/ { 0x01F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FUCOMPP */ + /* ------------------------------------------------------------------------------------------ */ + /*024B*/ { 0x01F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FWAIT */ + /* ------------------------------------------------------------------------------------------ */ + /*024C*/ { 0x01F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FXAM */ + /* ------------------------------------------------------------------------------------------ */ + /*024D*/ { 0x01F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FXCH */ + /* ------------------------------------------------------------------------------------------ */ + /*024E*/ { 0x01F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*024F*/ { 0x01F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0250*/ { 0x01F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FXRSTOR */ + /* ------------------------------------------------------------------------------------------ */ + /*0251*/ { 0x01F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FXRSTOR64 */ + /* ------------------------------------------------------------------------------------------ */ + /*0252*/ { 0x01FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FXSAVE */ + /* ------------------------------------------------------------------------------------------ */ + /*0253*/ { 0x01FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FXSAVE64 */ + /* ------------------------------------------------------------------------------------------ */ + /*0254*/ { 0x01FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FXTRACT */ + /* ------------------------------------------------------------------------------------------ */ + /*0255*/ { 0x01FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FYL2X */ + /* ------------------------------------------------------------------------------------------ */ + /*0256*/ { 0x01FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* FYL2XP1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0257*/ { 0x01FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* GETSEC */ + /* ------------------------------------------------------------------------------------------ */ + /*0258*/ { 0x0200, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x37, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* HADDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0259*/ { 0x0201, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*025A*/ { 0x0202, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* HADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*025B*/ { 0x0203, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*025C*/ { 0x0204, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* HLT */ + /* ------------------------------------------------------------------------------------------ */ + /*025D*/ { 0x0205, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* HSUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*025E*/ { 0x0206, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*025F*/ { 0x0207, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* HSUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0260*/ { 0x0208, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0261*/ { 0x0209, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* IDIV */ + /* ------------------------------------------------------------------------------------------ */ + /*0262*/ { 0x020A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0263*/ { 0x020B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0264*/ { 0x020C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0265*/ { 0x020D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* IMUL */ + /* ------------------------------------------------------------------------------------------ */ + /*0266*/ { 0x020E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0267*/ { 0x020F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0268*/ { 0x0210, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0269*/ { 0x0211, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*026A*/ { 0x0212, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*026B*/ { 0x0213, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*026C*/ { 0x0214, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*026D*/ { 0x0215, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*026E*/ { 0x0216, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*026F*/ { 0x0217, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* IN */ + /* ------------------------------------------------------------------------------------------ */ + /*0270*/ { 0x0218, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0271*/ { 0x0219, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0272*/ { 0x021A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0273*/ { 0x021A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0274*/ { 0x021B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0275*/ { 0x021C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0276*/ { 0x021D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0277*/ { 0x021D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INC */ + /* ------------------------------------------------------------------------------------------ */ + /*0278*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0279*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*027A*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*027B*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x43, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*027C*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*027D*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x45, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*027E*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x46, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*027F*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x47, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0280*/ { 0x021F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0281*/ { 0x0220, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0282*/ { 0x0221, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0283*/ { 0x0222, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INCSSPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0284*/ { 0x0223, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INCSSPQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0285*/ { 0x0224, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INSB */ + /* ------------------------------------------------------------------------------------------ */ + /*0286*/ { 0x0225, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0287*/ { 0x0226, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0288*/ { 0x0227, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0289*/ { 0x0228, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*028A*/ { 0x0229, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*028B*/ { 0x022A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*028C*/ { 0x022B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*028D*/ { 0x022C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*028E*/ { 0x022D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INSERTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*028F*/ { 0x022E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0290*/ { 0x022F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INSW */ + /* ------------------------------------------------------------------------------------------ */ + /*0291*/ { 0x0230, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0292*/ { 0x0231, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0293*/ { 0x0232, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INT */ + /* ------------------------------------------------------------------------------------------ */ + /*0294*/ { 0x0233, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INT1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0295*/ { 0x0234, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INT3 */ + /* ------------------------------------------------------------------------------------------ */ + /*0296*/ { 0x0235, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INTO */ + /* ------------------------------------------------------------------------------------------ */ + /*0297*/ { 0x0236, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCE, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INVD */ + /* ------------------------------------------------------------------------------------------ */ + /*0298*/ { 0x0237, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INVEPT */ + /* ------------------------------------------------------------------------------------------ */ + /*0299*/ { 0x0238, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*029A*/ { 0x0239, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_0F38 , 0x02, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INVLPG */ + /* ------------------------------------------------------------------------------------------ */ + /*029B*/ { 0x023A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INVLPGA */ + /* ------------------------------------------------------------------------------------------ */ + /*029C*/ { 0x023B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INVPCID */ + /* ------------------------------------------------------------------------------------------ */ + /*029D*/ { 0x023C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*029E*/ { 0x023D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* INVVPID */ + /* ------------------------------------------------------------------------------------------ */ + /*029F*/ { 0x023E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02A0*/ { 0x023F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_0F38 , 0x02, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* IRET */ + /* ------------------------------------------------------------------------------------------ */ + /*02A1*/ { 0x0240, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* IRETD */ + /* ------------------------------------------------------------------------------------------ */ + /*02A2*/ { 0x0241, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* IRETQ */ + /* ------------------------------------------------------------------------------------------ */ + /*02A3*/ { 0x0242, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCF, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JB */ + /* ------------------------------------------------------------------------------------------ */ + /*02A4*/ { 0x0243, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02A5*/ { 0x0244, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02A6*/ { 0x0245, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02A7*/ { 0x0246, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JBE */ + /* ------------------------------------------------------------------------------------------ */ + /*02A8*/ { 0x0247, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02A9*/ { 0x0248, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02AA*/ { 0x0249, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x86, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02AB*/ { 0x024A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x86, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JCXZ */ + /* ------------------------------------------------------------------------------------------ */ + /*02AC*/ { 0x024B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x01, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JECXZ */ + /* ------------------------------------------------------------------------------------------ */ + /*02AD*/ { 0x024C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x02, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02AE*/ { 0x024D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x02, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JKNZD */ + /* ------------------------------------------------------------------------------------------ */ + /*02AF*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x75, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02B0*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x85, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02B1*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x85, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JKZD */ + /* ------------------------------------------------------------------------------------------ */ + /*02B2*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x74, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02B3*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x84, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02B4*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x84, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JL */ + /* ------------------------------------------------------------------------------------------ */ + /*02B5*/ { 0x024E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02B6*/ { 0x024F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02B7*/ { 0x0250, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8C, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02B8*/ { 0x0251, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JLE */ + /* ------------------------------------------------------------------------------------------ */ + /*02B9*/ { 0x0252, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02BA*/ { 0x0253, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02BB*/ { 0x0254, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02BC*/ { 0x0255, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JMP */ + /* ------------------------------------------------------------------------------------------ */ + /*02BD*/ { 0x0256, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02BE*/ { 0x0257, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02BF*/ { 0x0258, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02C0*/ { 0x0259, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02C1*/ { 0x025A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02C2*/ { 0x025B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02C3*/ { 0x025C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02C4*/ { 0x025D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JNB */ + /* ------------------------------------------------------------------------------------------ */ + /*02C5*/ { 0x025E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02C6*/ { 0x025F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02C7*/ { 0x0260, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02C8*/ { 0x0261, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JNBE */ + /* ------------------------------------------------------------------------------------------ */ + /*02C9*/ { 0x0262, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x77, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02CA*/ { 0x0263, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x77, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02CB*/ { 0x0264, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x87, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02CC*/ { 0x0265, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x87, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JNL */ + /* ------------------------------------------------------------------------------------------ */ + /*02CD*/ { 0x0266, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02CE*/ { 0x0267, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02CF*/ { 0x0268, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8D, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02D0*/ { 0x0269, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JNLE */ + /* ------------------------------------------------------------------------------------------ */ + /*02D1*/ { 0x026A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02D2*/ { 0x026B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02D3*/ { 0x026C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8F, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02D4*/ { 0x026D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8F, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JNO */ + /* ------------------------------------------------------------------------------------------ */ + /*02D5*/ { 0x026E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02D6*/ { 0x026F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02D7*/ { 0x0270, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02D8*/ { 0x0271, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JNP */ + /* ------------------------------------------------------------------------------------------ */ + /*02D9*/ { 0x0272, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7B, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02DA*/ { 0x0273, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7B, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02DB*/ { 0x0274, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8B, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02DC*/ { 0x0275, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JNS */ + /* ------------------------------------------------------------------------------------------ */ + /*02DD*/ { 0x0276, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02DE*/ { 0x0277, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02DF*/ { 0x0278, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x89, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02E0*/ { 0x0279, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x89, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JNZ */ + /* ------------------------------------------------------------------------------------------ */ + /*02E1*/ { 0x027A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02E2*/ { 0x027B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02E3*/ { 0x027C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x85, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02E4*/ { 0x027D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x85, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JO */ + /* ------------------------------------------------------------------------------------------ */ + /*02E5*/ { 0x027E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02E6*/ { 0x027F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02E7*/ { 0x0280, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02E8*/ { 0x0281, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JP */ + /* ------------------------------------------------------------------------------------------ */ + /*02E9*/ { 0x0282, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7A, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02EA*/ { 0x0283, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7A, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02EB*/ { 0x0284, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8A, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02EC*/ { 0x0285, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JRCXZ */ + /* ------------------------------------------------------------------------------------------ */ + /*02ED*/ { 0x0286, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x04, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JS */ + /* ------------------------------------------------------------------------------------------ */ + /*02EE*/ { 0x0287, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02EF*/ { 0x0288, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02F0*/ { 0x0289, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x88, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02F1*/ { 0x028A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x88, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* JZ */ + /* ------------------------------------------------------------------------------------------ */ + /*02F2*/ { 0x028B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02F3*/ { 0x028C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02F4*/ { 0x028D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x84, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*02F5*/ { 0x028E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x84, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KADDB */ + /* ------------------------------------------------------------------------------------------ */ + /*02F6*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KADDD */ + /* ------------------------------------------------------------------------------------------ */ + /*02F7*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KADDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*02F8*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KADDW */ + /* ------------------------------------------------------------------------------------------ */ + /*02F9*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KAND */ + /* ------------------------------------------------------------------------------------------ */ + /*02FA*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDB */ + /* ------------------------------------------------------------------------------------------ */ + /*02FB*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDD */ + /* ------------------------------------------------------------------------------------------ */ + /*02FC*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDN */ + /* ------------------------------------------------------------------------------------------ */ + /*02FD*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDNB */ + /* ------------------------------------------------------------------------------------------ */ + /*02FE*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDND */ + /* ------------------------------------------------------------------------------------------ */ + /*02FF*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDNQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0300*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDNR */ + /* ------------------------------------------------------------------------------------------ */ + /*0301*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x43, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDNW */ + /* ------------------------------------------------------------------------------------------ */ + /*0302*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0303*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KANDW */ + /* ------------------------------------------------------------------------------------------ */ + /*0304*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KCONCATH */ + /* ------------------------------------------------------------------------------------------ */ + /*0305*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x95, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KCONCATL */ + /* ------------------------------------------------------------------------------------------ */ + /*0306*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KEXTRACT */ + /* ------------------------------------------------------------------------------------------ */ + /*0307*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KMERGE2L1H */ + /* ------------------------------------------------------------------------------------------ */ + /*0308*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KMERGE2L1L */ + /* ------------------------------------------------------------------------------------------ */ + /*0309*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KMOV */ + /* ------------------------------------------------------------------------------------------ */ + /*030A*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*030B*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*030C*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KMOVB */ + /* ------------------------------------------------------------------------------------------ */ + /*030D*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*030E*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*030F*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x91, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0310*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0311*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KMOVD */ + /* ------------------------------------------------------------------------------------------ */ + /*0312*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0313*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0314*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x91, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0315*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0316*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0317*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0318*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KMOVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0319*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*031A*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*031B*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x91, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*031C*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*031D*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KMOVW */ + /* ------------------------------------------------------------------------------------------ */ + /*031E*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*031F*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0320*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x91, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0321*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0322*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KNOT */ + /* ------------------------------------------------------------------------------------------ */ + /*0323*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x44, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KNOTB */ + /* ------------------------------------------------------------------------------------------ */ + /*0324*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x44, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KNOTD */ + /* ------------------------------------------------------------------------------------------ */ + /*0325*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x44, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KNOTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0326*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x44, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KNOTW */ + /* ------------------------------------------------------------------------------------------ */ + /*0327*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x44, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KOR */ + /* ------------------------------------------------------------------------------------------ */ + /*0328*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KORB */ + /* ------------------------------------------------------------------------------------------ */ + /*0329*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KORD */ + /* ------------------------------------------------------------------------------------------ */ + /*032A*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KORQ */ + /* ------------------------------------------------------------------------------------------ */ + /*032B*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KORTESTB */ + /* ------------------------------------------------------------------------------------------ */ + /*032C*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KORTESTD */ + /* ------------------------------------------------------------------------------------------ */ + /*032D*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*032E*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KORTESTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*032F*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KORTESTW */ + /* ------------------------------------------------------------------------------------------ */ + /*0330*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KORW */ + /* ------------------------------------------------------------------------------------------ */ + /*0331*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KSHIFTLB */ + /* ------------------------------------------------------------------------------------------ */ + /*0332*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x32, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KSHIFTLD */ + /* ------------------------------------------------------------------------------------------ */ + /*0333*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x33, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KSHIFTLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0334*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x33, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KSHIFTLW */ + /* ------------------------------------------------------------------------------------------ */ + /*0335*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x32, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KSHIFTRB */ + /* ------------------------------------------------------------------------------------------ */ + /*0336*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x30, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KSHIFTRD */ + /* ------------------------------------------------------------------------------------------ */ + /*0337*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x31, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KSHIFTRQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0338*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x31, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KSHIFTRW */ + /* ------------------------------------------------------------------------------------------ */ + /*0339*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x30, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KTESTB */ + /* ------------------------------------------------------------------------------------------ */ + /*033A*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x99, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KTESTD */ + /* ------------------------------------------------------------------------------------------ */ + /*033B*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x99, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KTESTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*033C*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x99, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KTESTW */ + /* ------------------------------------------------------------------------------------------ */ + /*033D*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x99, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KUNPCKBW */ + /* ------------------------------------------------------------------------------------------ */ + /*033E*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KUNPCKDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*033F*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KUNPCKWD */ + /* ------------------------------------------------------------------------------------------ */ + /*0340*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXNOR */ + /* ------------------------------------------------------------------------------------------ */ + /*0341*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXNORB */ + /* ------------------------------------------------------------------------------------------ */ + /*0342*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXNORD */ + /* ------------------------------------------------------------------------------------------ */ + /*0343*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXNORQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0344*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXNORW */ + /* ------------------------------------------------------------------------------------------ */ + /*0345*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXOR */ + /* ------------------------------------------------------------------------------------------ */ + /*0346*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXORB */ + /* ------------------------------------------------------------------------------------------ */ + /*0347*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXORD */ + /* ------------------------------------------------------------------------------------------ */ + /*0348*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXORQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0349*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* KXORW */ + /* ------------------------------------------------------------------------------------------ */ + /*034A*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LAHF */ + /* ------------------------------------------------------------------------------------------ */ + /*034B*/ { 0x028F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LAR */ + /* ------------------------------------------------------------------------------------------ */ + /*034C*/ { 0x0290, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*034D*/ { 0x0291, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LDDQU */ + /* ------------------------------------------------------------------------------------------ */ + /*034E*/ { 0x0292, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LDMXCSR */ + /* ------------------------------------------------------------------------------------------ */ + /*034F*/ { 0x0293, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LDS */ + /* ------------------------------------------------------------------------------------------ */ + /*0350*/ { 0x0294, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC5, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LEA */ + /* ------------------------------------------------------------------------------------------ */ + /*0351*/ { 0x0295, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LEAVE */ + /* ------------------------------------------------------------------------------------------ */ + /*0352*/ { 0x0296, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LES */ + /* ------------------------------------------------------------------------------------------ */ + /*0353*/ { 0x0297, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LFENCE */ + /* ------------------------------------------------------------------------------------------ */ + /*0354*/ { 0x0298, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LFS */ + /* ------------------------------------------------------------------------------------------ */ + /*0355*/ { 0x0299, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LGDT */ + /* ------------------------------------------------------------------------------------------ */ + /*0356*/ { 0x029A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0357*/ { 0x029B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LGS */ + /* ------------------------------------------------------------------------------------------ */ + /*0358*/ { 0x029C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LIDT */ + /* ------------------------------------------------------------------------------------------ */ + /*0359*/ { 0x029D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*035A*/ { 0x029E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LLDT */ + /* ------------------------------------------------------------------------------------------ */ + /*035B*/ { 0x029F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*035C*/ { 0x02A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LLWPCB */ + /* ------------------------------------------------------------------------------------------ */ + /*035D*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x12, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LMSW */ + /* ------------------------------------------------------------------------------------------ */ + /*035E*/ { 0x02A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*035F*/ { 0x02A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LODSB */ + /* ------------------------------------------------------------------------------------------ */ + /*0360*/ { 0x02A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0361*/ { 0x02A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0362*/ { 0x02A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LODSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0363*/ { 0x02A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0364*/ { 0x02A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0365*/ { 0x02A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LODSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0366*/ { 0x02A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0367*/ { 0x02AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0368*/ { 0x02AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LODSW */ + /* ------------------------------------------------------------------------------------------ */ + /*0369*/ { 0x02AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*036A*/ { 0x02AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*036B*/ { 0x02AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LOOP */ + /* ------------------------------------------------------------------------------------------ */ + /*036C*/ { 0x02AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LOOPE */ + /* ------------------------------------------------------------------------------------------ */ + /*036D*/ { 0x02B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LOOPNE */ + /* ------------------------------------------------------------------------------------------ */ + /*036E*/ { 0x02B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LSL */ + /* ------------------------------------------------------------------------------------------ */ + /*036F*/ { 0x02B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0370*/ { 0x02B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0371*/ { 0x02B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LTR */ + /* ------------------------------------------------------------------------------------------ */ + /*0372*/ { 0x02B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0373*/ { 0x02B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LWPINS */ + /* ------------------------------------------------------------------------------------------ */ + /*0374*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x12, ZYDIS_OPCODE_MAP_XOPA , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0375*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x12, ZYDIS_OPCODE_MAP_XOPA , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LWPVAL */ + /* ------------------------------------------------------------------------------------------ */ + /*0376*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x12, ZYDIS_OPCODE_MAP_XOPA , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0377*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x12, ZYDIS_OPCODE_MAP_XOPA , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* LZCNT */ + /* ------------------------------------------------------------------------------------------ */ + /*0378*/ { 0x02B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0379*/ { 0x02B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*037A*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*037B*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MASKMOVDQU */ + /* ------------------------------------------------------------------------------------------ */ + /*037C*/ { 0x02B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MASKMOVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*037D*/ { 0x02BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MAXPD */ + /* ------------------------------------------------------------------------------------------ */ + /*037E*/ { 0x02BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*037F*/ { 0x02BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MAXPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0380*/ { 0x02BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0381*/ { 0x02BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MAXSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0382*/ { 0x02BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0383*/ { 0x02C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MAXSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0384*/ { 0x02C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0385*/ { 0x02C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MFENCE */ + /* ------------------------------------------------------------------------------------------ */ + /*0386*/ { 0x02C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MINPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0387*/ { 0x02C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0388*/ { 0x02C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MINPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0389*/ { 0x02C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*038A*/ { 0x02C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MINSD */ + /* ------------------------------------------------------------------------------------------ */ + /*038B*/ { 0x02C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*038C*/ { 0x02C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MINSS */ + /* ------------------------------------------------------------------------------------------ */ + /*038D*/ { 0x02CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*038E*/ { 0x02CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MONITOR */ + /* ------------------------------------------------------------------------------------------ */ + /*038F*/ { 0x02CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x02, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0390*/ { 0x02CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x01, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0391*/ { 0x02CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x04, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0392*/ { 0x02CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x02, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOV */ + /* ------------------------------------------------------------------------------------------ */ + /*0393*/ { 0x02D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x88, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0394*/ { 0x02D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x88, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0395*/ { 0x02D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x89, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0396*/ { 0x02D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x89, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0397*/ { 0x02D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0398*/ { 0x02D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0399*/ { 0x02D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*039A*/ { 0x02D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*039B*/ { 0x02D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*039C*/ { 0x02D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*039D*/ { 0x02DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*039E*/ { 0x02DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*039F*/ { 0x02DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A0*/ { 0x02DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A1*/ { 0x02DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A2*/ { 0x02DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A3*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A4*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A5*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A6*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A7*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A8*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03A9*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03AA*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03AB*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03AC*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03AD*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03AE*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03AF*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B0*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B1*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B2*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B3*/ { 0x02E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B4*/ { 0x02E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B5*/ { 0x02E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B6*/ { 0x02E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B7*/ { 0x02E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B8*/ { 0x02E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03B9*/ { 0x02E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03BA*/ { 0x02E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03BB*/ { 0x02EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03BC*/ { 0x02EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03BD*/ { 0x02EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03BE*/ { 0x02ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVAPD */ + /* ------------------------------------------------------------------------------------------ */ + /*03BF*/ { 0x02EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03C0*/ { 0x02EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03C1*/ { 0x02F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03C2*/ { 0x02F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVAPS */ + /* ------------------------------------------------------------------------------------------ */ + /*03C3*/ { 0x02F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03C4*/ { 0x02F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03C5*/ { 0x02F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03C6*/ { 0x02F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVBE */ + /* ------------------------------------------------------------------------------------------ */ + /*03C7*/ { 0x02F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03C8*/ { 0x02F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVD */ + /* ------------------------------------------------------------------------------------------ */ + /*03C9*/ { 0x02F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03CA*/ { 0x02F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03CB*/ { 0x02FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03CC*/ { 0x02FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03CD*/ { 0x02FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03CE*/ { 0x02FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03CF*/ { 0x02FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D0*/ { 0x02FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D1*/ { 0x0300, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D2*/ { 0x0301, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D3*/ { 0x0302, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D4*/ { 0x0303, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D5*/ { 0x0304, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D6*/ { 0x0305, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D7*/ { 0x0306, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03D8*/ { 0x0307, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVDDUP */ + /* ------------------------------------------------------------------------------------------ */ + /*03D9*/ { 0x0308, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03DA*/ { 0x0309, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVDQ2Q */ + /* ------------------------------------------------------------------------------------------ */ + /*03DB*/ { 0x030A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVDQA */ + /* ------------------------------------------------------------------------------------------ */ + /*03DC*/ { 0x030B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03DD*/ { 0x030C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03DE*/ { 0x030D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03DF*/ { 0x030E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVDQU */ + /* ------------------------------------------------------------------------------------------ */ + /*03E0*/ { 0x030F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03E1*/ { 0x0310, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03E2*/ { 0x0311, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03E3*/ { 0x0312, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVHLPS */ + /* ------------------------------------------------------------------------------------------ */ + /*03E4*/ { 0x0313, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVHPD */ + /* ------------------------------------------------------------------------------------------ */ + /*03E5*/ { 0x0314, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03E6*/ { 0x0315, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVHPS */ + /* ------------------------------------------------------------------------------------------ */ + /*03E7*/ { 0x0316, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03E8*/ { 0x0317, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVLHPS */ + /* ------------------------------------------------------------------------------------------ */ + /*03E9*/ { 0x0318, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVLPD */ + /* ------------------------------------------------------------------------------------------ */ + /*03EA*/ { 0x0319, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03EB*/ { 0x031A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x13, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVLPS */ + /* ------------------------------------------------------------------------------------------ */ + /*03EC*/ { 0x031B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03ED*/ { 0x031C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x13, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVMSKPD */ + /* ------------------------------------------------------------------------------------------ */ + /*03EE*/ { 0x031D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x50, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVMSKPS */ + /* ------------------------------------------------------------------------------------------ */ + /*03EF*/ { 0x031E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x50, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVNTDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*03F0*/ { 0x031F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVNTDQA */ + /* ------------------------------------------------------------------------------------------ */ + /*03F1*/ { 0x0320, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVNTI */ + /* ------------------------------------------------------------------------------------------ */ + /*03F2*/ { 0x0321, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x03, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03F3*/ { 0x0322, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x04, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVNTPD */ + /* ------------------------------------------------------------------------------------------ */ + /*03F4*/ { 0x0323, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVNTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*03F5*/ { 0x0324, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVNTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*03F6*/ { 0x0325, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*03F7*/ { 0x0326, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*03F8*/ { 0x0327, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*03F9*/ { 0x0328, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*03FA*/ { 0x0329, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*03FB*/ { 0x032A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03FC*/ { 0x032B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*03FD*/ { 0x032C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*03FE*/ { 0x032D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*03FF*/ { 0x032E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0400*/ { 0x032F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0401*/ { 0x0330, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0402*/ { 0x0331, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0403*/ { 0x0332, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0404*/ { 0x0333, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0405*/ { 0x0334, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0406*/ { 0x0335, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVQ2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0407*/ { 0x0336, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSB */ + /* ------------------------------------------------------------------------------------------ */ + /*0408*/ { 0x0337, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0409*/ { 0x0338, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*040A*/ { 0x0339, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSD */ + /* ------------------------------------------------------------------------------------------ */ + /*040B*/ { 0x033A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*040C*/ { 0x033B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*040D*/ { 0x033C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*040E*/ { 0x033D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*040F*/ { 0x033E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0410*/ { 0x033F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0411*/ { 0x0340, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSHDUP */ + /* ------------------------------------------------------------------------------------------ */ + /*0412*/ { 0x0341, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0413*/ { 0x0342, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSLDUP */ + /* ------------------------------------------------------------------------------------------ */ + /*0414*/ { 0x0343, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0415*/ { 0x0344, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0416*/ { 0x0345, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0417*/ { 0x0346, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0418*/ { 0x0347, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0419*/ { 0x0348, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*041A*/ { 0x0349, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*041B*/ { 0x034A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*041C*/ { 0x034B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSW */ + /* ------------------------------------------------------------------------------------------ */ + /*041D*/ { 0x034C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*041E*/ { 0x034D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*041F*/ { 0x034E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSX */ + /* ------------------------------------------------------------------------------------------ */ + /*0420*/ { 0x034F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0421*/ { 0x0350, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0422*/ { 0x0351, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0423*/ { 0x0352, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVSXD */ + /* ------------------------------------------------------------------------------------------ */ + /*0424*/ { 0x0353, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0425*/ { 0x0354, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVUPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0426*/ { 0x0355, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0427*/ { 0x0356, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0428*/ { 0x0357, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0429*/ { 0x0358, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVUPS */ + /* ------------------------------------------------------------------------------------------ */ + /*042A*/ { 0x0359, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*042B*/ { 0x035A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*042C*/ { 0x035B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*042D*/ { 0x035C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MOVZX */ + /* ------------------------------------------------------------------------------------------ */ + /*042E*/ { 0x035D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*042F*/ { 0x035E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0430*/ { 0x035F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0431*/ { 0x0360, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MPSADBW */ + /* ------------------------------------------------------------------------------------------ */ + /*0432*/ { 0x0361, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0433*/ { 0x0362, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MUL */ + /* ------------------------------------------------------------------------------------------ */ + /*0434*/ { 0x0363, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0435*/ { 0x0364, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0436*/ { 0x0365, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0437*/ { 0x0366, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MULPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0438*/ { 0x0367, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0439*/ { 0x0368, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MULPS */ + /* ------------------------------------------------------------------------------------------ */ + /*043A*/ { 0x0369, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*043B*/ { 0x036A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MULSD */ + /* ------------------------------------------------------------------------------------------ */ + /*043C*/ { 0x036B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*043D*/ { 0x036C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MULSS */ + /* ------------------------------------------------------------------------------------------ */ + /*043E*/ { 0x036D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*043F*/ { 0x036E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MULX */ + /* ------------------------------------------------------------------------------------------ */ + /*0440*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0441*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0442*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0443*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0444*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0445*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* MWAIT */ + /* ------------------------------------------------------------------------------------------ */ + /*0446*/ { 0x036F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* NEG */ + /* ------------------------------------------------------------------------------------------ */ + /*0447*/ { 0x0370, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0448*/ { 0x0371, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0449*/ { 0x0372, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*044A*/ { 0x0373, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* NOP */ + /* ------------------------------------------------------------------------------------------ */ + /*044B*/ { 0x0374, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03 }, + /*044C*/ { 0x0375, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*044D*/ { 0x0376, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*044E*/ { 0x0377, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*044F*/ { 0x0378, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0450*/ { 0x0379, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0451*/ { 0x037A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0452*/ { 0x037B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0453*/ { 0x037C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0454*/ { 0x037D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0455*/ { 0x037E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0456*/ { 0x037F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0457*/ { 0x0380, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0458*/ { 0x0381, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0459*/ { 0x0382, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*045A*/ { 0x0383, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x19, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*045B*/ { 0x0384, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x19, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*045C*/ { 0x0385, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*045D*/ { 0x0386, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*045E*/ { 0x0387, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*045F*/ { 0x0388, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0460*/ { 0x0389, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0461*/ { 0x038A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0462*/ { 0x038B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0463*/ { 0x038C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0464*/ { 0x038D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0465*/ { 0x038E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0466*/ { 0x038F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0467*/ { 0x0390, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0468*/ { 0x0391, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0469*/ { 0x0392, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*046A*/ { 0x0393, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*046B*/ { 0x0394, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*046C*/ { 0x0395, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*046D*/ { 0x0396, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*046E*/ { 0x0397, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*046F*/ { 0x0398, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0470*/ { 0x0399, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0471*/ { 0x039A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0472*/ { 0x039B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0473*/ { 0x039C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0474*/ { 0x039D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0475*/ { 0x039E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0476*/ { 0x039F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x02, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0477*/ { 0x03A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x10, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0478*/ { 0x03A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x20, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0479*/ { 0x03A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x40, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*047A*/ { 0x03A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x80, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*047B*/ { 0x03A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x04, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*047C*/ { 0x03A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x08, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*047D*/ { 0x03A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*047E*/ { 0x03A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*047F*/ { 0x03A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0480*/ { 0x03A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0481*/ { 0x03AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0482*/ { 0x03AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0483*/ { 0x03AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0484*/ { 0x03AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* NOT */ + /* ------------------------------------------------------------------------------------------ */ + /*0485*/ { 0x03AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0486*/ { 0x03AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0487*/ { 0x03B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0488*/ { 0x03B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* OR */ + /* ------------------------------------------------------------------------------------------ */ + /*0489*/ { 0x03B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*048A*/ { 0x03B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*048B*/ { 0x03B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*048C*/ { 0x03B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*048D*/ { 0x03B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*048E*/ { 0x03B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*048F*/ { 0x03B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0490*/ { 0x03B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0491*/ { 0x03BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0492*/ { 0x03BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0493*/ { 0x03BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0494*/ { 0x03BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0495*/ { 0x03BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0496*/ { 0x03BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0497*/ { 0x03C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0498*/ { 0x03C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0499*/ { 0x03C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*049A*/ { 0x03C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ORPD */ + /* ------------------------------------------------------------------------------------------ */ + /*049B*/ { 0x03C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*049C*/ { 0x03C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ORPS */ + /* ------------------------------------------------------------------------------------------ */ + /*049D*/ { 0x03C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*049E*/ { 0x03C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* OUT */ + /* ------------------------------------------------------------------------------------------ */ + /*049F*/ { 0x03C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A0*/ { 0x03C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A1*/ { 0x03CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A2*/ { 0x03CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A3*/ { 0x03CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A4*/ { 0x03CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A5*/ { 0x03CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A6*/ { 0x03CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* OUTSB */ + /* ------------------------------------------------------------------------------------------ */ + /*04A7*/ { 0x03CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A8*/ { 0x03CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04A9*/ { 0x03D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* OUTSD */ + /* ------------------------------------------------------------------------------------------ */ + /*04AA*/ { 0x03D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04AB*/ { 0x03D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04AC*/ { 0x03D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04AD*/ { 0x03D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04AE*/ { 0x03D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04AF*/ { 0x03D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* OUTSW */ + /* ------------------------------------------------------------------------------------------ */ + /*04B0*/ { 0x03D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04B1*/ { 0x03D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04B2*/ { 0x03D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PABSB */ + /* ------------------------------------------------------------------------------------------ */ + /*04B3*/ { 0x03DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04B4*/ { 0x03DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04B5*/ { 0x03DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04B6*/ { 0x03DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PABSD */ + /* ------------------------------------------------------------------------------------------ */ + /*04B7*/ { 0x03DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04B8*/ { 0x03DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04B9*/ { 0x03E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04BA*/ { 0x03E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PABSW */ + /* ------------------------------------------------------------------------------------------ */ + /*04BB*/ { 0x03E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04BC*/ { 0x03E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04BD*/ { 0x03E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04BE*/ { 0x03E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PACKSSDW */ + /* ------------------------------------------------------------------------------------------ */ + /*04BF*/ { 0x03E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04C0*/ { 0x03E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04C1*/ { 0x03E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04C2*/ { 0x03E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PACKSSWB */ + /* ------------------------------------------------------------------------------------------ */ + /*04C3*/ { 0x03EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04C4*/ { 0x03EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04C5*/ { 0x03EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04C6*/ { 0x03ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PACKUSDW */ + /* ------------------------------------------------------------------------------------------ */ + /*04C7*/ { 0x03EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04C8*/ { 0x03EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PACKUSWB */ + /* ------------------------------------------------------------------------------------------ */ + /*04C9*/ { 0x03F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04CA*/ { 0x03F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04CB*/ { 0x03F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04CC*/ { 0x03F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PADDB */ + /* ------------------------------------------------------------------------------------------ */ + /*04CD*/ { 0x03F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04CE*/ { 0x03F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04CF*/ { 0x03F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04D0*/ { 0x03F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PADDD */ + /* ------------------------------------------------------------------------------------------ */ + /*04D1*/ { 0x03F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04D2*/ { 0x03F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04D3*/ { 0x03FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04D4*/ { 0x03FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PADDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*04D5*/ { 0x03FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04D6*/ { 0x03FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04D7*/ { 0x03FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04D8*/ { 0x03FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PADDSB */ + /* ------------------------------------------------------------------------------------------ */ + /*04D9*/ { 0x0400, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04DA*/ { 0x0401, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04DB*/ { 0x0402, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04DC*/ { 0x0403, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PADDSW */ + /* ------------------------------------------------------------------------------------------ */ + /*04DD*/ { 0x0404, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04DE*/ { 0x0405, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04DF*/ { 0x0406, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04E0*/ { 0x0407, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PADDUSB */ + /* ------------------------------------------------------------------------------------------ */ + /*04E1*/ { 0x0408, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04E2*/ { 0x0409, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04E3*/ { 0x040A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04E4*/ { 0x040B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PADDUSW */ + /* ------------------------------------------------------------------------------------------ */ + /*04E5*/ { 0x040C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04E6*/ { 0x040D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04E7*/ { 0x040E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04E8*/ { 0x040F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PADDW */ + /* ------------------------------------------------------------------------------------------ */ + /*04E9*/ { 0x0410, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04EA*/ { 0x0411, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04EB*/ { 0x0412, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04EC*/ { 0x0413, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PALIGNR */ + /* ------------------------------------------------------------------------------------------ */ + /*04ED*/ { 0x0414, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04EE*/ { 0x0415, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04EF*/ { 0x0416, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04F0*/ { 0x0417, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PAND */ + /* ------------------------------------------------------------------------------------------ */ + /*04F1*/ { 0x0418, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04F2*/ { 0x0419, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04F3*/ { 0x041A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04F4*/ { 0x041B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PANDN */ + /* ------------------------------------------------------------------------------------------ */ + /*04F5*/ { 0x041C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04F6*/ { 0x041D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04F7*/ { 0x041E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04F8*/ { 0x041F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PAUSE */ + /* ------------------------------------------------------------------------------------------ */ + /*04F9*/ { 0x0420, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PAVGB */ + /* ------------------------------------------------------------------------------------------ */ + /*04FA*/ { 0x0421, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04FB*/ { 0x0422, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04FC*/ { 0x0423, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04FD*/ { 0x0424, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PAVGUSB */ + /* ------------------------------------------------------------------------------------------ */ + /*04FE*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xBF, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*04FF*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xBF, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PAVGW */ + /* ------------------------------------------------------------------------------------------ */ + /*0500*/ { 0x0425, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0501*/ { 0x0426, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0502*/ { 0x0427, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0503*/ { 0x0428, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PBLENDVB */ + /* ------------------------------------------------------------------------------------------ */ + /*0504*/ { 0x0429, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0505*/ { 0x042A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PBLENDW */ + /* ------------------------------------------------------------------------------------------ */ + /*0506*/ { 0x042B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0507*/ { 0x042C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCLMULQDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0508*/ { 0x042D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0509*/ { 0x042E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPEQB */ + /* ------------------------------------------------------------------------------------------ */ + /*050A*/ { 0x042F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*050B*/ { 0x0430, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*050C*/ { 0x0431, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*050D*/ { 0x0432, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPEQD */ + /* ------------------------------------------------------------------------------------------ */ + /*050E*/ { 0x0433, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*050F*/ { 0x0434, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0510*/ { 0x0435, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0511*/ { 0x0436, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPEQQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0512*/ { 0x0437, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0513*/ { 0x0438, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPEQW */ + /* ------------------------------------------------------------------------------------------ */ + /*0514*/ { 0x0439, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0515*/ { 0x043A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0516*/ { 0x043B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0517*/ { 0x043C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPESTRI */ + /* ------------------------------------------------------------------------------------------ */ + /*0518*/ { 0x043D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0519*/ { 0x043E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*051A*/ { 0x043F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*051B*/ { 0x0440, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPESTRM */ + /* ------------------------------------------------------------------------------------------ */ + /*051C*/ { 0x0441, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*051D*/ { 0x0442, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*051E*/ { 0x0443, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*051F*/ { 0x0444, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPGTB */ + /* ------------------------------------------------------------------------------------------ */ + /*0520*/ { 0x0445, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0521*/ { 0x0446, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0522*/ { 0x0447, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0523*/ { 0x0448, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPGTD */ + /* ------------------------------------------------------------------------------------------ */ + /*0524*/ { 0x0449, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0525*/ { 0x044A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0526*/ { 0x044B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0527*/ { 0x044C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPGTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0528*/ { 0x044D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0529*/ { 0x044E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPGTW */ + /* ------------------------------------------------------------------------------------------ */ + /*052A*/ { 0x044F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*052B*/ { 0x0450, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*052C*/ { 0x0451, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*052D*/ { 0x0452, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPISTRI */ + /* ------------------------------------------------------------------------------------------ */ + /*052E*/ { 0x0453, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*052F*/ { 0x0454, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0530*/ { 0x0455, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0531*/ { 0x0456, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PCMPISTRM */ + /* ------------------------------------------------------------------------------------------ */ + /*0532*/ { 0x0457, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0533*/ { 0x0458, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PDEP */ + /* ------------------------------------------------------------------------------------------ */ + /*0534*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0535*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0536*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0537*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0538*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0539*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PEXT */ + /* ------------------------------------------------------------------------------------------ */ + /*053A*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*053B*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*053C*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*053D*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*053E*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*053F*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PEXTRB */ + /* ------------------------------------------------------------------------------------------ */ + /*0540*/ { 0x0459, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0541*/ { 0x045A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PEXTRD */ + /* ------------------------------------------------------------------------------------------ */ + /*0542*/ { 0x045B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0543*/ { 0x045C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PEXTRQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0544*/ { 0x045D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0545*/ { 0x045E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PEXTRW */ + /* ------------------------------------------------------------------------------------------ */ + /*0546*/ { 0x045F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0547*/ { 0x0460, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0548*/ { 0x0461, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0549*/ { 0x0462, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PF2ID */ + /* ------------------------------------------------------------------------------------------ */ + /*054A*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x1D, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*054B*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x1D, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PF2IW */ + /* ------------------------------------------------------------------------------------------ */ + /*054C*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x1C, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*054D*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x1C, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFACC */ + /* ------------------------------------------------------------------------------------------ */ + /*054E*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xAE, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*054F*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xAE, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFADD */ + /* ------------------------------------------------------------------------------------------ */ + /*0550*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x9E, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0551*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x9E, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFCMPEQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0552*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xB0, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0553*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xB0, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFCMPGE */ + /* ------------------------------------------------------------------------------------------ */ + /*0554*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x90, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0555*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x90, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFCMPGT */ + /* ------------------------------------------------------------------------------------------ */ + /*0556*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xA0, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0557*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xA0, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFCPIT1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0558*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xA6, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0559*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xA6, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFMAX */ + /* ------------------------------------------------------------------------------------------ */ + /*055A*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xA4, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*055B*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xA4, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFMIN */ + /* ------------------------------------------------------------------------------------------ */ + /*055C*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x94, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*055D*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x94, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFMUL */ + /* ------------------------------------------------------------------------------------------ */ + /*055E*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xB4, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*055F*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xB4, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFNACC */ + /* ------------------------------------------------------------------------------------------ */ + /*0560*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x8A, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0561*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x8A, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFPNACC */ + /* ------------------------------------------------------------------------------------------ */ + /*0562*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x8E, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0563*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x8E, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFRCP */ + /* ------------------------------------------------------------------------------------------ */ + /*0564*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x96, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0565*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x96, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFRCPIT2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0566*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xB6, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0567*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xB6, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFRSQIT1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0568*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xA7, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0569*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xA7, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFSQRT */ + /* ------------------------------------------------------------------------------------------ */ + /*056A*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x97, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*056B*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x97, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFSUB */ + /* ------------------------------------------------------------------------------------------ */ + /*056C*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x9A, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*056D*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x9A, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PFSUBR */ + /* ------------------------------------------------------------------------------------------ */ + /*056E*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xAA, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*056F*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xAA, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PHADDD */ + /* ------------------------------------------------------------------------------------------ */ + /*0570*/ { 0x0463, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0571*/ { 0x0464, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0572*/ { 0x0465, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0573*/ { 0x0466, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PHADDSW */ + /* ------------------------------------------------------------------------------------------ */ + /*0574*/ { 0x0467, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0575*/ { 0x0468, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0576*/ { 0x0469, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0577*/ { 0x046A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PHADDW */ + /* ------------------------------------------------------------------------------------------ */ + /*0578*/ { 0x046B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0579*/ { 0x046C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*057A*/ { 0x046D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*057B*/ { 0x046E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PHMINPOSUW */ + /* ------------------------------------------------------------------------------------------ */ + /*057C*/ { 0x046F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*057D*/ { 0x0470, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PHSUBD */ + /* ------------------------------------------------------------------------------------------ */ + /*057E*/ { 0x0471, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*057F*/ { 0x0472, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0580*/ { 0x0473, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0581*/ { 0x0474, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PHSUBSW */ + /* ------------------------------------------------------------------------------------------ */ + /*0582*/ { 0x0475, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0583*/ { 0x0476, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0584*/ { 0x0477, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0585*/ { 0x0478, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PHSUBW */ + /* ------------------------------------------------------------------------------------------ */ + /*0586*/ { 0x0479, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0587*/ { 0x047A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0588*/ { 0x047B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0589*/ { 0x047C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PI2FD */ + /* ------------------------------------------------------------------------------------------ */ + /*058A*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x0D, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*058B*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x0D, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PI2FW */ + /* ------------------------------------------------------------------------------------------ */ + /*058C*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x0C, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*058D*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0x0C, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PINSRB */ + /* ------------------------------------------------------------------------------------------ */ + /*058E*/ { 0x047D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*058F*/ { 0x047E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PINSRD */ + /* ------------------------------------------------------------------------------------------ */ + /*0590*/ { 0x047F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0591*/ { 0x0480, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PINSRQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0592*/ { 0x0481, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0593*/ { 0x0482, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PINSRW */ + /* ------------------------------------------------------------------------------------------ */ + /*0594*/ { 0x0483, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0595*/ { 0x0484, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0596*/ { 0x0485, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0597*/ { 0x0486, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMADDUBSW */ + /* ------------------------------------------------------------------------------------------ */ + /*0598*/ { 0x0487, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0599*/ { 0x0488, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*059A*/ { 0x0489, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*059B*/ { 0x048A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMADDWD */ + /* ------------------------------------------------------------------------------------------ */ + /*059C*/ { 0x048B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*059D*/ { 0x048C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*059E*/ { 0x048D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*059F*/ { 0x048E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMAXSB */ + /* ------------------------------------------------------------------------------------------ */ + /*05A0*/ { 0x048F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05A1*/ { 0x0490, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMAXSD */ + /* ------------------------------------------------------------------------------------------ */ + /*05A2*/ { 0x0491, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05A3*/ { 0x0492, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMAXSW */ + /* ------------------------------------------------------------------------------------------ */ + /*05A4*/ { 0x0493, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05A5*/ { 0x0494, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05A6*/ { 0x0495, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05A7*/ { 0x0496, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMAXUB */ + /* ------------------------------------------------------------------------------------------ */ + /*05A8*/ { 0x0497, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05A9*/ { 0x0498, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05AA*/ { 0x0499, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05AB*/ { 0x049A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMAXUD */ + /* ------------------------------------------------------------------------------------------ */ + /*05AC*/ { 0x049B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05AD*/ { 0x049C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMAXUW */ + /* ------------------------------------------------------------------------------------------ */ + /*05AE*/ { 0x049D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05AF*/ { 0x049E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMINSB */ + /* ------------------------------------------------------------------------------------------ */ + /*05B0*/ { 0x049F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05B1*/ { 0x04A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMINSD */ + /* ------------------------------------------------------------------------------------------ */ + /*05B2*/ { 0x04A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05B3*/ { 0x04A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMINSW */ + /* ------------------------------------------------------------------------------------------ */ + /*05B4*/ { 0x04A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05B5*/ { 0x04A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05B6*/ { 0x04A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05B7*/ { 0x04A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMINUB */ + /* ------------------------------------------------------------------------------------------ */ + /*05B8*/ { 0x04A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05B9*/ { 0x04A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05BA*/ { 0x04A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05BB*/ { 0x04AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMINUD */ + /* ------------------------------------------------------------------------------------------ */ + /*05BC*/ { 0x04AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05BD*/ { 0x04AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMINUW */ + /* ------------------------------------------------------------------------------------------ */ + /*05BE*/ { 0x04AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05BF*/ { 0x04AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVMSKB */ + /* ------------------------------------------------------------------------------------------ */ + /*05C0*/ { 0x04AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05C1*/ { 0x04B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVSXBD */ + /* ------------------------------------------------------------------------------------------ */ + /*05C2*/ { 0x04B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05C3*/ { 0x04B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVSXBQ */ + /* ------------------------------------------------------------------------------------------ */ + /*05C4*/ { 0x04B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05C5*/ { 0x04B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVSXBW */ + /* ------------------------------------------------------------------------------------------ */ + /*05C6*/ { 0x04B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05C7*/ { 0x04B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVSXDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*05C8*/ { 0x04B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05C9*/ { 0x04B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVSXWD */ + /* ------------------------------------------------------------------------------------------ */ + /*05CA*/ { 0x04B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05CB*/ { 0x04BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVSXWQ */ + /* ------------------------------------------------------------------------------------------ */ + /*05CC*/ { 0x04BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05CD*/ { 0x04BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVZXBD */ + /* ------------------------------------------------------------------------------------------ */ + /*05CE*/ { 0x04BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05CF*/ { 0x04BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVZXBQ */ + /* ------------------------------------------------------------------------------------------ */ + /*05D0*/ { 0x04BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05D1*/ { 0x04C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVZXBW */ + /* ------------------------------------------------------------------------------------------ */ + /*05D2*/ { 0x04C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05D3*/ { 0x04C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVZXDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*05D4*/ { 0x04C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05D5*/ { 0x04C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVZXWD */ + /* ------------------------------------------------------------------------------------------ */ + /*05D6*/ { 0x04C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05D7*/ { 0x04C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMOVZXWQ */ + /* ------------------------------------------------------------------------------------------ */ + /*05D8*/ { 0x04C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05D9*/ { 0x04C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMULDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*05DA*/ { 0x04C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05DB*/ { 0x04CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMULHRSW */ + /* ------------------------------------------------------------------------------------------ */ + /*05DC*/ { 0x04CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05DD*/ { 0x04CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05DE*/ { 0x04CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05DF*/ { 0x04CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMULHRW */ + /* ------------------------------------------------------------------------------------------ */ + /*05E0*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xB7, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05E1*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xB7, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMULHUW */ + /* ------------------------------------------------------------------------------------------ */ + /*05E2*/ { 0x04CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05E3*/ { 0x04D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05E4*/ { 0x04D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05E5*/ { 0x04D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMULHW */ + /* ------------------------------------------------------------------------------------------ */ + /*05E6*/ { 0x04D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05E7*/ { 0x04D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05E8*/ { 0x04D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05E9*/ { 0x04D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMULLD */ + /* ------------------------------------------------------------------------------------------ */ + /*05EA*/ { 0x04D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05EB*/ { 0x04D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMULLW */ + /* ------------------------------------------------------------------------------------------ */ + /*05EC*/ { 0x04D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05ED*/ { 0x04DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05EE*/ { 0x04DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05EF*/ { 0x04DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PMULUDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*05F0*/ { 0x04DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05F1*/ { 0x04DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05F2*/ { 0x04DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05F3*/ { 0x04E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* POP */ + /* ------------------------------------------------------------------------------------------ */ + /*05F4*/ { 0x04E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05F5*/ { 0x04E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05F6*/ { 0x04E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05F7*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05F8*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05F9*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05FA*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05FB*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05FC*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05FD*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05FE*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*05FF*/ { 0x04E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0600*/ { 0x04E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0601*/ { 0x04E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0602*/ { 0x04E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* POPA */ + /* ------------------------------------------------------------------------------------------ */ + /*0603*/ { 0x04E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* POPAD */ + /* ------------------------------------------------------------------------------------------ */ + /*0604*/ { 0x04EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* POPCNT */ + /* ------------------------------------------------------------------------------------------ */ + /*0605*/ { 0x04EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0606*/ { 0x04EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0607*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0608*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* POPF */ + /* ------------------------------------------------------------------------------------------ */ + /*0609*/ { 0x04ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* POPFD */ + /* ------------------------------------------------------------------------------------------ */ + /*060A*/ { 0x04EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* POPFQ */ + /* ------------------------------------------------------------------------------------------ */ + /*060B*/ { 0x04EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* POR */ + /* ------------------------------------------------------------------------------------------ */ + /*060C*/ { 0x04F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*060D*/ { 0x04F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*060E*/ { 0x04F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*060F*/ { 0x04F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PREFETCH_EXCLUSIVE */ + /* ------------------------------------------------------------------------------------------ */ + /*0610*/ { 0x04F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PREFETCHNTA */ + /* ------------------------------------------------------------------------------------------ */ + /*0611*/ { 0x04F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PREFETCHT0 */ + /* ------------------------------------------------------------------------------------------ */ + /*0612*/ { 0x04F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PREFETCHT1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0613*/ { 0x04F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PREFETCHT2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0614*/ { 0x04F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PREFETCHW */ + /* ------------------------------------------------------------------------------------------ */ + /*0615*/ { 0x04F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0616*/ { 0x04FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PREFETCHWT1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0617*/ { 0x04FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSADBW */ + /* ------------------------------------------------------------------------------------------ */ + /*0618*/ { 0x04FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0619*/ { 0x04FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*061A*/ { 0x04FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*061B*/ { 0x04FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSHUFB */ + /* ------------------------------------------------------------------------------------------ */ + /*061C*/ { 0x0500, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*061D*/ { 0x0501, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*061E*/ { 0x0502, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*061F*/ { 0x0503, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSHUFD */ + /* ------------------------------------------------------------------------------------------ */ + /*0620*/ { 0x0504, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0621*/ { 0x0505, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSHUFHW */ + /* ------------------------------------------------------------------------------------------ */ + /*0622*/ { 0x0506, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0623*/ { 0x0507, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSHUFLW */ + /* ------------------------------------------------------------------------------------------ */ + /*0624*/ { 0x0508, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0625*/ { 0x0509, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSHUFW */ + /* ------------------------------------------------------------------------------------------ */ + /*0626*/ { 0x050A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0627*/ { 0x050B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSIGNB */ + /* ------------------------------------------------------------------------------------------ */ + /*0628*/ { 0x050C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0629*/ { 0x050D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*062A*/ { 0x050E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*062B*/ { 0x050F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSIGND */ + /* ------------------------------------------------------------------------------------------ */ + /*062C*/ { 0x0510, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*062D*/ { 0x0511, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*062E*/ { 0x0512, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*062F*/ { 0x0513, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSIGNW */ + /* ------------------------------------------------------------------------------------------ */ + /*0630*/ { 0x0514, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0631*/ { 0x0515, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0632*/ { 0x0516, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0633*/ { 0x0517, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSLLD */ + /* ------------------------------------------------------------------------------------------ */ + /*0634*/ { 0x0518, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0635*/ { 0x0519, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0636*/ { 0x051A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0637*/ { 0x051B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0638*/ { 0x051C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0639*/ { 0x051D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSLLDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*063A*/ { 0x051E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSLLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*063B*/ { 0x051F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*063C*/ { 0x0520, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*063D*/ { 0x0521, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*063E*/ { 0x0522, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*063F*/ { 0x0523, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0640*/ { 0x0524, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSLLW */ + /* ------------------------------------------------------------------------------------------ */ + /*0641*/ { 0x0525, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0642*/ { 0x0526, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0643*/ { 0x0527, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0644*/ { 0x0528, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0645*/ { 0x0529, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0646*/ { 0x052A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSRAD */ + /* ------------------------------------------------------------------------------------------ */ + /*0647*/ { 0x052B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0648*/ { 0x052C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0649*/ { 0x052D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*064A*/ { 0x052E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*064B*/ { 0x052F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*064C*/ { 0x0530, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSRAW */ + /* ------------------------------------------------------------------------------------------ */ + /*064D*/ { 0x0531, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*064E*/ { 0x0532, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*064F*/ { 0x0533, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0650*/ { 0x0534, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0651*/ { 0x0535, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0652*/ { 0x0536, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSRLD */ + /* ------------------------------------------------------------------------------------------ */ + /*0653*/ { 0x0537, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0654*/ { 0x0538, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0655*/ { 0x0539, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0656*/ { 0x053A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0657*/ { 0x053B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0658*/ { 0x053C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSRLDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0659*/ { 0x053D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSRLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*065A*/ { 0x053E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*065B*/ { 0x053F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*065C*/ { 0x0540, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*065D*/ { 0x0541, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*065E*/ { 0x0542, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*065F*/ { 0x0543, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSRLW */ + /* ------------------------------------------------------------------------------------------ */ + /*0660*/ { 0x0544, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0661*/ { 0x0545, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0662*/ { 0x0546, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0663*/ { 0x0547, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0664*/ { 0x0548, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0665*/ { 0x0549, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSUBB */ + /* ------------------------------------------------------------------------------------------ */ + /*0666*/ { 0x054A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0667*/ { 0x054B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0668*/ { 0x054C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0669*/ { 0x054D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSUBD */ + /* ------------------------------------------------------------------------------------------ */ + /*066A*/ { 0x054E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*066B*/ { 0x054F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*066C*/ { 0x0550, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*066D*/ { 0x0551, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSUBQ */ + /* ------------------------------------------------------------------------------------------ */ + /*066E*/ { 0x0552, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*066F*/ { 0x0553, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0670*/ { 0x0554, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0671*/ { 0x0555, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSUBSB */ + /* ------------------------------------------------------------------------------------------ */ + /*0672*/ { 0x0556, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0673*/ { 0x0557, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0674*/ { 0x0558, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0675*/ { 0x0559, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSUBSW */ + /* ------------------------------------------------------------------------------------------ */ + /*0676*/ { 0x055A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0677*/ { 0x055B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0678*/ { 0x055C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0679*/ { 0x055D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSUBUSB */ + /* ------------------------------------------------------------------------------------------ */ + /*067A*/ { 0x055E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*067B*/ { 0x055F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*067C*/ { 0x0560, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*067D*/ { 0x0561, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSUBUSW */ + /* ------------------------------------------------------------------------------------------ */ + /*067E*/ { 0x0562, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*067F*/ { 0x0563, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0680*/ { 0x0564, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0681*/ { 0x0565, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSUBW */ + /* ------------------------------------------------------------------------------------------ */ + /*0682*/ { 0x0566, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0683*/ { 0x0567, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0684*/ { 0x0568, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0685*/ { 0x0569, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PSWAPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0686*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xBB, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0687*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_3DNOW , 0xBB, ZYDIS_OPCODE_MAP_0F0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PTEST */ + /* ------------------------------------------------------------------------------------------ */ + /*0688*/ { 0x056A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0689*/ { 0x056B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PTWRITE */ + /* ------------------------------------------------------------------------------------------ */ + /*068A*/ { 0x056C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*068B*/ { 0x056D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUNPCKHBW */ + /* ------------------------------------------------------------------------------------------ */ + /*068C*/ { 0x056E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*068D*/ { 0x056F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*068E*/ { 0x0570, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*068F*/ { 0x0571, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUNPCKHDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0690*/ { 0x0572, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0691*/ { 0x0573, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0692*/ { 0x0574, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0693*/ { 0x0575, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUNPCKHQDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0694*/ { 0x0576, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0695*/ { 0x0577, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUNPCKHWD */ + /* ------------------------------------------------------------------------------------------ */ + /*0696*/ { 0x0578, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0697*/ { 0x0579, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0698*/ { 0x057A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0699*/ { 0x057B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUNPCKLBW */ + /* ------------------------------------------------------------------------------------------ */ + /*069A*/ { 0x057C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*069B*/ { 0x057D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*069C*/ { 0x057E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*069D*/ { 0x057F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUNPCKLDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*069E*/ { 0x0580, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*069F*/ { 0x0581, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06A0*/ { 0x0582, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06A1*/ { 0x0583, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUNPCKLQDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*06A2*/ { 0x0584, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06A3*/ { 0x0585, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUNPCKLWD */ + /* ------------------------------------------------------------------------------------------ */ + /*06A4*/ { 0x0586, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06A5*/ { 0x0587, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06A6*/ { 0x0588, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06A7*/ { 0x0589, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUSH */ + /* ------------------------------------------------------------------------------------------ */ + /*06A8*/ { 0x058A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06A9*/ { 0x058B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06AA*/ { 0x058C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06AB*/ { 0x058D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06AC*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x50, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06AD*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06AE*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06AF*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B0*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B1*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B2*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B3*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B4*/ { 0x058F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B5*/ { 0x0590, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B6*/ { 0x0591, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B7*/ { 0x0592, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B8*/ { 0x0593, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06B9*/ { 0x0594, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUSHA */ + /* ------------------------------------------------------------------------------------------ */ + /*06BA*/ { 0x0595, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUSHAD */ + /* ------------------------------------------------------------------------------------------ */ + /*06BB*/ { 0x0596, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUSHF */ + /* ------------------------------------------------------------------------------------------ */ + /*06BC*/ { 0x0597, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUSHFD */ + /* ------------------------------------------------------------------------------------------ */ + /*06BD*/ { 0x0598, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PUSHFQ */ + /* ------------------------------------------------------------------------------------------ */ + /*06BE*/ { 0x0599, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* PXOR */ + /* ------------------------------------------------------------------------------------------ */ + /*06BF*/ { 0x059A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C0*/ { 0x059B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C1*/ { 0x059C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C2*/ { 0x059D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RCL */ + /* ------------------------------------------------------------------------------------------ */ + /*06C3*/ { 0x059E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C4*/ { 0x059F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C5*/ { 0x05A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C6*/ { 0x05A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C7*/ { 0x05A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C8*/ { 0x05A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06C9*/ { 0x05A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06CA*/ { 0x05A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06CB*/ { 0x05A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06CC*/ { 0x05A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06CD*/ { 0x05A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06CE*/ { 0x05A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RCPPS */ + /* ------------------------------------------------------------------------------------------ */ + /*06CF*/ { 0x05AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06D0*/ { 0x05AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RCPSS */ + /* ------------------------------------------------------------------------------------------ */ + /*06D1*/ { 0x05AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06D2*/ { 0x05AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RCR */ + /* ------------------------------------------------------------------------------------------ */ + /*06D3*/ { 0x05AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06D4*/ { 0x05AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06D5*/ { 0x05B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06D6*/ { 0x05B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06D7*/ { 0x05B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06D8*/ { 0x05B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06D9*/ { 0x05B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06DA*/ { 0x05B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06DB*/ { 0x05B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06DC*/ { 0x05B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06DD*/ { 0x05B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06DE*/ { 0x05B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDFSBASE */ + /* ------------------------------------------------------------------------------------------ */ + /*06DF*/ { 0x05BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDGSBASE */ + /* ------------------------------------------------------------------------------------------ */ + /*06E0*/ { 0x05BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDMSR */ + /* ------------------------------------------------------------------------------------------ */ + /*06E1*/ { 0x05BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDPKRU */ + /* ------------------------------------------------------------------------------------------ */ + /*06E2*/ { 0x05BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDPMC */ + /* ------------------------------------------------------------------------------------------ */ + /*06E3*/ { 0x05BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDRAND */ + /* ------------------------------------------------------------------------------------------ */ + /*06E4*/ { 0x05BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDSEED */ + /* ------------------------------------------------------------------------------------------ */ + /*06E5*/ { 0x05C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDSSPD */ + /* ------------------------------------------------------------------------------------------ */ + /*06E6*/ { 0x05C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDSSPQ */ + /* ------------------------------------------------------------------------------------------ */ + /*06E7*/ { 0x05C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDTSC */ + /* ------------------------------------------------------------------------------------------ */ + /*06E8*/ { 0x05C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RDTSCP */ + /* ------------------------------------------------------------------------------------------ */ + /*06E9*/ { 0x05C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RET */ + /* ------------------------------------------------------------------------------------------ */ + /*06EA*/ { 0x05C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06EB*/ { 0x05C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06EC*/ { 0x05C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06ED*/ { 0x05C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ROL */ + /* ------------------------------------------------------------------------------------------ */ + /*06EE*/ { 0x05C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06EF*/ { 0x05CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F0*/ { 0x05CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F1*/ { 0x05CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F2*/ { 0x05CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F3*/ { 0x05CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F4*/ { 0x05CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F5*/ { 0x05D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F6*/ { 0x05D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F7*/ { 0x05D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F8*/ { 0x05D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06F9*/ { 0x05D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ROR */ + /* ------------------------------------------------------------------------------------------ */ + /*06FA*/ { 0x05D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06FB*/ { 0x05D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06FC*/ { 0x05D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06FD*/ { 0x05D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06FE*/ { 0x05D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*06FF*/ { 0x05DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0700*/ { 0x05DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0701*/ { 0x05DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0702*/ { 0x05DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0703*/ { 0x05DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0704*/ { 0x05DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0705*/ { 0x05E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RORX */ + /* ------------------------------------------------------------------------------------------ */ + /*0706*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF0, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0707*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF0, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0708*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF0, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0709*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF0, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*070A*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF0, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*070B*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF0, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ROUNDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*070C*/ { 0x05E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*070D*/ { 0x05E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ROUNDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*070E*/ { 0x05E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*070F*/ { 0x05E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ROUNDSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0710*/ { 0x05E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0711*/ { 0x05E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* ROUNDSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0712*/ { 0x05E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0713*/ { 0x05E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RSM */ + /* ------------------------------------------------------------------------------------------ */ + /*0714*/ { 0x05E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RSQRTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0715*/ { 0x05EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0716*/ { 0x05EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RSQRTSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0717*/ { 0x05EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0718*/ { 0x05ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* RSTORSSP */ + /* ------------------------------------------------------------------------------------------ */ + /*0719*/ { 0x05EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SAHF */ + /* ------------------------------------------------------------------------------------------ */ + /*071A*/ { 0x05EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SALC */ + /* ------------------------------------------------------------------------------------------ */ + /*071B*/ { 0x05F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SAR */ + /* ------------------------------------------------------------------------------------------ */ + /*071C*/ { 0x05F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*071D*/ { 0x05F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*071E*/ { 0x05F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*071F*/ { 0x05F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0720*/ { 0x05F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0721*/ { 0x05F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0722*/ { 0x05F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0723*/ { 0x05F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0724*/ { 0x05F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0725*/ { 0x05FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0726*/ { 0x05FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0727*/ { 0x05FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SARX */ + /* ------------------------------------------------------------------------------------------ */ + /*0728*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0729*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*072A*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*072B*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*072C*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*072D*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SAVESSP */ + /* ------------------------------------------------------------------------------------------ */ + /*072E*/ { 0x05FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x04, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SBB */ + /* ------------------------------------------------------------------------------------------ */ + /*072F*/ { 0x05FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0730*/ { 0x05FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0731*/ { 0x0600, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x19, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0732*/ { 0x0601, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x19, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0733*/ { 0x0602, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0734*/ { 0x0603, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0735*/ { 0x0604, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0736*/ { 0x0605, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0737*/ { 0x0606, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0738*/ { 0x0607, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0739*/ { 0x0608, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*073A*/ { 0x0609, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*073B*/ { 0x060A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*073C*/ { 0x060B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*073D*/ { 0x060C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*073E*/ { 0x060D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*073F*/ { 0x060E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0740*/ { 0x060F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SCASB */ + /* ------------------------------------------------------------------------------------------ */ + /*0741*/ { 0x0610, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0742*/ { 0x0611, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0743*/ { 0x0612, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SCASD */ + /* ------------------------------------------------------------------------------------------ */ + /*0744*/ { 0x0613, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0745*/ { 0x0614, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0746*/ { 0x0615, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SCASQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0747*/ { 0x0616, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0748*/ { 0x0617, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0749*/ { 0x0618, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SCASW */ + /* ------------------------------------------------------------------------------------------ */ + /*074A*/ { 0x0619, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*074B*/ { 0x061A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*074C*/ { 0x061B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETB */ + /* ------------------------------------------------------------------------------------------ */ + /*074D*/ { 0x061C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x92, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*074E*/ { 0x061D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x92, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETBE */ + /* ------------------------------------------------------------------------------------------ */ + /*074F*/ { 0x061E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x96, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0750*/ { 0x061F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x96, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETL */ + /* ------------------------------------------------------------------------------------------ */ + /*0751*/ { 0x0620, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0752*/ { 0x0621, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETLE */ + /* ------------------------------------------------------------------------------------------ */ + /*0753*/ { 0x0622, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0754*/ { 0x0623, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETNB */ + /* ------------------------------------------------------------------------------------------ */ + /*0755*/ { 0x0624, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x93, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0756*/ { 0x0625, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x93, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETNBE */ + /* ------------------------------------------------------------------------------------------ */ + /*0757*/ { 0x0626, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x97, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0758*/ { 0x0627, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x97, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETNL */ + /* ------------------------------------------------------------------------------------------ */ + /*0759*/ { 0x0628, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*075A*/ { 0x0629, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETNLE */ + /* ------------------------------------------------------------------------------------------ */ + /*075B*/ { 0x062A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*075C*/ { 0x062B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETNO */ + /* ------------------------------------------------------------------------------------------ */ + /*075D*/ { 0x062C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x91, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*075E*/ { 0x062D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x91, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETNP */ + /* ------------------------------------------------------------------------------------------ */ + /*075F*/ { 0x062E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0760*/ { 0x062F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETNS */ + /* ------------------------------------------------------------------------------------------ */ + /*0761*/ { 0x0630, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0762*/ { 0x0631, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETNZ */ + /* ------------------------------------------------------------------------------------------ */ + /*0763*/ { 0x0632, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x95, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0764*/ { 0x0633, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x95, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETO */ + /* ------------------------------------------------------------------------------------------ */ + /*0765*/ { 0x0634, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0766*/ { 0x0635, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETP */ + /* ------------------------------------------------------------------------------------------ */ + /*0767*/ { 0x0636, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0768*/ { 0x0637, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETS */ + /* ------------------------------------------------------------------------------------------ */ + /*0769*/ { 0x0638, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*076A*/ { 0x0639, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETSSBSY */ + /* ------------------------------------------------------------------------------------------ */ + /*076B*/ { 0x063A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x01, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SETZ */ + /* ------------------------------------------------------------------------------------------ */ + /*076C*/ { 0x063B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x94, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*076D*/ { 0x063C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x94, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SFENCE */ + /* ------------------------------------------------------------------------------------------ */ + /*076E*/ { 0x063D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SGDT */ + /* ------------------------------------------------------------------------------------------ */ + /*076F*/ { 0x063E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0770*/ { 0x063F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHA1MSG1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0771*/ { 0x0640, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0772*/ { 0x0641, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHA1MSG2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0773*/ { 0x0642, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0774*/ { 0x0643, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHA1NEXTE */ + /* ------------------------------------------------------------------------------------------ */ + /*0775*/ { 0x0644, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0776*/ { 0x0645, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHA1RNDS4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0777*/ { 0x0646, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0778*/ { 0x0647, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHA256MSG1 */ + /* ------------------------------------------------------------------------------------------ */ + /*0779*/ { 0x0648, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*077A*/ { 0x0649, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHA256MSG2 */ + /* ------------------------------------------------------------------------------------------ */ + /*077B*/ { 0x064A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*077C*/ { 0x064B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHA256RNDS2 */ + /* ------------------------------------------------------------------------------------------ */ + /*077D*/ { 0x064C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*077E*/ { 0x064D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHL */ + /* ------------------------------------------------------------------------------------------ */ + /*077F*/ { 0x064E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0780*/ { 0x064F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0781*/ { 0x0650, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0782*/ { 0x0651, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0783*/ { 0x0652, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0784*/ { 0x0653, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0785*/ { 0x0654, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0786*/ { 0x0655, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0787*/ { 0x0656, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0788*/ { 0x0657, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0789*/ { 0x0658, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*078A*/ { 0x0659, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*078B*/ { 0x065A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*078C*/ { 0x065B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*078D*/ { 0x065C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*078E*/ { 0x065D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*078F*/ { 0x065E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0790*/ { 0x065F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0791*/ { 0x0660, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0792*/ { 0x0661, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0793*/ { 0x0662, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0794*/ { 0x0663, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0795*/ { 0x0664, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0796*/ { 0x0665, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHLD */ + /* ------------------------------------------------------------------------------------------ */ + /*0797*/ { 0x0666, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0798*/ { 0x0667, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0799*/ { 0x0668, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*079A*/ { 0x0669, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHLX */ + /* ------------------------------------------------------------------------------------------ */ + /*079B*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*079C*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*079D*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*079E*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*079F*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*07A0*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHR */ + /* ------------------------------------------------------------------------------------------ */ + /*07A1*/ { 0x066A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07A2*/ { 0x066B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07A3*/ { 0x066C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07A4*/ { 0x066D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07A5*/ { 0x066E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07A6*/ { 0x066F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07A7*/ { 0x0670, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07A8*/ { 0x0671, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07A9*/ { 0x0672, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07AA*/ { 0x0673, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07AB*/ { 0x0674, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07AC*/ { 0x0675, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHRD */ + /* ------------------------------------------------------------------------------------------ */ + /*07AD*/ { 0x0676, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07AE*/ { 0x0677, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07AF*/ { 0x0678, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07B0*/ { 0x0679, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHRX */ + /* ------------------------------------------------------------------------------------------ */ + /*07B1*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07B2*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07B3*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07B4*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07B5*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*07B6*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHUFPD */ + /* ------------------------------------------------------------------------------------------ */ + /*07B7*/ { 0x067A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07B8*/ { 0x067B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SHUFPS */ + /* ------------------------------------------------------------------------------------------ */ + /*07B9*/ { 0x067C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07BA*/ { 0x067D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SIDT */ + /* ------------------------------------------------------------------------------------------ */ + /*07BB*/ { 0x067E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07BC*/ { 0x067F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SKINIT */ + /* ------------------------------------------------------------------------------------------ */ + /*07BD*/ { 0x0680, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SLDT */ + /* ------------------------------------------------------------------------------------------ */ + /*07BE*/ { 0x0681, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07BF*/ { 0x0682, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SLWPCB */ + /* ------------------------------------------------------------------------------------------ */ + /*07C0*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x12, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SMSW */ + /* ------------------------------------------------------------------------------------------ */ + /*07C1*/ { 0x0683, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07C2*/ { 0x0684, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SPFLT */ + /* ------------------------------------------------------------------------------------------ */ + /*07C3*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07C4*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SQRTPD */ + /* ------------------------------------------------------------------------------------------ */ + /*07C5*/ { 0x0685, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07C6*/ { 0x0686, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SQRTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*07C7*/ { 0x0687, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07C8*/ { 0x0688, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SQRTSD */ + /* ------------------------------------------------------------------------------------------ */ + /*07C9*/ { 0x0689, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07CA*/ { 0x068A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SQRTSS */ + /* ------------------------------------------------------------------------------------------ */ + /*07CB*/ { 0x068B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07CC*/ { 0x068C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STAC */ + /* ------------------------------------------------------------------------------------------ */ + /*07CD*/ { 0x068D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STC */ + /* ------------------------------------------------------------------------------------------ */ + /*07CE*/ { 0x068E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STD */ + /* ------------------------------------------------------------------------------------------ */ + /*07CF*/ { 0x068F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STGI */ + /* ------------------------------------------------------------------------------------------ */ + /*07D0*/ { 0x0690, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STI */ + /* ------------------------------------------------------------------------------------------ */ + /*07D1*/ { 0x0691, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STMXCSR */ + /* ------------------------------------------------------------------------------------------ */ + /*07D2*/ { 0x0692, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STOSB */ + /* ------------------------------------------------------------------------------------------ */ + /*07D3*/ { 0x0693, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07D4*/ { 0x0694, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07D5*/ { 0x0695, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STOSD */ + /* ------------------------------------------------------------------------------------------ */ + /*07D6*/ { 0x0696, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07D7*/ { 0x0697, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07D8*/ { 0x0698, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STOSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*07D9*/ { 0x0699, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07DA*/ { 0x069A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07DB*/ { 0x069B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STOSW */ + /* ------------------------------------------------------------------------------------------ */ + /*07DC*/ { 0x069C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07DD*/ { 0x069D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07DE*/ { 0x069E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* STR */ + /* ------------------------------------------------------------------------------------------ */ + /*07DF*/ { 0x069F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E0*/ { 0x06A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SUB */ + /* ------------------------------------------------------------------------------------------ */ + /*07E1*/ { 0x06A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E2*/ { 0x06A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E3*/ { 0x06A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E4*/ { 0x06A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E5*/ { 0x06A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E6*/ { 0x06A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E7*/ { 0x06A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E8*/ { 0x06A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07E9*/ { 0x06A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07EA*/ { 0x06AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07EB*/ { 0x06AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07EC*/ { 0x06AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07ED*/ { 0x06AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07EE*/ { 0x06AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07EF*/ { 0x06AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07F0*/ { 0x06B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07F1*/ { 0x06B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07F2*/ { 0x06B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*07F3*/ { 0x06B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07F4*/ { 0x06B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*07F5*/ { 0x06B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07F6*/ { 0x06B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SUBSD */ + /* ------------------------------------------------------------------------------------------ */ + /*07F7*/ { 0x06B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07F8*/ { 0x06B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SUBSS */ + /* ------------------------------------------------------------------------------------------ */ + /*07F9*/ { 0x06B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07FA*/ { 0x06BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SWAPGS */ + /* ------------------------------------------------------------------------------------------ */ + /*07FB*/ { 0x06BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SYSCALL */ + /* ------------------------------------------------------------------------------------------ */ + /*07FC*/ { 0x06BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*07FD*/ { 0x06BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SYSENTER */ + /* ------------------------------------------------------------------------------------------ */ + /*07FE*/ { 0x06BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x34, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SYSEXIT */ + /* ------------------------------------------------------------------------------------------ */ + /*07FF*/ { 0x06BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x35, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* SYSRET */ + /* ------------------------------------------------------------------------------------------ */ + /*0800*/ { 0x06C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0801*/ { 0x06C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F , 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0802*/ { 0x06C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F , 0x04, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* T1MSKC */ + /* ------------------------------------------------------------------------------------------ */ + /*0803*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0804*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0805*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0806*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* TEST */ + /* ------------------------------------------------------------------------------------------ */ + /*0807*/ { 0x06C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x84, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0808*/ { 0x06C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x84, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0809*/ { 0x06C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x85, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*080A*/ { 0x06C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x85, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*080B*/ { 0x06C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*080C*/ { 0x06C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*080D*/ { 0x06C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*080E*/ { 0x06CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*080F*/ { 0x06CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0810*/ { 0x06CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0811*/ { 0x06CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0812*/ { 0x06CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0813*/ { 0x06CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0814*/ { 0x06D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* TZCNT */ + /* ------------------------------------------------------------------------------------------ */ + /*0815*/ { 0x06D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0816*/ { 0x06D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0817*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0818*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* TZCNTI */ + /* ------------------------------------------------------------------------------------------ */ + /*0819*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*081A*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* TZMSK */ + /* ------------------------------------------------------------------------------------------ */ + /*081B*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*081C*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*081D*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*081E*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x01, ZYDIS_OPCODE_MAP_XOP9 , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* UCOMISD */ + /* ------------------------------------------------------------------------------------------ */ + /*081F*/ { 0x06D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0820*/ { 0x06D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* UCOMISS */ + /* ------------------------------------------------------------------------------------------ */ + /*0821*/ { 0x06D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0822*/ { 0x06D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* UD2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0823*/ { 0x06D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* UNPCKHPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0824*/ { 0x06D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0825*/ { 0x06D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* UNPCKHPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0826*/ { 0x06DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0827*/ { 0x06DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* UNPCKLPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0828*/ { 0x06DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0829*/ { 0x06DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* UNPCKLPS */ + /* ------------------------------------------------------------------------------------------ */ + /*082A*/ { 0x06DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*082B*/ { 0x06DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* V4FMADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*082C*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*082D*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* V4FMADDSS */ + /* ------------------------------------------------------------------------------------------ */ + /*082E*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*082F*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* V4FNMADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0830*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0831*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* V4FNMADDSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0832*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0833*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDNPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0834*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x50, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0835*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x50, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0836*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x50, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDNPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0837*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x50, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0838*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x50, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0839*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x50, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*083A*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*083B*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*083C*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*083D*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*083E*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*083F*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0840*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0841*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0842*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0843*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0844*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0845*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0846*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0847*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0848*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0849*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*084A*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*084B*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*084C*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*084D*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*084E*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*084F*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0850*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0851*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0852*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0853*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0854*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0855*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0856*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0857*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0858*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0859*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*085A*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDSETSPS */ + /* ------------------------------------------------------------------------------------------ */ + /*085B*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*085C*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*085D*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDSS */ + /* ------------------------------------------------------------------------------------------ */ + /*085E*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*085F*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0860*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0861*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0862*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDSUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0863*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0864*/ { 0x00C4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0865*/ { 0x00C5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0866*/ { 0x00C6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VADDSUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0867*/ { 0x00C7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0868*/ { 0x00C8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0869*/ { 0x00C9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*086A*/ { 0x00CA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VAESDEC */ + /* ------------------------------------------------------------------------------------------ */ + /*086B*/ { 0x00CB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*086C*/ { 0x00CC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VAESDECLAST */ + /* ------------------------------------------------------------------------------------------ */ + /*086D*/ { 0x00CD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*086E*/ { 0x00CE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VAESENC */ + /* ------------------------------------------------------------------------------------------ */ + /*086F*/ { 0x00CF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0870*/ { 0x00D0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VAESENCLAST */ + /* ------------------------------------------------------------------------------------------ */ + /*0871*/ { 0x00D1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0872*/ { 0x00D2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VAESIMC */ + /* ------------------------------------------------------------------------------------------ */ + /*0873*/ { 0x00D3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0874*/ { 0x00D4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VAESKEYGENASSIST */ + /* ------------------------------------------------------------------------------------------ */ + /*0875*/ { 0x00D5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDF, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0876*/ { 0x00D6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDF, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VALIGND */ + /* ------------------------------------------------------------------------------------------ */ + /*0877*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0878*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0879*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*087A*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*087B*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*087C*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*087D*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*087E*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VALIGNQ */ + /* ------------------------------------------------------------------------------------------ */ + /*087F*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0880*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0881*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0882*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0883*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0884*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x03, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VANDNPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0885*/ { 0x00D7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0886*/ { 0x00D8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0887*/ { 0x00D9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0888*/ { 0x00DA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0889*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*088A*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*088B*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*088C*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*088D*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*088E*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VANDNPS */ + /* ------------------------------------------------------------------------------------------ */ + /*088F*/ { 0x00DB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0890*/ { 0x00DC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0891*/ { 0x00DD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0892*/ { 0x00DE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0893*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0894*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0895*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0896*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0897*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0898*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VANDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0899*/ { 0x00DF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*089A*/ { 0x00E0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*089B*/ { 0x00E1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*089C*/ { 0x00E2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*089D*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*089E*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*089F*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*08A0*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*08A1*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*08A2*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VANDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*08A3*/ { 0x00E3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08A4*/ { 0x00E4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08A5*/ { 0x00E5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08A6*/ { 0x00E6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08A7*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08A8*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08A9*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08AA*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08AB*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08AC*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBLENDMPD */ + /* ------------------------------------------------------------------------------------------ */ + /*08AD*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*08AE*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*08AF*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*08B0*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*08B1*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*08B2*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*08B3*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*08B4*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*08B5*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBLENDMPS */ + /* ------------------------------------------------------------------------------------------ */ + /*08B6*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08B7*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08B8*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08B9*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08BA*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08BB*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08BC*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08BD*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*08BE*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x65, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBLENDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*08BF*/ { 0x00E7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08C0*/ { 0x00E8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08C1*/ { 0x00E9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08C2*/ { 0x00EA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBLENDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*08C3*/ { 0x00EB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08C4*/ { 0x00EC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08C5*/ { 0x00ED, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08C6*/ { 0x00EE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBLENDVPD */ + /* ------------------------------------------------------------------------------------------ */ + /*08C7*/ { 0x00EF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08C8*/ { 0x00F0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08C9*/ { 0x00F1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08CA*/ { 0x00F2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBLENDVPS */ + /* ------------------------------------------------------------------------------------------ */ + /*08CB*/ { 0x00F3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08CC*/ { 0x00F4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08CD*/ { 0x00F5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08CE*/ { 0x00F6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTF128 */ + /* ------------------------------------------------------------------------------------------ */ + /*08CF*/ { 0x00F7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTF32X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*08D0*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08D1*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08D2*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08D3*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTF32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*08D4*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08D5*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08D6*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x1A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTF32X8 */ + /* ------------------------------------------------------------------------------------------ */ + /*08D7*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTF64X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*08D8*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*08D9*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTF64X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*08DA*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*08DB*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x1B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTI128 */ + /* ------------------------------------------------------------------------------------------ */ + /*08DC*/ { 0x00F8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTI32X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*08DD*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08DE*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08DF*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08E0*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08E1*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08E2*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTI32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*08E3*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08E4*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08E5*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTI32X8 */ + /* ------------------------------------------------------------------------------------------ */ + /*08E6*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTI64X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*08E7*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*08E8*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTI64X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*08E9*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*08EA*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTSD */ + /* ------------------------------------------------------------------------------------------ */ + /*08EB*/ { 0x00F9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08EC*/ { 0x00FA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08ED*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*08EE*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*08EF*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*08F0*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*08F1*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x19, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VBROADCASTSS */ + /* ------------------------------------------------------------------------------------------ */ + /*08F2*/ { 0x00FB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08F3*/ { 0x00FC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08F4*/ { 0x00FD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08F5*/ { 0x00FE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08F6*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08F7*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08F8*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08F9*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*08FA*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08FB*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*08FC*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCMPPD */ + /* ------------------------------------------------------------------------------------------ */ + /*08FD*/ { 0x00FF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08FE*/ { 0x0100, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*08FF*/ { 0x0101, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0900*/ { 0x0102, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0901*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0902*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0903*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0904*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0905*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0906*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0907*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0908*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0909*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*090A*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCMPPS */ + /* ------------------------------------------------------------------------------------------ */ + /*090B*/ { 0x0103, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*090C*/ { 0x0104, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*090D*/ { 0x0105, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*090E*/ { 0x0106, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*090F*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0910*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0911*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0912*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0913*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0914*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0915*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0916*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0917*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0918*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCMPSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0919*/ { 0x0107, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*091A*/ { 0x0108, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*091B*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*091C*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*091D*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCMPSS */ + /* ------------------------------------------------------------------------------------------ */ + /*091E*/ { 0x0109, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*091F*/ { 0x010A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0920*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0921*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0922*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCOMISD */ + /* ------------------------------------------------------------------------------------------ */ + /*0923*/ { 0x010B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0924*/ { 0x010C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0925*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0926*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0927*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCOMISS */ + /* ------------------------------------------------------------------------------------------ */ + /*0928*/ { 0x010D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0929*/ { 0x010E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*092A*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*092B*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*092C*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCOMPRESSPD */ + /* ------------------------------------------------------------------------------------------ */ + /*092D*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*092E*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*092F*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0930*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0931*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0932*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCOMPRESSPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0933*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0934*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0935*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0936*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0937*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0938*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTDQ2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0939*/ { 0x010F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*093A*/ { 0x0110, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*093B*/ { 0x0111, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*093C*/ { 0x0112, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*093D*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*093E*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*093F*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0940*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0941*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0942*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0943*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0944*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0945*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTDQ2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0946*/ { 0x0113, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0947*/ { 0x0114, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0948*/ { 0x0115, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0949*/ { 0x0116, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*094A*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*094B*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*094C*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*094D*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*094E*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*094F*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0950*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTFXPNTDQ2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0951*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0952*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0953*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTFXPNTPD2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0954*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xE6, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0955*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xE6, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0956*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xE6, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTFXPNTPD2UDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0957*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0958*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /*0959*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTFXPNTPS2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*095A*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*095B*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*095C*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTFXPNTPS2UDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*095D*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*095E*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*095F*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTFXPNTUDQ2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0960*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0961*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0962*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPD2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0963*/ { 0x0117, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0964*/ { 0x0118, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0965*/ { 0x0119, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0966*/ { 0x011A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0967*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0968*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0969*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*096A*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*096B*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*096C*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*096D*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPD2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*096E*/ { 0x011B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*096F*/ { 0x011C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0970*/ { 0x011D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0971*/ { 0x011E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0972*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0973*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0974*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0975*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0976*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0977*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0978*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0979*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*097A*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*097B*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPD2QQ */ + /* ------------------------------------------------------------------------------------------ */ + /*097C*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*097D*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*097E*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*097F*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0980*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0981*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0982*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPD2UDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0983*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0984*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0985*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0986*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0987*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0988*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0989*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPD2UQQ */ + /* ------------------------------------------------------------------------------------------ */ + /*098A*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*098B*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*098C*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*098D*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*098E*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*098F*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0990*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPH2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0991*/ { 0x011F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0992*/ { 0x0120, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0993*/ { 0x0121, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0994*/ { 0x0122, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0995*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0996*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0997*/ { 0x00C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0998*/ { 0x00C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0999*/ { 0x00C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*099A*/ { 0x00C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*099B*/ { 0x00C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPS2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*099C*/ { 0x0123, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*099D*/ { 0x0124, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*099E*/ { 0x0125, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*099F*/ { 0x0126, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09A0*/ { 0x00C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09A1*/ { 0x00CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09A2*/ { 0x00CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09A3*/ { 0x00CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09A4*/ { 0x00CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*09A5*/ { 0x00CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*09A6*/ { 0x00CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPS2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*09A7*/ { 0x0127, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09A8*/ { 0x0128, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09A9*/ { 0x0129, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09AA*/ { 0x012A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09AB*/ { 0x00D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09AC*/ { 0x00D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09AD*/ { 0x00D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09AE*/ { 0x00D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09AF*/ { 0x00D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*09B0*/ { 0x00D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*09B1*/ { 0x00D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*09B2*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09B3*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*09B4*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPS2PH */ + /* ------------------------------------------------------------------------------------------ */ + /*09B5*/ { 0x012B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09B6*/ { 0x012C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09B7*/ { 0x012D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09B8*/ { 0x012E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09B9*/ { 0x00D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09BA*/ { 0x00D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09BB*/ { 0x00D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09BC*/ { 0x00DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09BD*/ { 0x00DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*09BE*/ { 0x00DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*09BF*/ { 0x00DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPS2QQ */ + /* ------------------------------------------------------------------------------------------ */ + /*09C0*/ { 0x00DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09C1*/ { 0x00DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09C2*/ { 0x00E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09C3*/ { 0x00E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09C4*/ { 0x00E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*09C5*/ { 0x00E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*09C6*/ { 0x00E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPS2UDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*09C7*/ { 0x00E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09C8*/ { 0x00E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09C9*/ { 0x00E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09CA*/ { 0x00E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09CB*/ { 0x00E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*09CC*/ { 0x00EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*09CD*/ { 0x00EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTPS2UQQ */ + /* ------------------------------------------------------------------------------------------ */ + /*09CE*/ { 0x00EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09CF*/ { 0x00ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09D0*/ { 0x00EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09D1*/ { 0x00EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*09D2*/ { 0x00F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*09D3*/ { 0x00F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*09D4*/ { 0x00F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTQQ2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*09D5*/ { 0x00F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09D6*/ { 0x00F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09D7*/ { 0x00F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*09D8*/ { 0x00F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*09D9*/ { 0x00F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*09DA*/ { 0x00F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*09DB*/ { 0x00F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTQQ2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*09DC*/ { 0x00FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09DD*/ { 0x00FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09DE*/ { 0x00FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*09DF*/ { 0x00FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*09E0*/ { 0x00FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*09E1*/ { 0x00FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*09E2*/ { 0x0100, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTSD2SI */ + /* ------------------------------------------------------------------------------------------ */ + /*09E3*/ { 0x012F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09E4*/ { 0x0130, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09E5*/ { 0x0131, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09E6*/ { 0x0132, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09E7*/ { 0x0133, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09E8*/ { 0x0134, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09E9*/ { 0x0101, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09EA*/ { 0x0102, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*09EB*/ { 0x0103, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09EC*/ { 0x0104, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09ED*/ { 0x0105, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*09EE*/ { 0x0106, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTSD2SS */ + /* ------------------------------------------------------------------------------------------ */ + /*09EF*/ { 0x0135, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09F0*/ { 0x0136, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09F1*/ { 0x0107, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09F2*/ { 0x0108, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*09F3*/ { 0x0109, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTSD2USI */ + /* ------------------------------------------------------------------------------------------ */ + /*09F4*/ { 0x010A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09F5*/ { 0x010B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*09F6*/ { 0x010C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09F7*/ { 0x010D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09F8*/ { 0x010E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*09F9*/ { 0x010F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTSI2SD */ + /* ------------------------------------------------------------------------------------------ */ + /*09FA*/ { 0x0137, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09FB*/ { 0x0138, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09FC*/ { 0x0139, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09FD*/ { 0x013A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*09FE*/ { 0x013B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*09FF*/ { 0x013C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A00*/ { 0x0110, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A01*/ { 0x0111, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A02*/ { 0x0112, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A03*/ { 0x0113, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A04*/ { 0x0114, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTSI2SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0A05*/ { 0x013D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A06*/ { 0x013E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A07*/ { 0x013F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A08*/ { 0x0140, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A09*/ { 0x0141, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A0A*/ { 0x0142, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A0B*/ { 0x0115, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A0C*/ { 0x0116, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A0D*/ { 0x0117, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A0E*/ { 0x0118, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A0F*/ { 0x0119, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A10*/ { 0x011A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTSS2SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0A11*/ { 0x0143, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A12*/ { 0x0144, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A13*/ { 0x011B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A14*/ { 0x011C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A15*/ { 0x011D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTSS2SI */ + /* ------------------------------------------------------------------------------------------ */ + /*0A16*/ { 0x0145, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A17*/ { 0x0146, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A18*/ { 0x0147, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A19*/ { 0x0148, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A1A*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A1B*/ { 0x014A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A1C*/ { 0x011E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A1D*/ { 0x011F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A1E*/ { 0x0120, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A1F*/ { 0x0121, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A20*/ { 0x0122, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A21*/ { 0x0123, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTSS2USI */ + /* ------------------------------------------------------------------------------------------ */ + /*0A22*/ { 0x0124, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A23*/ { 0x0125, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A24*/ { 0x0126, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A25*/ { 0x0127, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A26*/ { 0x0128, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A27*/ { 0x0129, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTPD2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0A28*/ { 0x014B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A29*/ { 0x014C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A2A*/ { 0x014D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A2B*/ { 0x014E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A2C*/ { 0x012A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A2D*/ { 0x012B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A2E*/ { 0x012C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A2F*/ { 0x012D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A30*/ { 0x012E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0A31*/ { 0x012F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A32*/ { 0x0130, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTPD2QQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0A33*/ { 0x0131, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A34*/ { 0x0132, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A35*/ { 0x0133, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A36*/ { 0x0134, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A37*/ { 0x0135, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0A38*/ { 0x0136, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A39*/ { 0x0137, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTPD2UDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0A3A*/ { 0x0138, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A3B*/ { 0x0139, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A3C*/ { 0x013A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A3D*/ { 0x013B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A3E*/ { 0x013C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0A3F*/ { 0x013D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A40*/ { 0x013E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTPD2UQQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0A41*/ { 0x013F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A42*/ { 0x0140, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A43*/ { 0x0141, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A44*/ { 0x0142, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A45*/ { 0x0143, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0A46*/ { 0x0144, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A47*/ { 0x0145, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTPS2DQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0A48*/ { 0x014F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A49*/ { 0x0150, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A4A*/ { 0x0151, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A4B*/ { 0x0152, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A4C*/ { 0x0146, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A4D*/ { 0x0147, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A4E*/ { 0x0148, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A4F*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A50*/ { 0x014A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0A51*/ { 0x014B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A52*/ { 0x014C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTPS2QQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0A53*/ { 0x014D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A54*/ { 0x014E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A55*/ { 0x014F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A56*/ { 0x0150, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A57*/ { 0x0151, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0A58*/ { 0x0152, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A59*/ { 0x0153, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTPS2UDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0A5A*/ { 0x0154, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A5B*/ { 0x0155, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A5C*/ { 0x0156, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A5D*/ { 0x0157, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A5E*/ { 0x0158, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0A5F*/ { 0x0159, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A60*/ { 0x015A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTPS2UQQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0A61*/ { 0x015B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A62*/ { 0x015C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A63*/ { 0x015D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A64*/ { 0x015E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A65*/ { 0x015F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0A66*/ { 0x0160, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A67*/ { 0x0161, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTSD2SI */ + /* ------------------------------------------------------------------------------------------ */ + /*0A68*/ { 0x0153, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A69*/ { 0x0154, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A6A*/ { 0x0155, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A6B*/ { 0x0156, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A6C*/ { 0x0157, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A6D*/ { 0x0158, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A6E*/ { 0x0162, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A6F*/ { 0x0163, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A70*/ { 0x0164, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A71*/ { 0x0165, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A72*/ { 0x0166, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A73*/ { 0x0167, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTSD2USI */ + /* ------------------------------------------------------------------------------------------ */ + /*0A74*/ { 0x0168, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A75*/ { 0x0169, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A76*/ { 0x016A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A77*/ { 0x016B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A78*/ { 0x016C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A79*/ { 0x016D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTSS2SI */ + /* ------------------------------------------------------------------------------------------ */ + /*0A7A*/ { 0x0159, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A7B*/ { 0x015A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A7C*/ { 0x015B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A7D*/ { 0x015C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A7E*/ { 0x015D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A7F*/ { 0x015E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A80*/ { 0x016E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A81*/ { 0x016F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A82*/ { 0x0170, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A83*/ { 0x0171, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A84*/ { 0x0172, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A85*/ { 0x0173, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTTSS2USI */ + /* ------------------------------------------------------------------------------------------ */ + /*0A86*/ { 0x0174, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A87*/ { 0x0175, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A88*/ { 0x0176, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A89*/ { 0x0177, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A8A*/ { 0x0178, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0A8B*/ { 0x0179, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTUDQ2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0A8C*/ { 0x017A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A8D*/ { 0x017B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A8E*/ { 0x017C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A8F*/ { 0x017D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A90*/ { 0x017E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0A91*/ { 0x017F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0A92*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A93*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0A94*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTUDQ2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0A95*/ { 0x0180, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A96*/ { 0x0181, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0A97*/ { 0x0182, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A98*/ { 0x0183, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0A99*/ { 0x0184, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0A9A*/ { 0x0185, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0A9B*/ { 0x0186, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTUQQ2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0A9C*/ { 0x0187, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A9D*/ { 0x0188, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0A9E*/ { 0x0189, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0A9F*/ { 0x018A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0AA0*/ { 0x018B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0AA1*/ { 0x018C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0AA2*/ { 0x018D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTUQQ2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0AA3*/ { 0x018E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AA4*/ { 0x018F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AA5*/ { 0x0190, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0AA6*/ { 0x0191, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0AA7*/ { 0x0192, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0AA8*/ { 0x0193, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0AA9*/ { 0x0194, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTUSI2SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0AAA*/ { 0x0195, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AAB*/ { 0x0196, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AAC*/ { 0x0197, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AAD*/ { 0x0198, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0AAE*/ { 0x0199, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VCVTUSI2SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0AAF*/ { 0x019A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AB0*/ { 0x019B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0AB1*/ { 0x019C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AB2*/ { 0x019D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AB3*/ { 0x019E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0AB4*/ { 0x019F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VDBPSADBW */ + /* ------------------------------------------------------------------------------------------ */ + /*0AB5*/ { 0x01A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AB6*/ { 0x01A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AB7*/ { 0x01A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AB8*/ { 0x01A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AB9*/ { 0x01A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0ABA*/ { 0x01A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VDIVPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0ABB*/ { 0x015F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ABC*/ { 0x0160, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ABD*/ { 0x0161, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0ABE*/ { 0x0162, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0ABF*/ { 0x01A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AC0*/ { 0x01A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AC1*/ { 0x01A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0AC2*/ { 0x01A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0AC3*/ { 0x01AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0AC4*/ { 0x01AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0AC5*/ { 0x01AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VDIVPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0AC6*/ { 0x0163, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AC7*/ { 0x0164, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AC8*/ { 0x0165, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AC9*/ { 0x0166, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0ACA*/ { 0x01AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ACB*/ { 0x01AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ACC*/ { 0x01AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0ACD*/ { 0x01B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0ACE*/ { 0x01B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0ACF*/ { 0x01B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0AD0*/ { 0x01B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VDIVSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0AD1*/ { 0x0167, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AD2*/ { 0x0168, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AD3*/ { 0x01B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AD4*/ { 0x01B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0AD5*/ { 0x01B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VDIVSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0AD6*/ { 0x0169, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AD7*/ { 0x016A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AD8*/ { 0x01B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AD9*/ { 0x01B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0ADA*/ { 0x01B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VDPPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0ADB*/ { 0x016B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ADC*/ { 0x016C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VDPPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0ADD*/ { 0x016D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x40, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ADE*/ { 0x016E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x40, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ADF*/ { 0x016F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x40, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AE0*/ { 0x0170, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x40, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VERR */ + /* ------------------------------------------------------------------------------------------ */ + /*0AE1*/ { 0x06E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AE2*/ { 0x06E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VERW */ + /* ------------------------------------------------------------------------------------------ */ + /*0AE3*/ { 0x06E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AE4*/ { 0x06E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXP223PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0AE5*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AE6*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*0AE7*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXP2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0AE8*/ { 0x01BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0AE9*/ { 0x01BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0AEA*/ { 0x01BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXP2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0AEB*/ { 0x01BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0AEC*/ { 0x01BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0AED*/ { 0x01BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXPANDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0AEE*/ { 0x01C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AEF*/ { 0x01C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0AF0*/ { 0x01C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0AF1*/ { 0x01C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0AF2*/ { 0x01C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0AF3*/ { 0x01C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXPANDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0AF4*/ { 0x01C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AF5*/ { 0x01C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0AF6*/ { 0x01C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AF7*/ { 0x01C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AF8*/ { 0x01CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0AF9*/ { 0x01CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x88, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTF128 */ + /* ------------------------------------------------------------------------------------------ */ + /*0AFA*/ { 0x0171, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AFB*/ { 0x0172, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTF32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0AFC*/ { 0x01CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AFD*/ { 0x01CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0AFE*/ { 0x01CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0AFF*/ { 0x01CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTF32X8 */ + /* ------------------------------------------------------------------------------------------ */ + /*0B00*/ { 0x01D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B01*/ { 0x01D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTF64X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0B02*/ { 0x01D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B03*/ { 0x01D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B04*/ { 0x01D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B05*/ { 0x01D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x19, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTF64X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0B06*/ { 0x01D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B07*/ { 0x01D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTI128 */ + /* ------------------------------------------------------------------------------------------ */ + /*0B08*/ { 0x0173, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B09*/ { 0x0174, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTI32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0B0A*/ { 0x01D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B0B*/ { 0x01D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B0C*/ { 0x01DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B0D*/ { 0x01DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTI32X8 */ + /* ------------------------------------------------------------------------------------------ */ + /*0B0E*/ { 0x01DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B0F*/ { 0x01DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTI64X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0B10*/ { 0x01DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B11*/ { 0x01DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B12*/ { 0x01E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B13*/ { 0x01E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTI64X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0B14*/ { 0x01E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B15*/ { 0x01E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VEXTRACTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B16*/ { 0x0175, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x17, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B17*/ { 0x0176, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x17, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B18*/ { 0x01E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x17, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B19*/ { 0x01E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x17, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFIXUPIMMPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B1A*/ { 0x01E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B1B*/ { 0x01E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B1C*/ { 0x01E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B1D*/ { 0x01E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B1E*/ { 0x01EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B1F*/ { 0x01EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0B20*/ { 0x01EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFIXUPIMMPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B21*/ { 0x01ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B22*/ { 0x01EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B23*/ { 0x01EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B24*/ { 0x01F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B25*/ { 0x01F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B26*/ { 0x01F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0B27*/ { 0x01F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x54, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFIXUPIMMSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B28*/ { 0x01F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B29*/ { 0x01F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0B2A*/ { 0x01F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFIXUPIMMSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B2B*/ { 0x01F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B2C*/ { 0x01F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0B2D*/ { 0x01F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFIXUPNANPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B2E*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B2F*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0B30*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFIXUPNANPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B31*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B32*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0B33*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD132PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B34*/ { 0x0177, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B35*/ { 0x0178, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B36*/ { 0x0179, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B37*/ { 0x017A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B38*/ { 0x01FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B39*/ { 0x01FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B3A*/ { 0x01FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B3B*/ { 0x01FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B3C*/ { 0x01FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B3D*/ { 0x01FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0B3E*/ { 0x0200, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B3F*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B40*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0B41*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD132PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B42*/ { 0x017B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B43*/ { 0x017C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B44*/ { 0x017D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B45*/ { 0x017E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B46*/ { 0x0201, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B47*/ { 0x0202, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B48*/ { 0x0203, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B49*/ { 0x0204, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B4A*/ { 0x0205, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B4B*/ { 0x0206, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0B4C*/ { 0x0207, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B4D*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B4E*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0B4F*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x98, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD132SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B50*/ { 0x017F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B51*/ { 0x0180, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B52*/ { 0x0208, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B53*/ { 0x0209, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0B54*/ { 0x020A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD132SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B55*/ { 0x0181, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B56*/ { 0x0182, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B57*/ { 0x020B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B58*/ { 0x020C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0B59*/ { 0x020D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x99, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD213PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B5A*/ { 0x0183, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B5B*/ { 0x0184, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B5C*/ { 0x0185, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B5D*/ { 0x0186, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B5E*/ { 0x020E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B5F*/ { 0x020F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B60*/ { 0x0210, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B61*/ { 0x0211, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B62*/ { 0x0212, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B63*/ { 0x0213, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0B64*/ { 0x0214, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B65*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B66*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0B67*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD213PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B68*/ { 0x0187, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B69*/ { 0x0188, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B6A*/ { 0x0189, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B6B*/ { 0x018A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B6C*/ { 0x0215, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B6D*/ { 0x0216, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B6E*/ { 0x0217, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B6F*/ { 0x0218, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B70*/ { 0x0219, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B71*/ { 0x021A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0B72*/ { 0x021B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B73*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B74*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0B75*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD213SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B76*/ { 0x018B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B77*/ { 0x018C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B78*/ { 0x021C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B79*/ { 0x021D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0B7A*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD213SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B7B*/ { 0x018D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B7C*/ { 0x018E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B7D*/ { 0x021F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B7E*/ { 0x0220, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0B7F*/ { 0x0221, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD231PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B80*/ { 0x018F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B81*/ { 0x0190, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B82*/ { 0x0191, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B83*/ { 0x0192, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B84*/ { 0x0222, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B85*/ { 0x0223, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B86*/ { 0x0224, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B87*/ { 0x0225, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0B88*/ { 0x0226, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B89*/ { 0x0227, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0B8A*/ { 0x0228, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0B8B*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B8C*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0B8D*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD231PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0B8E*/ { 0x0193, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B8F*/ { 0x0194, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B90*/ { 0x0195, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B91*/ { 0x0196, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B92*/ { 0x0229, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B93*/ { 0x022A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B94*/ { 0x022B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B95*/ { 0x022C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0B96*/ { 0x022D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B97*/ { 0x022E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0B98*/ { 0x022F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0B99*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0B9A*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0B9B*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB8, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD231SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0B9C*/ { 0x0197, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B9D*/ { 0x0198, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B9E*/ { 0x0230, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0B9F*/ { 0x0231, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0BA0*/ { 0x0232, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD231SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0BA1*/ { 0x0199, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BA2*/ { 0x019A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BA3*/ { 0x0233, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BA4*/ { 0x0234, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0BA5*/ { 0x0235, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADD233PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0BA6*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BA7*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0BA8*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0BA9*/ { 0x019B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BAA*/ { 0x019C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BAB*/ { 0x019D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BAC*/ { 0x019E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BAD*/ { 0x019F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BAE*/ { 0x01A0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BAF*/ { 0x01A1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BB0*/ { 0x01A2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0BB1*/ { 0x01A3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BB2*/ { 0x01A4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BB3*/ { 0x01A5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BB4*/ { 0x01A6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BB5*/ { 0x01A7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BB6*/ { 0x01A8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BB7*/ { 0x01A9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BB8*/ { 0x01AA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0BB9*/ { 0x01AB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BBA*/ { 0x01AC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BBB*/ { 0x01AD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BBC*/ { 0x01AE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0BBD*/ { 0x01AF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BBE*/ { 0x01B0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BBF*/ { 0x01B1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BC0*/ { 0x01B2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSUB132PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0BC1*/ { 0x01B3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BC2*/ { 0x01B4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BC3*/ { 0x01B5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BC4*/ { 0x01B6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BC5*/ { 0x0236, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BC6*/ { 0x0237, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BC7*/ { 0x0238, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BC8*/ { 0x0239, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BC9*/ { 0x023A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0BCA*/ { 0x023B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0BCB*/ { 0x023C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSUB132PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0BCC*/ { 0x01B7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BCD*/ { 0x01B8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BCE*/ { 0x01B9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BCF*/ { 0x01BA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BD0*/ { 0x023D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BD1*/ { 0x023E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BD2*/ { 0x023F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BD3*/ { 0x0240, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BD4*/ { 0x0241, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0BD5*/ { 0x0242, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0BD6*/ { 0x0243, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x96, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSUB213PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0BD7*/ { 0x01BB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BD8*/ { 0x01BC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BD9*/ { 0x01BD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BDA*/ { 0x01BE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BDB*/ { 0x0244, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BDC*/ { 0x0245, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BDD*/ { 0x0246, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BDE*/ { 0x0247, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BDF*/ { 0x0248, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0BE0*/ { 0x0249, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0BE1*/ { 0x024A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSUB213PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0BE2*/ { 0x01BF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BE3*/ { 0x01C0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BE4*/ { 0x01C1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BE5*/ { 0x01C2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BE6*/ { 0x024B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BE7*/ { 0x024C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BE8*/ { 0x024D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BE9*/ { 0x024E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BEA*/ { 0x024F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0BEB*/ { 0x0250, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0BEC*/ { 0x0251, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSUB231PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0BED*/ { 0x01C3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BEE*/ { 0x01C4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BEF*/ { 0x01C5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BF0*/ { 0x01C6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BF1*/ { 0x0252, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BF2*/ { 0x0253, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0BF3*/ { 0x0254, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BF4*/ { 0x0255, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0BF5*/ { 0x0256, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0BF6*/ { 0x0257, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0BF7*/ { 0x0258, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSUB231PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0BF8*/ { 0x01C7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BF9*/ { 0x01C8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BFA*/ { 0x01C9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BFB*/ { 0x01CA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BFC*/ { 0x0259, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BFD*/ { 0x025A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0BFE*/ { 0x025B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0BFF*/ { 0x025C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C00*/ { 0x025D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0C01*/ { 0x025E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0C02*/ { 0x025F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C03*/ { 0x01CB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C04*/ { 0x01CC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C05*/ { 0x01CD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C06*/ { 0x01CE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C07*/ { 0x01CF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C08*/ { 0x01D0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C09*/ { 0x01D1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C0A*/ { 0x01D2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMADDSUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0C0B*/ { 0x01D3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C0C*/ { 0x01D4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C0D*/ { 0x01D5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C0E*/ { 0x01D6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C0F*/ { 0x01D7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C10*/ { 0x01D8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C11*/ { 0x01D9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C12*/ { 0x01DA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB132PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C13*/ { 0x01DB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C14*/ { 0x01DC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C15*/ { 0x01DD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C16*/ { 0x01DE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C17*/ { 0x0260, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C18*/ { 0x0261, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C19*/ { 0x0262, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C1A*/ { 0x0263, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C1B*/ { 0x0264, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0C1C*/ { 0x0265, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0C1D*/ { 0x0266, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0C1E*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C1F*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0C20*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB132PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0C21*/ { 0x01DF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C22*/ { 0x01E0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C23*/ { 0x01E1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C24*/ { 0x01E2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C25*/ { 0x0267, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C26*/ { 0x0268, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C27*/ { 0x0269, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C28*/ { 0x026A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C29*/ { 0x026B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0C2A*/ { 0x026C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0C2B*/ { 0x026D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0C2C*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C2D*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0C2E*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB132SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C2F*/ { 0x01E3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C30*/ { 0x01E4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C31*/ { 0x026E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C32*/ { 0x026F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0C33*/ { 0x0270, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB132SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0C34*/ { 0x01E5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C35*/ { 0x01E6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C36*/ { 0x0271, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C37*/ { 0x0272, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0C38*/ { 0x0273, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB213PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C39*/ { 0x01E7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C3A*/ { 0x01E8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C3B*/ { 0x01E9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C3C*/ { 0x01EA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C3D*/ { 0x0274, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C3E*/ { 0x0275, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C3F*/ { 0x0276, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C40*/ { 0x0277, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C41*/ { 0x0278, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0C42*/ { 0x0279, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0C43*/ { 0x027A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0C44*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C45*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0C46*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB213PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0C47*/ { 0x01EB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C48*/ { 0x01EC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C49*/ { 0x01ED, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C4A*/ { 0x01EE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C4B*/ { 0x027B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C4C*/ { 0x027C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C4D*/ { 0x027D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C4E*/ { 0x027E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C4F*/ { 0x027F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0C50*/ { 0x0280, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0C51*/ { 0x0281, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0C52*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C53*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0C54*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB213SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C55*/ { 0x01EF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C56*/ { 0x01F0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C57*/ { 0x0282, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C58*/ { 0x0283, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0C59*/ { 0x0284, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB213SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0C5A*/ { 0x01F1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C5B*/ { 0x01F2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C5C*/ { 0x0285, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C5D*/ { 0x0286, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0C5E*/ { 0x0287, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB231PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C5F*/ { 0x01F3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C60*/ { 0x01F4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C61*/ { 0x01F5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C62*/ { 0x01F6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C63*/ { 0x0288, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C64*/ { 0x0289, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C65*/ { 0x028A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C66*/ { 0x028B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C67*/ { 0x028C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0C68*/ { 0x028D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0C69*/ { 0x028E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0C6A*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C6B*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0C6C*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB231PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0C6D*/ { 0x01F7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C6E*/ { 0x01F8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C6F*/ { 0x01F9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C70*/ { 0x01FA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C71*/ { 0x028F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C72*/ { 0x0290, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C73*/ { 0x0291, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C74*/ { 0x0292, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C75*/ { 0x0293, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0C76*/ { 0x0294, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0C77*/ { 0x0295, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0C78*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C79*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0C7A*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB231SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C7B*/ { 0x01FB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C7C*/ { 0x01FC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C7D*/ { 0x0296, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C7E*/ { 0x0297, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0C7F*/ { 0x0298, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUB231SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0C80*/ { 0x01FD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C81*/ { 0x01FE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C82*/ { 0x0299, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C83*/ { 0x029A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0C84*/ { 0x029B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBADD132PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C85*/ { 0x01FF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C86*/ { 0x0200, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C87*/ { 0x0201, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C88*/ { 0x0202, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C89*/ { 0x029C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C8A*/ { 0x029D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C8B*/ { 0x029E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C8C*/ { 0x029F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C8D*/ { 0x02A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0C8E*/ { 0x02A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0C8F*/ { 0x02A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBADD132PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0C90*/ { 0x0203, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C91*/ { 0x0204, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C92*/ { 0x0205, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C93*/ { 0x0206, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C94*/ { 0x02A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C95*/ { 0x02A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0C96*/ { 0x02A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C97*/ { 0x02A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0C98*/ { 0x02A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0C99*/ { 0x02A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0C9A*/ { 0x02A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x97, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBADD213PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0C9B*/ { 0x0207, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C9C*/ { 0x0208, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0C9D*/ { 0x0209, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C9E*/ { 0x020A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0C9F*/ { 0x02AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CA0*/ { 0x02AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CA1*/ { 0x02AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CA2*/ { 0x02AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CA3*/ { 0x02AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0CA4*/ { 0x02AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0CA5*/ { 0x02B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBADD213PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0CA6*/ { 0x020B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CA7*/ { 0x020C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CA8*/ { 0x020D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CA9*/ { 0x020E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CAA*/ { 0x02B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CAB*/ { 0x02B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CAC*/ { 0x02B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CAD*/ { 0x02B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CAE*/ { 0x02B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0CAF*/ { 0x02B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0CB0*/ { 0x02B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBADD231PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0CB1*/ { 0x020F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CB2*/ { 0x0210, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CB3*/ { 0x0211, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CB4*/ { 0x0212, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CB5*/ { 0x02B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CB6*/ { 0x02B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CB7*/ { 0x02BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CB8*/ { 0x02BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CB9*/ { 0x02BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0CBA*/ { 0x02BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0CBB*/ { 0x02BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBADD231PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0CBC*/ { 0x0213, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CBD*/ { 0x0214, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CBE*/ { 0x0215, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CBF*/ { 0x0216, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CC0*/ { 0x02BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CC1*/ { 0x02C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CC2*/ { 0x02C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CC3*/ { 0x02C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CC4*/ { 0x02C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0CC5*/ { 0x02C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0CC6*/ { 0x02C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBADDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0CC7*/ { 0x0217, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CC8*/ { 0x0218, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CC9*/ { 0x0219, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CCA*/ { 0x021A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CCB*/ { 0x021B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CCC*/ { 0x021C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CCD*/ { 0x021D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CCE*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0CCF*/ { 0x021F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CD0*/ { 0x0220, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CD1*/ { 0x0221, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CD2*/ { 0x0222, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CD3*/ { 0x0223, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CD4*/ { 0x0224, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CD5*/ { 0x0225, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CD6*/ { 0x0226, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0CD7*/ { 0x0227, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CD8*/ { 0x0228, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CD9*/ { 0x0229, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CDA*/ { 0x022A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CDB*/ { 0x022B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CDC*/ { 0x022C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CDD*/ { 0x022D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CDE*/ { 0x022E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0CDF*/ { 0x022F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CE0*/ { 0x0230, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CE1*/ { 0x0231, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CE2*/ { 0x0232, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CE3*/ { 0x0233, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CE4*/ { 0x0234, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0CE5*/ { 0x0235, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CE6*/ { 0x0236, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0CE7*/ { 0x0237, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CE8*/ { 0x0238, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CE9*/ { 0x0239, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CEA*/ { 0x023A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFMSUBSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0CEB*/ { 0x023B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CEC*/ { 0x023C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CED*/ { 0x023D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CEE*/ { 0x023E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD132PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0CEF*/ { 0x023F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CF0*/ { 0x0240, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CF1*/ { 0x0241, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CF2*/ { 0x0242, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CF3*/ { 0x02C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CF4*/ { 0x02C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CF5*/ { 0x02C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CF6*/ { 0x02C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0CF7*/ { 0x02CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0CF8*/ { 0x02CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0CF9*/ { 0x02CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0CFA*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0CFB*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0CFC*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD132PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0CFD*/ { 0x0243, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CFE*/ { 0x0244, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0CFF*/ { 0x0245, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D00*/ { 0x0246, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D01*/ { 0x02CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D02*/ { 0x02CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D03*/ { 0x02CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D04*/ { 0x02D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D05*/ { 0x02D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0D06*/ { 0x02D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0D07*/ { 0x02D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0D08*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D09*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0D0A*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD132SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D0B*/ { 0x0247, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D0C*/ { 0x0248, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D0D*/ { 0x02D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D0E*/ { 0x02D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0D0F*/ { 0x02D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD132SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D10*/ { 0x0249, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D11*/ { 0x024A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D12*/ { 0x02D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D13*/ { 0x02D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0D14*/ { 0x02D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD213PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D15*/ { 0x024B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D16*/ { 0x024C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D17*/ { 0x024D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D18*/ { 0x024E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D19*/ { 0x02DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D1A*/ { 0x02DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D1B*/ { 0x02DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D1C*/ { 0x02DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D1D*/ { 0x02DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0D1E*/ { 0x02DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0D1F*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0D20*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D21*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0D22*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD213PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D23*/ { 0x024F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D24*/ { 0x0250, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D25*/ { 0x0251, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D26*/ { 0x0252, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D27*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D28*/ { 0x02E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D29*/ { 0x02E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D2A*/ { 0x02E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D2B*/ { 0x02E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0D2C*/ { 0x02E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0D2D*/ { 0x02E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0D2E*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D2F*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0D30*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD213SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D31*/ { 0x0253, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D32*/ { 0x0254, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D33*/ { 0x02E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D34*/ { 0x02E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0D35*/ { 0x02EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD213SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D36*/ { 0x0255, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D37*/ { 0x0256, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D38*/ { 0x02EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D39*/ { 0x02EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0D3A*/ { 0x02ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD231PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D3B*/ { 0x0257, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D3C*/ { 0x0258, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D3D*/ { 0x0259, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D3E*/ { 0x025A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D3F*/ { 0x02EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D40*/ { 0x02EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D41*/ { 0x02F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D42*/ { 0x02F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D43*/ { 0x02F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0D44*/ { 0x02F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0D45*/ { 0x02F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0D46*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D47*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0D48*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD231PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D49*/ { 0x025B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D4A*/ { 0x025C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D4B*/ { 0x025D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D4C*/ { 0x025E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D4D*/ { 0x02F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D4E*/ { 0x02F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D4F*/ { 0x02F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D50*/ { 0x02F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D51*/ { 0x02F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0D52*/ { 0x02FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0D53*/ { 0x02FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0D54*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D55*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0D56*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD231SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D57*/ { 0x025F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D58*/ { 0x0260, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D59*/ { 0x02FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D5A*/ { 0x02FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0D5B*/ { 0x02FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADD231SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D5C*/ { 0x0261, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D5D*/ { 0x0262, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D5E*/ { 0x02FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D5F*/ { 0x0300, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0D60*/ { 0x0301, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D61*/ { 0x0263, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D62*/ { 0x0264, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D63*/ { 0x0265, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D64*/ { 0x0266, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D65*/ { 0x0267, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D66*/ { 0x0268, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D67*/ { 0x0269, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D68*/ { 0x026A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D69*/ { 0x026B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D6A*/ { 0x026C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D6B*/ { 0x026D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D6C*/ { 0x026E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D6D*/ { 0x026F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D6E*/ { 0x0270, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D6F*/ { 0x0271, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D70*/ { 0x0272, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADDSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D71*/ { 0x0273, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D72*/ { 0x0274, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D73*/ { 0x0275, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D74*/ { 0x0276, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMADDSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D75*/ { 0x0277, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D76*/ { 0x0278, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D77*/ { 0x0279, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D78*/ { 0x027A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB132PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D79*/ { 0x027B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D7A*/ { 0x027C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D7B*/ { 0x027D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D7C*/ { 0x027E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D7D*/ { 0x0302, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D7E*/ { 0x0303, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D7F*/ { 0x0304, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D80*/ { 0x0305, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0D81*/ { 0x0306, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0D82*/ { 0x0307, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0D83*/ { 0x0308, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0D84*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D85*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0D86*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB132PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D87*/ { 0x027F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D88*/ { 0x0280, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D89*/ { 0x0281, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D8A*/ { 0x0282, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D8B*/ { 0x0309, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D8C*/ { 0x030A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D8D*/ { 0x030B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D8E*/ { 0x030C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0D8F*/ { 0x030D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0D90*/ { 0x030E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0D91*/ { 0x030F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0D92*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D93*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0D94*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x9E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB132SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D95*/ { 0x0283, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D96*/ { 0x0284, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D97*/ { 0x0310, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0D98*/ { 0x0311, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0D99*/ { 0x0312, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB132SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0D9A*/ { 0x0285, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D9B*/ { 0x0286, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D9C*/ { 0x0313, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0D9D*/ { 0x0314, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0D9E*/ { 0x0315, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x9F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB213PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0D9F*/ { 0x0287, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DA0*/ { 0x0288, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DA1*/ { 0x0289, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DA2*/ { 0x028A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DA3*/ { 0x0316, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DA4*/ { 0x0317, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DA5*/ { 0x0318, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DA6*/ { 0x0319, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DA7*/ { 0x031A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0DA8*/ { 0x031B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0DA9*/ { 0x031C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0DAA*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DAB*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0DAC*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB213PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0DAD*/ { 0x028B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DAE*/ { 0x028C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DAF*/ { 0x028D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DB0*/ { 0x028E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DB1*/ { 0x031D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DB2*/ { 0x031E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DB3*/ { 0x031F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DB4*/ { 0x0320, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DB5*/ { 0x0321, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0DB6*/ { 0x0322, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0DB7*/ { 0x0323, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0DB8*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DB9*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0DBA*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xAE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB213SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0DBB*/ { 0x028F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DBC*/ { 0x0290, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DBD*/ { 0x0324, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DBE*/ { 0x0325, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0DBF*/ { 0x0326, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB213SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0DC0*/ { 0x0291, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DC1*/ { 0x0292, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DC2*/ { 0x0327, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DC3*/ { 0x0328, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0DC4*/ { 0x0329, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xAF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB231PD */ + /* ------------------------------------------------------------------------------------------ */ + /*0DC5*/ { 0x0293, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DC6*/ { 0x0294, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DC7*/ { 0x0295, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DC8*/ { 0x0296, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DC9*/ { 0x032A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DCA*/ { 0x032B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DCB*/ { 0x032C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DCC*/ { 0x032D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DCD*/ { 0x032E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0DCE*/ { 0x032F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0DCF*/ { 0x0330, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0DD0*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DD1*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0DD2*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB231PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0DD3*/ { 0x0297, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DD4*/ { 0x0298, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DD5*/ { 0x0299, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DD6*/ { 0x029A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DD7*/ { 0x0331, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DD8*/ { 0x0332, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DD9*/ { 0x0333, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DDA*/ { 0x0334, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DDB*/ { 0x0335, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0DDC*/ { 0x0336, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0DDD*/ { 0x0337, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0DDE*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DDF*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0DE0*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xBE, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB231SD */ + /* ------------------------------------------------------------------------------------------ */ + /*0DE1*/ { 0x029B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DE2*/ { 0x029C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DE3*/ { 0x0338, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DE4*/ { 0x0339, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0DE5*/ { 0x033A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUB231SS */ + /* ------------------------------------------------------------------------------------------ */ + /*0DE6*/ { 0x029D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DE7*/ { 0x029E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DE8*/ { 0x033B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DE9*/ { 0x033C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0DEA*/ { 0x033D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xBF, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0DEB*/ { 0x029F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DEC*/ { 0x02A0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DED*/ { 0x02A1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DEE*/ { 0x02A2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DEF*/ { 0x02A3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DF0*/ { 0x02A4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DF1*/ { 0x02A5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DF2*/ { 0x02A6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0DF3*/ { 0x02A7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DF4*/ { 0x02A8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DF5*/ { 0x02A9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DF6*/ { 0x02AA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DF7*/ { 0x02AB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DF8*/ { 0x02AC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0DF9*/ { 0x02AD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0DFA*/ { 0x02AE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUBSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0DFB*/ { 0x02AF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DFC*/ { 0x02B0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0DFD*/ { 0x02B1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0DFE*/ { 0x02B2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFNMSUBSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0DFF*/ { 0x02B3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E00*/ { 0x02B4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E01*/ { 0x02B5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E02*/ { 0x02B6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFPCLASSPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E03*/ { 0x033E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E04*/ { 0x033F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E05*/ { 0x0340, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E06*/ { 0x0341, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E07*/ { 0x0342, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0E08*/ { 0x0343, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFPCLASSPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E09*/ { 0x0344, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E0A*/ { 0x0345, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E0B*/ { 0x0346, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E0C*/ { 0x0347, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E0D*/ { 0x0348, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E0E*/ { 0x0349, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFPCLASSSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E0F*/ { 0x034A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E10*/ { 0x034B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFPCLASSSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E11*/ { 0x034C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E12*/ { 0x034D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFRCZPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E13*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x81, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E14*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x81, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E15*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x81, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E16*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x81, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFRCZPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E17*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x80, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E18*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x80, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E19*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x80, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E1A*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x80, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFRCZSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E1B*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x83, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E1C*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x83, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VFRCZSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E1D*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x82, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E1E*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x82, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E1F*/ { 0x02B7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E20*/ { 0x02B8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E21*/ { 0x034E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E22*/ { 0x034F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E23*/ { 0x0350, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0E24*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E25*/ { 0x02B9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E26*/ { 0x02BA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E27*/ { 0x0351, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E28*/ { 0x0352, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E29*/ { 0x0353, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E2A*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x92, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF0DPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E2B*/ { 0x0354, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF0DPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E2C*/ { 0x0355, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E2D*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF0HINTDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E2E*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF0HINTDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E2F*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF0QPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E30*/ { 0x0356, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF0QPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E31*/ { 0x0357, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF1DPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E32*/ { 0x0358, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF1DPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E33*/ { 0x0359, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E34*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF1QPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E35*/ { 0x035A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERPF1QPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E36*/ { 0x035B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERQPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E37*/ { 0x02BB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E38*/ { 0x02BC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E39*/ { 0x035C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E3A*/ { 0x035D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E3B*/ { 0x035E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGATHERQPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E3C*/ { 0x02BD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E3D*/ { 0x02BE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E3E*/ { 0x035F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E3F*/ { 0x0360, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E40*/ { 0x0361, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x93, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGETEXPPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E41*/ { 0x0362, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E42*/ { 0x0363, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E43*/ { 0x0364, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E44*/ { 0x0365, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E45*/ { 0x0366, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0E46*/ { 0x0367, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0E47*/ { 0x0368, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0E48*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E49*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0E4A*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGETEXPPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E4B*/ { 0x0369, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E4C*/ { 0x036A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E4D*/ { 0x036B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E4E*/ { 0x036C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E4F*/ { 0x036D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E50*/ { 0x036E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0E51*/ { 0x036F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E52*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E53*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0E54*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x42, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGETEXPSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E55*/ { 0x0370, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E56*/ { 0x0371, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0E57*/ { 0x0372, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGETEXPSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E58*/ { 0x0373, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E59*/ { 0x0374, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0E5A*/ { 0x0375, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGETMANTPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E5B*/ { 0x0376, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E5C*/ { 0x0377, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E5D*/ { 0x0378, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E5E*/ { 0x0379, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E5F*/ { 0x037A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0E60*/ { 0x037B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0E61*/ { 0x037C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0E62*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E63*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /*0E64*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGETMANTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E65*/ { 0x037D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E66*/ { 0x037E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E67*/ { 0x037F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E68*/ { 0x0380, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E69*/ { 0x0381, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E6A*/ { 0x0382, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0E6B*/ { 0x0383, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E6C*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E6D*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*0E6E*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x26, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGETMANTSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E6F*/ { 0x0384, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E70*/ { 0x0385, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0E71*/ { 0x0386, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGETMANTSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E72*/ { 0x0387, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E73*/ { 0x0388, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0E74*/ { 0x0389, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGMAXABSPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E75*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x51, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E76*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x51, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0E77*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x51, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGMAXPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E78*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x53, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E79*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x53, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0E7A*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x53, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGMAXPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E7B*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x53, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E7C*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x53, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0E7D*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x53, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGMINPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E7E*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0E7F*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0E80*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VGMINPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E81*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E82*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0E83*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VHADDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E84*/ { 0x02BF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E85*/ { 0x02C0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E86*/ { 0x02C1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E87*/ { 0x02C2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VHADDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E88*/ { 0x02C3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E89*/ { 0x02C4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E8A*/ { 0x02C5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E8B*/ { 0x02C6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VHSUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0E8C*/ { 0x02C7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E8D*/ { 0x02C8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E8E*/ { 0x02C9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E8F*/ { 0x02CA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VHSUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0E90*/ { 0x02CB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E91*/ { 0x02CC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0E92*/ { 0x02CD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E93*/ { 0x02CE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTF128 */ + /* ------------------------------------------------------------------------------------------ */ + /*0E94*/ { 0x02CF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E95*/ { 0x02D0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTF32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0E96*/ { 0x038A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E97*/ { 0x038B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0E98*/ { 0x038C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E99*/ { 0x038D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTF32X8 */ + /* ------------------------------------------------------------------------------------------ */ + /*0E9A*/ { 0x038E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0E9B*/ { 0x038F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTF64X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0E9C*/ { 0x0390, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E9D*/ { 0x0391, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0E9E*/ { 0x0392, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0E9F*/ { 0x0393, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x18, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTF64X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0EA0*/ { 0x0394, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0EA1*/ { 0x0395, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTI128 */ + /* ------------------------------------------------------------------------------------------ */ + /*0EA2*/ { 0x02D1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EA3*/ { 0x02D2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTI32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0EA4*/ { 0x0396, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EA5*/ { 0x0397, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EA6*/ { 0x0398, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0EA7*/ { 0x0399, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTI32X8 */ + /* ------------------------------------------------------------------------------------------ */ + /*0EA8*/ { 0x039A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0EA9*/ { 0x039B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTI64X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*0EAA*/ { 0x039C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0EAB*/ { 0x039D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0EAC*/ { 0x039E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0EAD*/ { 0x039F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTI64X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*0EAE*/ { 0x03A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0EAF*/ { 0x03A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VINSERTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0EB0*/ { 0x02D3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x21, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EB1*/ { 0x02D4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x21, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EB2*/ { 0x03A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EB3*/ { 0x03A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLDDQU */ + /* ------------------------------------------------------------------------------------------ */ + /*0EB4*/ { 0x02D5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EB5*/ { 0x02D6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLDMXCSR */ + /* ------------------------------------------------------------------------------------------ */ + /*0EB6*/ { 0x02D7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOADUNPACKHD */ + /* ------------------------------------------------------------------------------------------ */ + /*0EB7*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOADUNPACKHPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0EB8*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOADUNPACKHPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0EB9*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOADUNPACKHQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0EBA*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOADUNPACKLD */ + /* ------------------------------------------------------------------------------------------ */ + /*0EBB*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOADUNPACKLPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0EBC*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOADUNPACKLPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0EBD*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOADUNPACKLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0EBE*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VLOG2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*0EBF*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EC0*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*0EC1*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC9, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMASKMOVDQU */ + /* ------------------------------------------------------------------------------------------ */ + /*0EC2*/ { 0x02D8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMASKMOVPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0EC3*/ { 0x02D9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EC4*/ { 0x02DA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EC5*/ { 0x02DB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EC6*/ { 0x02DC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMASKMOVPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0EC7*/ { 0x02DD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EC8*/ { 0x02DE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EC9*/ { 0x02DF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ECA*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMAXPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0ECB*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ECC*/ { 0x02E2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ECD*/ { 0x02E3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0ECE*/ { 0x02E4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0ECF*/ { 0x03A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0ED0*/ { 0x03A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0ED1*/ { 0x03A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0ED2*/ { 0x03A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0ED3*/ { 0x03A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0ED4*/ { 0x03A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0ED5*/ { 0x03AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMAXPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0ED6*/ { 0x02E5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ED7*/ { 0x02E6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0ED8*/ { 0x02E7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0ED9*/ { 0x02E8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EDA*/ { 0x03AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EDB*/ { 0x03AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EDC*/ { 0x03AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EDD*/ { 0x03AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EDE*/ { 0x03AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0EDF*/ { 0x03B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0EE0*/ { 0x03B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMAXSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0EE1*/ { 0x02E9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EE2*/ { 0x02EA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EE3*/ { 0x03B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0EE4*/ { 0x03B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0EE5*/ { 0x03B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMAXSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0EE6*/ { 0x02EB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EE7*/ { 0x02EC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EE8*/ { 0x03B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EE9*/ { 0x03B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0EEA*/ { 0x03B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMCALL */ + /* ------------------------------------------------------------------------------------------ */ + /*0EEB*/ { 0x06E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMCLEAR */ + /* ------------------------------------------------------------------------------------------ */ + /*0EEC*/ { 0x06E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMFUNC */ + /* ------------------------------------------------------------------------------------------ */ + /*0EED*/ { 0x06E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMINPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0EEE*/ { 0x02ED, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EEF*/ { 0x02EE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EF0*/ { 0x02EF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EF1*/ { 0x02F0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EF2*/ { 0x03B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0EF3*/ { 0x03B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0EF4*/ { 0x03BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0EF5*/ { 0x03BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0EF6*/ { 0x03BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0EF7*/ { 0x03BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0EF8*/ { 0x03BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMINPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0EF9*/ { 0x02F1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EFA*/ { 0x02F2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EFB*/ { 0x02F3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EFC*/ { 0x02F4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0EFD*/ { 0x03BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EFE*/ { 0x03C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0EFF*/ { 0x03C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F00*/ { 0x03C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F01*/ { 0x03C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F02*/ { 0x03C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0F03*/ { 0x03C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMINSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0F04*/ { 0x02F5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F05*/ { 0x02F6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F06*/ { 0x03C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F07*/ { 0x03C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*0F08*/ { 0x03C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMINSS */ + /* ------------------------------------------------------------------------------------------ */ + /*0F09*/ { 0x02F7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F0A*/ { 0x02F8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F0B*/ { 0x03C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F0C*/ { 0x03CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*0F0D*/ { 0x03CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMLAUNCH */ + /* ------------------------------------------------------------------------------------------ */ + /*0F0E*/ { 0x06E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMLOAD */ + /* ------------------------------------------------------------------------------------------ */ + /*0F0F*/ { 0x06E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMMCALL */ + /* ------------------------------------------------------------------------------------------ */ + /*0F10*/ { 0x06E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVAPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0F11*/ { 0x02F9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F12*/ { 0x02FA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F13*/ { 0x02FB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F14*/ { 0x02FC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F15*/ { 0x02FD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F16*/ { 0x02FE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F17*/ { 0x02FF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F18*/ { 0x0300, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F19*/ { 0x03CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F1A*/ { 0x03CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F1B*/ { 0x03CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F1C*/ { 0x03CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F1D*/ { 0x03D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F1E*/ { 0x03D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F1F*/ { 0x03D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F20*/ { 0x03D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F21*/ { 0x03D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F22*/ { 0x03D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F23*/ { 0x03D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F24*/ { 0x03D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F25*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F26*/ { 0x00C4, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0F27*/ { 0x00C5, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /*0F28*/ { 0x00C6, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVAPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0F29*/ { 0x0301, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F2A*/ { 0x0302, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F2B*/ { 0x0303, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F2C*/ { 0x0304, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F2D*/ { 0x0305, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F2E*/ { 0x0306, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F2F*/ { 0x0307, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F30*/ { 0x0308, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F31*/ { 0x03D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F32*/ { 0x03D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F33*/ { 0x03DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F34*/ { 0x03DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F35*/ { 0x03DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F36*/ { 0x03DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F37*/ { 0x03DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F38*/ { 0x03DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F39*/ { 0x03E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F3A*/ { 0x03E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F3B*/ { 0x03E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F3C*/ { 0x03E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F3D*/ { 0x00C7, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F3E*/ { 0x00C8, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0F3F*/ { 0x00C9, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x28, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*0F40*/ { 0x00CA, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVD */ + /* ------------------------------------------------------------------------------------------ */ + /*0F41*/ { 0x0309, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F42*/ { 0x030A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F43*/ { 0x030B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F44*/ { 0x030C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F45*/ { 0x030D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F46*/ { 0x030E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F47*/ { 0x030F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F48*/ { 0x0310, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F49*/ { 0x03E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F4A*/ { 0x03E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F4B*/ { 0x03E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F4C*/ { 0x03E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDDUP */ + /* ------------------------------------------------------------------------------------------ */ + /*0F4D*/ { 0x0311, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F4E*/ { 0x0312, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F4F*/ { 0x0313, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F50*/ { 0x0314, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F51*/ { 0x03E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F52*/ { 0x03E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F53*/ { 0x03EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F54*/ { 0x03EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F55*/ { 0x03EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F56*/ { 0x03ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDQA */ + /* ------------------------------------------------------------------------------------------ */ + /*0F57*/ { 0x0315, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F58*/ { 0x0316, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F59*/ { 0x0317, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F5A*/ { 0x0318, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F5B*/ { 0x0319, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F5C*/ { 0x031A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F5D*/ { 0x031B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F5E*/ { 0x031C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDQA32 */ + /* ------------------------------------------------------------------------------------------ */ + /*0F5F*/ { 0x03EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F60*/ { 0x03EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F61*/ { 0x03F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F62*/ { 0x03F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F63*/ { 0x03F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F64*/ { 0x03F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F65*/ { 0x03F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F66*/ { 0x03F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F67*/ { 0x03F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F68*/ { 0x03F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F69*/ { 0x03F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F6A*/ { 0x03F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F6B*/ { 0x00CB, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F6C*/ { 0x00CC, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*0F6D*/ { 0x00CD, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*0F6E*/ { 0x00CE, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDQA64 */ + /* ------------------------------------------------------------------------------------------ */ + /*0F6F*/ { 0x03FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F70*/ { 0x03FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F71*/ { 0x03FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F72*/ { 0x03FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F73*/ { 0x03FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F74*/ { 0x03FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F75*/ { 0x0400, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F76*/ { 0x0401, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F77*/ { 0x0402, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F78*/ { 0x0403, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F79*/ { 0x0404, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F7A*/ { 0x0405, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F7B*/ { 0x00CF, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F7C*/ { 0x00D0, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*0F7D*/ { 0x00D1, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /*0F7E*/ { 0x00D2, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDQU */ + /* ------------------------------------------------------------------------------------------ */ + /*0F7F*/ { 0x031D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F80*/ { 0x031E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F81*/ { 0x031F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F82*/ { 0x0320, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F83*/ { 0x0321, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F84*/ { 0x0322, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F85*/ { 0x0323, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F86*/ { 0x0324, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDQU16 */ + /* ------------------------------------------------------------------------------------------ */ + /*0F87*/ { 0x0406, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F88*/ { 0x0407, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F89*/ { 0x0408, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F8A*/ { 0x0409, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F8B*/ { 0x040A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F8C*/ { 0x040B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F8D*/ { 0x040C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F8E*/ { 0x040D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0F8F*/ { 0x040E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F90*/ { 0x040F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0F91*/ { 0x0410, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0F92*/ { 0x0411, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDQU32 */ + /* ------------------------------------------------------------------------------------------ */ + /*0F93*/ { 0x0412, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F94*/ { 0x0413, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F95*/ { 0x0414, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F96*/ { 0x0415, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F97*/ { 0x0416, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F98*/ { 0x0417, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F99*/ { 0x0418, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F9A*/ { 0x0419, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0F9B*/ { 0x041A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F9C*/ { 0x041B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0F9D*/ { 0x041C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0F9E*/ { 0x041D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDQU64 */ + /* ------------------------------------------------------------------------------------------ */ + /*0F9F*/ { 0x041E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FA0*/ { 0x041F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FA1*/ { 0x0420, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0FA2*/ { 0x0421, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0FA3*/ { 0x0422, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0FA4*/ { 0x0423, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0FA5*/ { 0x0424, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FA6*/ { 0x0425, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FA7*/ { 0x0426, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0FA8*/ { 0x0427, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0FA9*/ { 0x0428, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*0FAA*/ { 0x0429, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVDQU8 */ + /* ------------------------------------------------------------------------------------------ */ + /*0FAB*/ { 0x042A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FAC*/ { 0x042B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FAD*/ { 0x042C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FAE*/ { 0x042D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FAF*/ { 0x042E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0FB0*/ { 0x042F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0FB1*/ { 0x0430, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FB2*/ { 0x0431, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FB3*/ { 0x0432, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FB4*/ { 0x0433, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FB5*/ { 0x0434, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*0FB6*/ { 0x0435, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVHLPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0FB7*/ { 0x0325, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FB8*/ { 0x0436, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVHPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0FB9*/ { 0x0326, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FBA*/ { 0x0327, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x17, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FBB*/ { 0x0437, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FBC*/ { 0x0438, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x17, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVHPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0FBD*/ { 0x0328, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FBE*/ { 0x0329, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x17, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FBF*/ { 0x0439, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FC0*/ { 0x043A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x17, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVLHPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0FC1*/ { 0x032A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FC2*/ { 0x043B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVLPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0FC3*/ { 0x032B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FC4*/ { 0x032C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x13, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FC5*/ { 0x043C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FC6*/ { 0x043D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVLPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0FC7*/ { 0x032D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FC8*/ { 0x032E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x13, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FC9*/ { 0x043E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FCA*/ { 0x043F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVMSKPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0FCB*/ { 0x032F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x50, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FCC*/ { 0x0330, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x50, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVMSKPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0FCD*/ { 0x0331, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x50, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FCE*/ { 0x0332, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x50, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVNRAPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0FCF*/ { 0x00D3, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVNRAPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0FD0*/ { 0x00D4, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVNRNGOAPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0FD1*/ { 0x00D5, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVNRNGOAPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0FD2*/ { 0x00D6, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x29, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVNTDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0FD3*/ { 0x0333, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FD4*/ { 0x0334, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FD5*/ { 0x0440, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FD6*/ { 0x0441, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FD7*/ { 0x0442, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVNTDQA */ + /* ------------------------------------------------------------------------------------------ */ + /*0FD8*/ { 0x0335, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FD9*/ { 0x0336, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FDA*/ { 0x0443, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FDB*/ { 0x0444, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FDC*/ { 0x0445, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVNTPD */ + /* ------------------------------------------------------------------------------------------ */ + /*0FDD*/ { 0x0337, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FDE*/ { 0x0338, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FDF*/ { 0x0446, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FE0*/ { 0x0447, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*0FE1*/ { 0x0448, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVNTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*0FE2*/ { 0x0339, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FE3*/ { 0x033A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FE4*/ { 0x0449, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FE5*/ { 0x044A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*0FE6*/ { 0x044B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*0FE7*/ { 0x033B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FE8*/ { 0x033C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FE9*/ { 0x033D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FEA*/ { 0x033E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FEB*/ { 0x033F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FEC*/ { 0x0340, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FED*/ { 0x0341, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FEE*/ { 0x0342, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FEF*/ { 0x044C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FF0*/ { 0x044D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FF1*/ { 0x044E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FF2*/ { 0x044F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FF3*/ { 0x0450, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FF4*/ { 0x0451, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FF5*/ { 0x0452, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FF6*/ { 0x0453, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVSD */ + /* ------------------------------------------------------------------------------------------ */ + /*0FF7*/ { 0x0343, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FF8*/ { 0x0344, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FF9*/ { 0x0345, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FFA*/ { 0x0346, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*0FFB*/ { 0x0454, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FFC*/ { 0x0455, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FFD*/ { 0x0456, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*0FFE*/ { 0x0457, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVSHDUP */ + /* ------------------------------------------------------------------------------------------ */ + /*0FFF*/ { 0x0347, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1000*/ { 0x0348, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1001*/ { 0x0349, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1002*/ { 0x034A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1003*/ { 0x0458, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1004*/ { 0x0459, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1005*/ { 0x045A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1006*/ { 0x045B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1007*/ { 0x045C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1008*/ { 0x045D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVSLDUP */ + /* ------------------------------------------------------------------------------------------ */ + /*1009*/ { 0x034B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*100A*/ { 0x034C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*100B*/ { 0x034D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*100C*/ { 0x034E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*100D*/ { 0x045E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*100E*/ { 0x045F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*100F*/ { 0x0460, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1010*/ { 0x0461, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1011*/ { 0x0462, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1012*/ { 0x0463, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVSS */ + /* ------------------------------------------------------------------------------------------ */ + /*1013*/ { 0x034F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1014*/ { 0x0350, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1015*/ { 0x0351, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1016*/ { 0x0352, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1017*/ { 0x0464, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1018*/ { 0x0465, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1019*/ { 0x0466, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*101A*/ { 0x0467, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVUPD */ + /* ------------------------------------------------------------------------------------------ */ + /*101B*/ { 0x0353, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*101C*/ { 0x0354, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*101D*/ { 0x0355, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*101E*/ { 0x0356, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*101F*/ { 0x0357, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1020*/ { 0x0358, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1021*/ { 0x0359, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1022*/ { 0x035A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1023*/ { 0x0468, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1024*/ { 0x0469, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1025*/ { 0x046A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1026*/ { 0x046B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1027*/ { 0x046C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1028*/ { 0x046D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1029*/ { 0x046E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*102A*/ { 0x046F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*102B*/ { 0x0470, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*102C*/ { 0x0471, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*102D*/ { 0x0472, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*102E*/ { 0x0473, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMOVUPS */ + /* ------------------------------------------------------------------------------------------ */ + /*102F*/ { 0x035B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1030*/ { 0x035C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1031*/ { 0x035D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1032*/ { 0x035E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1033*/ { 0x035F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1034*/ { 0x0360, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1035*/ { 0x0361, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1036*/ { 0x0362, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1037*/ { 0x0474, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1038*/ { 0x0475, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1039*/ { 0x0476, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*103A*/ { 0x0477, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*103B*/ { 0x0478, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*103C*/ { 0x0479, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*103D*/ { 0x047A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*103E*/ { 0x047B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*103F*/ { 0x047C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1040*/ { 0x047D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1041*/ { 0x047E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1042*/ { 0x047F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMPSADBW */ + /* ------------------------------------------------------------------------------------------ */ + /*1043*/ { 0x0363, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1044*/ { 0x0364, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1045*/ { 0x0365, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1046*/ { 0x0366, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x42, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMPTRLD */ + /* ------------------------------------------------------------------------------------------ */ + /*1047*/ { 0x06EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMPTRST */ + /* ------------------------------------------------------------------------------------------ */ + /*1048*/ { 0x06EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMREAD */ + /* ------------------------------------------------------------------------------------------ */ + /*1049*/ { 0x06EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*104A*/ { 0x06ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*104B*/ { 0x06EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*104C*/ { 0x06EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMRESUME */ + /* ------------------------------------------------------------------------------------------ */ + /*104D*/ { 0x06F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMRUN */ + /* ------------------------------------------------------------------------------------------ */ + /*104E*/ { 0x06F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMSAVE */ + /* ------------------------------------------------------------------------------------------ */ + /*104F*/ { 0x06F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMULPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1050*/ { 0x0367, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1051*/ { 0x0368, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1052*/ { 0x0369, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1053*/ { 0x036A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1054*/ { 0x0480, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1055*/ { 0x0481, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1056*/ { 0x0482, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1057*/ { 0x0483, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1058*/ { 0x0484, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1059*/ { 0x0485, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*105A*/ { 0x0486, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*105B*/ { 0x00D7, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*105C*/ { 0x00D8, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*105D*/ { 0x00D9, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMULPS */ + /* ------------------------------------------------------------------------------------------ */ + /*105E*/ { 0x036B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*105F*/ { 0x036C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1060*/ { 0x036D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1061*/ { 0x036E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1062*/ { 0x0487, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1063*/ { 0x0488, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1064*/ { 0x0489, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1065*/ { 0x048A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1066*/ { 0x048B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1067*/ { 0x048C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1068*/ { 0x048D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1069*/ { 0x00DA, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*106A*/ { 0x00DB, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*106B*/ { 0x00DC, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMULSD */ + /* ------------------------------------------------------------------------------------------ */ + /*106C*/ { 0x036F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*106D*/ { 0x0370, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*106E*/ { 0x048E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*106F*/ { 0x048F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1070*/ { 0x0490, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMULSS */ + /* ------------------------------------------------------------------------------------------ */ + /*1071*/ { 0x0371, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1072*/ { 0x0372, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1073*/ { 0x0491, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1074*/ { 0x0492, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1075*/ { 0x0493, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMWRITE */ + /* ------------------------------------------------------------------------------------------ */ + /*1076*/ { 0x06F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1077*/ { 0x06F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1078*/ { 0x06F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1079*/ { 0x06F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_0F , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMXOFF */ + /* ------------------------------------------------------------------------------------------ */ + /*107A*/ { 0x06F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VMXON */ + /* ------------------------------------------------------------------------------------------ */ + /*107B*/ { 0x06F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VORPD */ + /* ------------------------------------------------------------------------------------------ */ + /*107C*/ { 0x0373, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*107D*/ { 0x0374, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*107E*/ { 0x0375, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*107F*/ { 0x0376, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1080*/ { 0x0494, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1081*/ { 0x0495, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1082*/ { 0x0496, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1083*/ { 0x0497, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1084*/ { 0x0498, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1085*/ { 0x0499, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VORPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1086*/ { 0x0377, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1087*/ { 0x0378, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1088*/ { 0x0379, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1089*/ { 0x037A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*108A*/ { 0x049A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*108B*/ { 0x049B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*108C*/ { 0x049C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*108D*/ { 0x049D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*108E*/ { 0x049E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*108F*/ { 0x049F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VP4DPWSSD */ + /* ------------------------------------------------------------------------------------------ */ + /*1090*/ { 0x04A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x52, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1091*/ { 0x04A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x52, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VP4DPWSSDS */ + /* ------------------------------------------------------------------------------------------ */ + /*1092*/ { 0x04A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x53, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1093*/ { 0x04A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x53, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPABSB */ + /* ------------------------------------------------------------------------------------------ */ + /*1094*/ { 0x037B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1095*/ { 0x037C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1096*/ { 0x037D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1097*/ { 0x037E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1098*/ { 0x04A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1099*/ { 0x04A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*109A*/ { 0x04A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*109B*/ { 0x04A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*109C*/ { 0x04A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*109D*/ { 0x04A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPABSD */ + /* ------------------------------------------------------------------------------------------ */ + /*109E*/ { 0x037F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*109F*/ { 0x0380, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10A0*/ { 0x0381, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10A1*/ { 0x0382, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10A2*/ { 0x04AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10A3*/ { 0x04AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10A4*/ { 0x04AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10A5*/ { 0x04AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10A6*/ { 0x04AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10A7*/ { 0x04AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPABSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*10A8*/ { 0x04B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*10A9*/ { 0x04B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*10AA*/ { 0x04B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*10AB*/ { 0x04B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*10AC*/ { 0x04B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*10AD*/ { 0x04B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPABSW */ + /* ------------------------------------------------------------------------------------------ */ + /*10AE*/ { 0x0383, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10AF*/ { 0x0384, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10B0*/ { 0x0385, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10B1*/ { 0x0386, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10B2*/ { 0x04B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10B3*/ { 0x04B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10B4*/ { 0x04B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10B5*/ { 0x04B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10B6*/ { 0x04BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10B7*/ { 0x04BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSSDW */ + /* ------------------------------------------------------------------------------------------ */ + /*10B8*/ { 0x0387, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10B9*/ { 0x0388, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10BA*/ { 0x0389, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10BB*/ { 0x038A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10BC*/ { 0x04BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10BD*/ { 0x04BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10BE*/ { 0x04BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10BF*/ { 0x04BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10C0*/ { 0x04C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10C1*/ { 0x04C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6B, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSSWB */ + /* ------------------------------------------------------------------------------------------ */ + /*10C2*/ { 0x038B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10C3*/ { 0x038C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10C4*/ { 0x038D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10C5*/ { 0x038E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10C6*/ { 0x04C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10C7*/ { 0x04C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10C8*/ { 0x04C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10C9*/ { 0x04C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10CA*/ { 0x04C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10CB*/ { 0x04C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x63, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSTOREHD */ + /* ------------------------------------------------------------------------------------------ */ + /*10CC*/ { 0x00DD, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSTOREHPD */ + /* ------------------------------------------------------------------------------------------ */ + /*10CD*/ { 0x00DE, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSTOREHPS */ + /* ------------------------------------------------------------------------------------------ */ + /*10CE*/ { 0x00DF, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSTOREHQ */ + /* ------------------------------------------------------------------------------------------ */ + /*10CF*/ { 0x00E0, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSTORELD */ + /* ------------------------------------------------------------------------------------------ */ + /*10D0*/ { 0x00E1, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSTORELPD */ + /* ------------------------------------------------------------------------------------------ */ + /*10D1*/ { 0x00E2, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSTORELPS */ + /* ------------------------------------------------------------------------------------------ */ + /*10D2*/ { 0x00E3, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKSTORELQ */ + /* ------------------------------------------------------------------------------------------ */ + /*10D3*/ { 0x00E4, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xD0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKUSDW */ + /* ------------------------------------------------------------------------------------------ */ + /*10D4*/ { 0x038F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10D5*/ { 0x0390, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10D6*/ { 0x0391, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10D7*/ { 0x0392, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10D8*/ { 0x04C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10D9*/ { 0x04C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10DA*/ { 0x04CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10DB*/ { 0x04CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10DC*/ { 0x04CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10DD*/ { 0x04CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPACKUSWB */ + /* ------------------------------------------------------------------------------------------ */ + /*10DE*/ { 0x0393, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10DF*/ { 0x0394, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10E0*/ { 0x0395, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10E1*/ { 0x0396, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10E2*/ { 0x04CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10E3*/ { 0x04CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10E4*/ { 0x04D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10E5*/ { 0x04D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10E6*/ { 0x04D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10E7*/ { 0x04D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x67, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADCD */ + /* ------------------------------------------------------------------------------------------ */ + /*10E8*/ { 0x00E5, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10E9*/ { 0x00E6, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*10EA*/ { 0x00E7, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDB */ + /* ------------------------------------------------------------------------------------------ */ + /*10EB*/ { 0x0397, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10EC*/ { 0x0398, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10ED*/ { 0x0399, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10EE*/ { 0x039A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10EF*/ { 0x04D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10F0*/ { 0x04D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10F1*/ { 0x04D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10F2*/ { 0x04D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10F3*/ { 0x04D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10F4*/ { 0x04D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDD */ + /* ------------------------------------------------------------------------------------------ */ + /*10F5*/ { 0x039B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10F6*/ { 0x039C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10F7*/ { 0x039D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10F8*/ { 0x039E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10F9*/ { 0x04DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10FA*/ { 0x04DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*10FB*/ { 0x04DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10FC*/ { 0x04DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*10FD*/ { 0x04DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10FE*/ { 0x04DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*10FF*/ { 0x00E8, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1100*/ { 0x00E9, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1101*/ { 0x00EA, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xFE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1102*/ { 0x039F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1103*/ { 0x03A0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1104*/ { 0x03A1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1105*/ { 0x03A2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1106*/ { 0x04E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1107*/ { 0x04E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1108*/ { 0x04E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1109*/ { 0x04E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*110A*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*110B*/ { 0x04E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDSB */ + /* ------------------------------------------------------------------------------------------ */ + /*110C*/ { 0x03A3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*110D*/ { 0x03A4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*110E*/ { 0x03A5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*110F*/ { 0x03A6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1110*/ { 0x04E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1111*/ { 0x04E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1112*/ { 0x04E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1113*/ { 0x04E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1114*/ { 0x04EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1115*/ { 0x04EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDSETCD */ + /* ------------------------------------------------------------------------------------------ */ + /*1116*/ { 0x00EB, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1117*/ { 0x00EC, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1118*/ { 0x00ED, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDSETSD */ + /* ------------------------------------------------------------------------------------------ */ + /*1119*/ { 0x00EE, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*111A*/ { 0x00EF, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*111B*/ { 0x00F0, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDSW */ + /* ------------------------------------------------------------------------------------------ */ + /*111C*/ { 0x03A7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*111D*/ { 0x03A8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*111E*/ { 0x03A9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*111F*/ { 0x03AA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1120*/ { 0x04EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1121*/ { 0x04ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1122*/ { 0x04EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1123*/ { 0x04EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1124*/ { 0x04F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1125*/ { 0x04F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xED, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDUSB */ + /* ------------------------------------------------------------------------------------------ */ + /*1126*/ { 0x03AB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1127*/ { 0x03AC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1128*/ { 0x03AD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1129*/ { 0x03AE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*112A*/ { 0x04F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*112B*/ { 0x04F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*112C*/ { 0x04F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*112D*/ { 0x04F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*112E*/ { 0x04F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*112F*/ { 0x04F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDC, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDUSW */ + /* ------------------------------------------------------------------------------------------ */ + /*1130*/ { 0x03AF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1131*/ { 0x03B0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1132*/ { 0x03B1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1133*/ { 0x03B2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1134*/ { 0x04F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1135*/ { 0x04F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1136*/ { 0x04FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1137*/ { 0x04FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1138*/ { 0x04FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1139*/ { 0x04FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPADDW */ + /* ------------------------------------------------------------------------------------------ */ + /*113A*/ { 0x03B3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*113B*/ { 0x03B4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*113C*/ { 0x03B5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*113D*/ { 0x03B6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*113E*/ { 0x04FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*113F*/ { 0x04FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1140*/ { 0x0500, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1141*/ { 0x0501, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1142*/ { 0x0502, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1143*/ { 0x0503, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFD, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPALIGNR */ + /* ------------------------------------------------------------------------------------------ */ + /*1144*/ { 0x03B7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1145*/ { 0x03B8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1146*/ { 0x03B9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1147*/ { 0x03BA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1148*/ { 0x0504, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1149*/ { 0x0505, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*114A*/ { 0x0506, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*114B*/ { 0x0507, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*114C*/ { 0x0508, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*114D*/ { 0x0509, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPAND */ + /* ------------------------------------------------------------------------------------------ */ + /*114E*/ { 0x03BB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*114F*/ { 0x03BC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1150*/ { 0x03BD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1151*/ { 0x03BE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPANDD */ + /* ------------------------------------------------------------------------------------------ */ + /*1152*/ { 0x050A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1153*/ { 0x050B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1154*/ { 0x050C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1155*/ { 0x050D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1156*/ { 0x050E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1157*/ { 0x050F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1158*/ { 0x00F1, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1159*/ { 0x00F2, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*115A*/ { 0x00F3, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPANDN */ + /* ------------------------------------------------------------------------------------------ */ + /*115B*/ { 0x03BF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*115C*/ { 0x03C0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*115D*/ { 0x03C1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*115E*/ { 0x03C2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPANDND */ + /* ------------------------------------------------------------------------------------------ */ + /*115F*/ { 0x0510, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1160*/ { 0x0511, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1161*/ { 0x0512, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1162*/ { 0x0513, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1163*/ { 0x0514, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1164*/ { 0x0515, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1165*/ { 0x00F4, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1166*/ { 0x00F5, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1167*/ { 0x00F6, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPANDNQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1168*/ { 0x0516, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1169*/ { 0x0517, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*116A*/ { 0x0518, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*116B*/ { 0x0519, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*116C*/ { 0x051A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*116D*/ { 0x051B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*116E*/ { 0x00F7, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*116F*/ { 0x00F8, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*1170*/ { 0x00F9, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPANDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1171*/ { 0x051C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1172*/ { 0x051D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1173*/ { 0x051E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1174*/ { 0x051F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1175*/ { 0x0520, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1176*/ { 0x0521, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1177*/ { 0x00FA, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1178*/ { 0x00FB, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*1179*/ { 0x00FC, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xDB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPAVGB */ + /* ------------------------------------------------------------------------------------------ */ + /*117A*/ { 0x03C3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*117B*/ { 0x03C4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*117C*/ { 0x03C5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*117D*/ { 0x03C6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*117E*/ { 0x0522, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*117F*/ { 0x0523, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1180*/ { 0x0524, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1181*/ { 0x0525, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1182*/ { 0x0526, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1183*/ { 0x0527, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPAVGW */ + /* ------------------------------------------------------------------------------------------ */ + /*1184*/ { 0x03C7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1185*/ { 0x03C8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1186*/ { 0x03C9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1187*/ { 0x03CA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1188*/ { 0x0528, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1189*/ { 0x0529, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*118A*/ { 0x052A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*118B*/ { 0x052B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*118C*/ { 0x052C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*118D*/ { 0x052D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBLENDD */ + /* ------------------------------------------------------------------------------------------ */ + /*118E*/ { 0x03CB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x02, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*118F*/ { 0x03CC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x02, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1190*/ { 0x03CD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x02, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1191*/ { 0x03CE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x02, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBLENDMB */ + /* ------------------------------------------------------------------------------------------ */ + /*1192*/ { 0x052E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1193*/ { 0x052F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1194*/ { 0x0530, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1195*/ { 0x0531, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1196*/ { 0x0532, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1197*/ { 0x0533, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBLENDMD */ + /* ------------------------------------------------------------------------------------------ */ + /*1198*/ { 0x0534, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1199*/ { 0x0535, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*119A*/ { 0x0536, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*119B*/ { 0x0537, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*119C*/ { 0x0538, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*119D*/ { 0x0539, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*119E*/ { 0x00FD, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*119F*/ { 0x00FE, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*11A0*/ { 0x00FF, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBLENDMQ */ + /* ------------------------------------------------------------------------------------------ */ + /*11A1*/ { 0x053A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11A2*/ { 0x053B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11A3*/ { 0x053C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11A4*/ { 0x053D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11A5*/ { 0x053E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*11A6*/ { 0x053F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*11A7*/ { 0x0100, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11A8*/ { 0x0101, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*11A9*/ { 0x0102, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x64, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBLENDMW */ + /* ------------------------------------------------------------------------------------------ */ + /*11AA*/ { 0x0540, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11AB*/ { 0x0541, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11AC*/ { 0x0542, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11AD*/ { 0x0543, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11AE*/ { 0x0544, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*11AF*/ { 0x0545, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBLENDVB */ + /* ------------------------------------------------------------------------------------------ */ + /*11B0*/ { 0x03CF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11B1*/ { 0x03D0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11B2*/ { 0x03D1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11B3*/ { 0x03D2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x4C, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBLENDW */ + /* ------------------------------------------------------------------------------------------ */ + /*11B4*/ { 0x03D3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11B5*/ { 0x03D4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11B6*/ { 0x03D5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11B7*/ { 0x03D6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBROADCASTB */ + /* ------------------------------------------------------------------------------------------ */ + /*11B8*/ { 0x03D7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11B9*/ { 0x03D8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11BA*/ { 0x03D9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11BB*/ { 0x03DA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11BC*/ { 0x0546, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11BD*/ { 0x0547, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11BE*/ { 0x0548, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11BF*/ { 0x0549, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11C0*/ { 0x054A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*11C1*/ { 0x054B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x78, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*11C2*/ { 0x054C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11C3*/ { 0x054D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11C4*/ { 0x054E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBROADCASTD */ + /* ------------------------------------------------------------------------------------------ */ + /*11C5*/ { 0x03DB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11C6*/ { 0x03DC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11C7*/ { 0x03DD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11C8*/ { 0x03DE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11C9*/ { 0x054F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11CA*/ { 0x0550, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11CB*/ { 0x0551, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11CC*/ { 0x0552, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11CD*/ { 0x0553, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*11CE*/ { 0x0554, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*11CF*/ { 0x0555, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11D0*/ { 0x0556, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11D1*/ { 0x0557, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*11D2*/ { 0x0103, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x58, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBROADCASTMB2Q */ + /* ------------------------------------------------------------------------------------------ */ + /*11D3*/ { 0x0558, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11D4*/ { 0x0559, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11D5*/ { 0x055A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBROADCASTMW2D */ + /* ------------------------------------------------------------------------------------------ */ + /*11D6*/ { 0x055B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11D7*/ { 0x055C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11D8*/ { 0x055D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBROADCASTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*11D9*/ { 0x03DF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11DA*/ { 0x03E0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11DB*/ { 0x03E1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11DC*/ { 0x03E2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11DD*/ { 0x055E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11DE*/ { 0x055F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11DF*/ { 0x0560, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11E0*/ { 0x0561, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11E1*/ { 0x0562, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*11E2*/ { 0x0563, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*11E3*/ { 0x0564, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7C, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11E4*/ { 0x0565, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7C, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11E5*/ { 0x0566, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7C, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*11E6*/ { 0x0104, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x59, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPBROADCASTW */ + /* ------------------------------------------------------------------------------------------ */ + /*11E7*/ { 0x03E3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11E8*/ { 0x03E4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11E9*/ { 0x03E5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11EA*/ { 0x03E6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11EB*/ { 0x0567, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11EC*/ { 0x0568, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11ED*/ { 0x0569, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11EE*/ { 0x056A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11EF*/ { 0x056B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*11F0*/ { 0x056C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x79, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*11F1*/ { 0x056D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11F2*/ { 0x056E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11F3*/ { 0x056F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCLMULQDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*11F4*/ { 0x03E7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x44, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11F5*/ { 0x03E8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x44, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMOV */ + /* ------------------------------------------------------------------------------------------ */ + /*11F6*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11F7*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11F8*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11F9*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*11FA*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11FB*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*11FC*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*11FD*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPB */ + /* ------------------------------------------------------------------------------------------ */ + /*11FE*/ { 0x0570, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*11FF*/ { 0x0571, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1200*/ { 0x0572, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1201*/ { 0x0573, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1202*/ { 0x0574, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1203*/ { 0x0575, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1204*/ { 0x0576, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1205*/ { 0x0577, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1206*/ { 0x0578, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1207*/ { 0x0579, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1208*/ { 0x057A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1209*/ { 0x057B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*120A*/ { 0x0105, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*120B*/ { 0x0106, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*120C*/ { 0x0107, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPEQB */ + /* ------------------------------------------------------------------------------------------ */ + /*120D*/ { 0x03E9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*120E*/ { 0x03EA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*120F*/ { 0x03EB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1210*/ { 0x03EC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1211*/ { 0x057C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1212*/ { 0x057D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1213*/ { 0x057E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1214*/ { 0x057F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1215*/ { 0x0580, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1216*/ { 0x0581, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x74, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPEQD */ + /* ------------------------------------------------------------------------------------------ */ + /*1217*/ { 0x03ED, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1218*/ { 0x03EE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1219*/ { 0x03EF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*121A*/ { 0x03F0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*121B*/ { 0x0582, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*121C*/ { 0x0583, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*121D*/ { 0x0584, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*121E*/ { 0x0585, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*121F*/ { 0x0586, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1220*/ { 0x0587, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1221*/ { 0x0108, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1222*/ { 0x0109, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1223*/ { 0x010A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x76, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPEQQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1224*/ { 0x03F1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1225*/ { 0x03F2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1226*/ { 0x03F3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1227*/ { 0x03F4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1228*/ { 0x0588, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1229*/ { 0x0589, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*122A*/ { 0x058A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*122B*/ { 0x058B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*122C*/ { 0x058C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*122D*/ { 0x058D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPEQW */ + /* ------------------------------------------------------------------------------------------ */ + /*122E*/ { 0x03F5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*122F*/ { 0x03F6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1230*/ { 0x03F7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1231*/ { 0x03F8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1232*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1233*/ { 0x058F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1234*/ { 0x0590, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1235*/ { 0x0591, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1236*/ { 0x0592, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1237*/ { 0x0593, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPESTRI */ + /* ------------------------------------------------------------------------------------------ */ + /*1238*/ { 0x03F9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1239*/ { 0x03FA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*123A*/ { 0x03FB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*123B*/ { 0x03FC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*123C*/ { 0x03FD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*123D*/ { 0x03FE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPESTRM */ + /* ------------------------------------------------------------------------------------------ */ + /*123E*/ { 0x03FF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*123F*/ { 0x0400, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1240*/ { 0x0401, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1241*/ { 0x0402, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1242*/ { 0x0403, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1243*/ { 0x0404, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPGTB */ + /* ------------------------------------------------------------------------------------------ */ + /*1244*/ { 0x0405, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1245*/ { 0x0406, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1246*/ { 0x0407, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1247*/ { 0x0408, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1248*/ { 0x0594, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1249*/ { 0x0595, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*124A*/ { 0x0596, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*124B*/ { 0x0597, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*124C*/ { 0x0598, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*124D*/ { 0x0599, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x64, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPGTD */ + /* ------------------------------------------------------------------------------------------ */ + /*124E*/ { 0x0409, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*124F*/ { 0x040A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1250*/ { 0x040B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1251*/ { 0x040C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1252*/ { 0x059A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1253*/ { 0x059B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1254*/ { 0x059C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1255*/ { 0x059D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1256*/ { 0x059E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1257*/ { 0x059F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1258*/ { 0x010B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1259*/ { 0x010C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*125A*/ { 0x010D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x66, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPGTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*125B*/ { 0x040D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*125C*/ { 0x040E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*125D*/ { 0x040F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*125E*/ { 0x0410, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*125F*/ { 0x05A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1260*/ { 0x05A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1261*/ { 0x05A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1262*/ { 0x05A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1263*/ { 0x05A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1264*/ { 0x05A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x37, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPGTW */ + /* ------------------------------------------------------------------------------------------ */ + /*1265*/ { 0x0411, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1266*/ { 0x0412, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1267*/ { 0x0413, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1268*/ { 0x0414, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1269*/ { 0x05A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*126A*/ { 0x05A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*126B*/ { 0x05A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*126C*/ { 0x05A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*126D*/ { 0x05AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*126E*/ { 0x05AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x65, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPISTRI */ + /* ------------------------------------------------------------------------------------------ */ + /*126F*/ { 0x0415, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1270*/ { 0x0416, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1271*/ { 0x0417, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1272*/ { 0x0418, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1273*/ { 0x0419, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1274*/ { 0x041A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x63, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPISTRM */ + /* ------------------------------------------------------------------------------------------ */ + /*1275*/ { 0x041B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x62, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1276*/ { 0x041C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x62, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPLTD */ + /* ------------------------------------------------------------------------------------------ */ + /*1277*/ { 0x010E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x74, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1278*/ { 0x010F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x74, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1279*/ { 0x0110, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x74, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPQ */ + /* ------------------------------------------------------------------------------------------ */ + /*127A*/ { 0x05AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*127B*/ { 0x05AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*127C*/ { 0x05AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*127D*/ { 0x05AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*127E*/ { 0x05B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*127F*/ { 0x05B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPUB */ + /* ------------------------------------------------------------------------------------------ */ + /*1280*/ { 0x05B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1281*/ { 0x05B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1282*/ { 0x05B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1283*/ { 0x05B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1284*/ { 0x05B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1285*/ { 0x05B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPUD */ + /* ------------------------------------------------------------------------------------------ */ + /*1286*/ { 0x05B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1287*/ { 0x05B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1288*/ { 0x05BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1289*/ { 0x05BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*128A*/ { 0x05BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*128B*/ { 0x05BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*128C*/ { 0x0111, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*128D*/ { 0x0112, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*128E*/ { 0x0113, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPUQ */ + /* ------------------------------------------------------------------------------------------ */ + /*128F*/ { 0x05BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1290*/ { 0x05BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1291*/ { 0x05C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1292*/ { 0x05C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1293*/ { 0x05C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1294*/ { 0x05C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x1E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPUW */ + /* ------------------------------------------------------------------------------------------ */ + /*1295*/ { 0x05C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1296*/ { 0x05C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1297*/ { 0x05C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1298*/ { 0x05C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1299*/ { 0x05C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*129A*/ { 0x05C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCMPW */ + /* ------------------------------------------------------------------------------------------ */ + /*129B*/ { 0x05CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*129C*/ { 0x05CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*129D*/ { 0x05CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*129E*/ { 0x05CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*129F*/ { 0x05CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*12A0*/ { 0x05CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMB */ + /* ------------------------------------------------------------------------------------------ */ + /*12A1*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCC, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12A2*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCC, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMD */ + /* ------------------------------------------------------------------------------------------ */ + /*12A3*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCE, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12A4*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCE, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMPRESSD */ + /* ------------------------------------------------------------------------------------------ */ + /*12A5*/ { 0x05D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12A6*/ { 0x05D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12A7*/ { 0x05D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12A8*/ { 0x05D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12A9*/ { 0x05D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*12AA*/ { 0x05D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMPRESSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*12AB*/ { 0x05D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12AC*/ { 0x05D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12AD*/ { 0x05D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12AE*/ { 0x05D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12AF*/ { 0x05DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*12B0*/ { 0x05DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMQ */ + /* ------------------------------------------------------------------------------------------ */ + /*12B1*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCF, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12B2*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCF, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMUB */ + /* ------------------------------------------------------------------------------------------ */ + /*12B3*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xEC, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12B4*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xEC, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMUD */ + /* ------------------------------------------------------------------------------------------ */ + /*12B5*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xEE, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12B6*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xEE, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMUQ */ + /* ------------------------------------------------------------------------------------------ */ + /*12B7*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xEF, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12B8*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xEF, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMUW */ + /* ------------------------------------------------------------------------------------------ */ + /*12B9*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xED, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12BA*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xED, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCOMW */ + /* ------------------------------------------------------------------------------------------ */ + /*12BB*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCD, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12BC*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCD, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCONFLICTD */ + /* ------------------------------------------------------------------------------------------ */ + /*12BD*/ { 0x05DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12BE*/ { 0x05DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12BF*/ { 0x05DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12C0*/ { 0x05DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12C1*/ { 0x05E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*12C2*/ { 0x05E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPCONFLICTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*12C3*/ { 0x05E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12C4*/ { 0x05E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12C5*/ { 0x05E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12C6*/ { 0x05E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12C7*/ { 0x05E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*12C8*/ { 0x05E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERM2F128 */ + /* ------------------------------------------------------------------------------------------ */ + /*12C9*/ { 0x041D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x06, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12CA*/ { 0x041E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x06, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERM2I128 */ + /* ------------------------------------------------------------------------------------------ */ + /*12CB*/ { 0x041F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12CC*/ { 0x0420, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMB */ + /* ------------------------------------------------------------------------------------------ */ + /*12CD*/ { 0x05E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12CE*/ { 0x05E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12CF*/ { 0x05EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12D0*/ { 0x05EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12D1*/ { 0x05EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*12D2*/ { 0x05ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMD */ + /* ------------------------------------------------------------------------------------------ */ + /*12D3*/ { 0x0421, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12D4*/ { 0x0422, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12D5*/ { 0x05EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12D6*/ { 0x05EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12D7*/ { 0x05F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*12D8*/ { 0x05F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*12D9*/ { 0x0114, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12DA*/ { 0x0115, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMF32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*12DB*/ { 0x0116, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x07, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12DC*/ { 0x0117, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x07, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*12DD*/ { 0x0118, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x07, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMI2B */ + /* ------------------------------------------------------------------------------------------ */ + /*12DE*/ { 0x05F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12DF*/ { 0x05F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12E0*/ { 0x05F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12E1*/ { 0x05F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12E2*/ { 0x05F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*12E3*/ { 0x05F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMI2D */ + /* ------------------------------------------------------------------------------------------ */ + /*12E4*/ { 0x05F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12E5*/ { 0x05F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12E6*/ { 0x05FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12E7*/ { 0x05FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12E8*/ { 0x05FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*12E9*/ { 0x05FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMI2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*12EA*/ { 0x05FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12EB*/ { 0x05FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12EC*/ { 0x0600, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12ED*/ { 0x0601, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12EE*/ { 0x0602, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*12EF*/ { 0x0603, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMI2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*12F0*/ { 0x0604, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12F1*/ { 0x0605, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*12F2*/ { 0x0606, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12F3*/ { 0x0607, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*12F4*/ { 0x0608, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*12F5*/ { 0x0609, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x77, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMI2Q */ + /* ------------------------------------------------------------------------------------------ */ + /*12F6*/ { 0x060A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12F7*/ { 0x060B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12F8*/ { 0x060C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12F9*/ { 0x060D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12FA*/ { 0x060E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*12FB*/ { 0x060F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x76, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMI2W */ + /* ------------------------------------------------------------------------------------------ */ + /*12FC*/ { 0x0610, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12FD*/ { 0x0611, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*12FE*/ { 0x0612, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*12FF*/ { 0x0613, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1300*/ { 0x0614, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1301*/ { 0x0615, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x75, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMIL2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*1302*/ { 0x0423, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1303*/ { 0x0424, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1304*/ { 0x0425, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1305*/ { 0x0426, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1306*/ { 0x0427, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1307*/ { 0x0428, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1308*/ { 0x0429, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1309*/ { 0x042A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x49, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMIL2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*130A*/ { 0x042B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*130B*/ { 0x042C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*130C*/ { 0x042D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*130D*/ { 0x042E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*130E*/ { 0x042F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*130F*/ { 0x0430, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1310*/ { 0x0431, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1311*/ { 0x0432, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x48, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMILPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1312*/ { 0x0433, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1313*/ { 0x0434, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1314*/ { 0x0435, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1315*/ { 0x0436, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1316*/ { 0x0437, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1317*/ { 0x0438, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1318*/ { 0x0439, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1319*/ { 0x043A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*131A*/ { 0x0616, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*131B*/ { 0x0617, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*131C*/ { 0x0618, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*131D*/ { 0x0619, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*131E*/ { 0x061A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*131F*/ { 0x061B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1320*/ { 0x061C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1321*/ { 0x061D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1322*/ { 0x061E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1323*/ { 0x061F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1324*/ { 0x0620, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1325*/ { 0x0621, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x05, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMILPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1326*/ { 0x043B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1327*/ { 0x043C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1328*/ { 0x043D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1329*/ { 0x043E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*132A*/ { 0x043F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*132B*/ { 0x0440, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*132C*/ { 0x0441, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*132D*/ { 0x0442, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*132E*/ { 0x0622, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*132F*/ { 0x0623, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1330*/ { 0x0624, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1331*/ { 0x0625, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1332*/ { 0x0626, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1333*/ { 0x0627, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1334*/ { 0x0628, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1335*/ { 0x0629, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1336*/ { 0x062A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1337*/ { 0x062B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1338*/ { 0x062C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1339*/ { 0x062D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMPD */ + /* ------------------------------------------------------------------------------------------ */ + /*133A*/ { 0x0443, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x01, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*133B*/ { 0x0444, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x01, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*133C*/ { 0x062E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*133D*/ { 0x062F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*133E*/ { 0x0630, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*133F*/ { 0x0631, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1340*/ { 0x0632, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x01, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1341*/ { 0x0633, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x01, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1342*/ { 0x0634, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x01, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1343*/ { 0x0635, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x01, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1344*/ { 0x0445, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1345*/ { 0x0446, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1346*/ { 0x0636, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1347*/ { 0x0637, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1348*/ { 0x0638, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1349*/ { 0x0639, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMQ */ + /* ------------------------------------------------------------------------------------------ */ + /*134A*/ { 0x0447, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x00, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*134B*/ { 0x0448, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x00, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*134C*/ { 0x063A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*134D*/ { 0x063B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*134E*/ { 0x063C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*134F*/ { 0x063D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x36, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1350*/ { 0x063E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1351*/ { 0x063F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1352*/ { 0x0640, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1353*/ { 0x0641, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMT2B */ + /* ------------------------------------------------------------------------------------------ */ + /*1354*/ { 0x0642, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1355*/ { 0x0643, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1356*/ { 0x0644, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1357*/ { 0x0645, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1358*/ { 0x0646, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1359*/ { 0x0647, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMT2D */ + /* ------------------------------------------------------------------------------------------ */ + /*135A*/ { 0x0648, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*135B*/ { 0x0649, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*135C*/ { 0x064A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*135D*/ { 0x064B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*135E*/ { 0x064C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*135F*/ { 0x064D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMT2PD */ + /* ------------------------------------------------------------------------------------------ */ + /*1360*/ { 0x064E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1361*/ { 0x064F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1362*/ { 0x0650, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1363*/ { 0x0651, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1364*/ { 0x0652, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1365*/ { 0x0653, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMT2PS */ + /* ------------------------------------------------------------------------------------------ */ + /*1366*/ { 0x0654, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1367*/ { 0x0655, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1368*/ { 0x0656, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1369*/ { 0x0657, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*136A*/ { 0x0658, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*136B*/ { 0x0659, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMT2Q */ + /* ------------------------------------------------------------------------------------------ */ + /*136C*/ { 0x065A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*136D*/ { 0x065B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*136E*/ { 0x065C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*136F*/ { 0x065D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1370*/ { 0x065E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1371*/ { 0x065F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMT2W */ + /* ------------------------------------------------------------------------------------------ */ + /*1372*/ { 0x0660, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1373*/ { 0x0661, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1374*/ { 0x0662, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1375*/ { 0x0663, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1376*/ { 0x0664, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1377*/ { 0x0665, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x7D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPERMW */ + /* ------------------------------------------------------------------------------------------ */ + /*1378*/ { 0x0666, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1379*/ { 0x0667, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*137A*/ { 0x0668, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*137B*/ { 0x0669, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*137C*/ { 0x066A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*137D*/ { 0x066B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x8D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPEXPANDD */ + /* ------------------------------------------------------------------------------------------ */ + /*137E*/ { 0x066C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*137F*/ { 0x066D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1380*/ { 0x066E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1381*/ { 0x066F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1382*/ { 0x0670, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1383*/ { 0x0671, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPEXPANDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1384*/ { 0x0672, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1385*/ { 0x0673, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1386*/ { 0x0674, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1387*/ { 0x0675, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1388*/ { 0x0676, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1389*/ { 0x0677, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x89, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPEXTRB */ + /* ------------------------------------------------------------------------------------------ */ + /*138A*/ { 0x0449, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*138B*/ { 0x044A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*138C*/ { 0x0678, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*138D*/ { 0x0679, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPEXTRD */ + /* ------------------------------------------------------------------------------------------ */ + /*138E*/ { 0x044B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*138F*/ { 0x044C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1390*/ { 0x044D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1391*/ { 0x044E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1392*/ { 0x067A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1393*/ { 0x067B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPEXTRQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1394*/ { 0x044F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1395*/ { 0x0450, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1396*/ { 0x067C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1397*/ { 0x067D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x16, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPEXTRW */ + /* ------------------------------------------------------------------------------------------ */ + /*1398*/ { 0x0451, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1399*/ { 0x0452, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*139A*/ { 0x0453, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*139B*/ { 0x067E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*139C*/ { 0x067F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*139D*/ { 0x0680, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPGATHERDD */ + /* ------------------------------------------------------------------------------------------ */ + /*139E*/ { 0x0454, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*139F*/ { 0x0455, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13A0*/ { 0x0681, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13A1*/ { 0x0682, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13A2*/ { 0x0683, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*13A3*/ { 0x0119, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPGATHERDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13A4*/ { 0x0456, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*13A5*/ { 0x0457, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*13A6*/ { 0x0684, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*13A7*/ { 0x0685, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*13A8*/ { 0x0686, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*13A9*/ { 0x011A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x90, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPGATHERQD */ + /* ------------------------------------------------------------------------------------------ */ + /*13AA*/ { 0x0458, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13AB*/ { 0x0459, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13AC*/ { 0x0687, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13AD*/ { 0x0688, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13AE*/ { 0x0689, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPGATHERQQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13AF*/ { 0x045A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*13B0*/ { 0x045B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*13B1*/ { 0x068A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*13B2*/ { 0x068B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*13B3*/ { 0x068C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x91, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDBD */ + /* ------------------------------------------------------------------------------------------ */ + /*13B4*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC2, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13B5*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC2, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDBQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13B6*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC3, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13B7*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC3, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDBW */ + /* ------------------------------------------------------------------------------------------ */ + /*13B8*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC1, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13B9*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC1, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDD */ + /* ------------------------------------------------------------------------------------------ */ + /*13BA*/ { 0x045C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x02, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13BB*/ { 0x045D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x02, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13BC*/ { 0x045E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x02, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13BD*/ { 0x045F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x02, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13BE*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCB, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13BF*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xCB, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDSW */ + /* ------------------------------------------------------------------------------------------ */ + /*13C0*/ { 0x0460, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x03, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13C1*/ { 0x0461, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x03, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13C2*/ { 0x0462, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x03, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13C3*/ { 0x0463, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x03, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDUBD */ + /* ------------------------------------------------------------------------------------------ */ + /*13C4*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD2, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13C5*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD2, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDUBQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13C6*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD3, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13C7*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD3, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDUBW */ + /* ------------------------------------------------------------------------------------------ */ + /*13C8*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD1, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13C9*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD1, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDUDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13CA*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xDB, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13CB*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xDB, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDUWD */ + /* ------------------------------------------------------------------------------------------ */ + /*13CC*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD6, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13CD*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD6, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDUWQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13CE*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD7, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13CF*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xD7, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDW */ + /* ------------------------------------------------------------------------------------------ */ + /*13D0*/ { 0x0464, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x01, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13D1*/ { 0x0465, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x01, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13D2*/ { 0x0466, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x01, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13D3*/ { 0x0467, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x01, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDWD */ + /* ------------------------------------------------------------------------------------------ */ + /*13D4*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC6, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13D5*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC6, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHADDWQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13D6*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC7, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13D7*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC7, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHMINPOSUW */ + /* ------------------------------------------------------------------------------------------ */ + /*13D8*/ { 0x0468, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13D9*/ { 0x0469, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13DA*/ { 0x046A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13DB*/ { 0x046B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x41, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHSUBBW */ + /* ------------------------------------------------------------------------------------------ */ + /*13DC*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xE1, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13DD*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xE1, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHSUBD */ + /* ------------------------------------------------------------------------------------------ */ + /*13DE*/ { 0x046C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x06, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13DF*/ { 0x046D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x06, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13E0*/ { 0x046E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x06, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13E1*/ { 0x046F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x06, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHSUBDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13E2*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xE3, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13E3*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xE3, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHSUBSW */ + /* ------------------------------------------------------------------------------------------ */ + /*13E4*/ { 0x0470, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x07, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13E5*/ { 0x0471, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x07, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13E6*/ { 0x0472, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x07, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13E7*/ { 0x0473, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x07, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHSUBW */ + /* ------------------------------------------------------------------------------------------ */ + /*13E8*/ { 0x0474, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x05, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13E9*/ { 0x0475, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x05, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13EA*/ { 0x0476, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x05, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*13EB*/ { 0x0477, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x05, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPHSUBWD */ + /* ------------------------------------------------------------------------------------------ */ + /*13EC*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xE2, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13ED*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xE2, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPINSRB */ + /* ------------------------------------------------------------------------------------------ */ + /*13EE*/ { 0x0478, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x20, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13EF*/ { 0x0479, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x20, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13F0*/ { 0x068D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13F1*/ { 0x068E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPINSRD */ + /* ------------------------------------------------------------------------------------------ */ + /*13F2*/ { 0x047A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13F3*/ { 0x047B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13F4*/ { 0x047C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13F5*/ { 0x047D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13F6*/ { 0x068F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13F7*/ { 0x0690, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPINSRQ */ + /* ------------------------------------------------------------------------------------------ */ + /*13F8*/ { 0x047E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*13F9*/ { 0x047F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*13FA*/ { 0x0691, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*13FB*/ { 0x0692, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F3A , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPINSRW */ + /* ------------------------------------------------------------------------------------------ */ + /*13FC*/ { 0x0480, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13FD*/ { 0x0481, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13FE*/ { 0x0693, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*13FF*/ { 0x0694, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPLZCNTD */ + /* ------------------------------------------------------------------------------------------ */ + /*1400*/ { 0x0695, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1401*/ { 0x0696, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1402*/ { 0x0697, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1403*/ { 0x0698, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1404*/ { 0x0699, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1405*/ { 0x069A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPLZCNTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1406*/ { 0x069B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1407*/ { 0x069C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1408*/ { 0x069D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1409*/ { 0x069E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*140A*/ { 0x069F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*140B*/ { 0x06A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x44, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSDD */ + /* ------------------------------------------------------------------------------------------ */ + /*140C*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9E, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*140D*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9E, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSDQH */ + /* ------------------------------------------------------------------------------------------ */ + /*140E*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9F, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*140F*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9F, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSDQL */ + /* ------------------------------------------------------------------------------------------ */ + /*1410*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x97, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1411*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x97, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSSDD */ + /* ------------------------------------------------------------------------------------------ */ + /*1412*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x8E, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1413*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x8E, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSSDQH */ + /* ------------------------------------------------------------------------------------------ */ + /*1414*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x8F, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1415*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x8F, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSSDQL */ + /* ------------------------------------------------------------------------------------------ */ + /*1416*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x87, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1417*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x87, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSSWD */ + /* ------------------------------------------------------------------------------------------ */ + /*1418*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x86, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1419*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x86, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSSWW */ + /* ------------------------------------------------------------------------------------------ */ + /*141A*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x85, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*141B*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x85, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSWD */ + /* ------------------------------------------------------------------------------------------ */ + /*141C*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x96, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*141D*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x96, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMACSWW */ + /* ------------------------------------------------------------------------------------------ */ + /*141E*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x95, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*141F*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x95, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMADCSSWD */ + /* ------------------------------------------------------------------------------------------ */ + /*1420*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA6, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1421*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA6, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMADCSWD */ + /* ------------------------------------------------------------------------------------------ */ + /*1422*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xB6, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1423*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xB6, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMADD231D */ + /* ------------------------------------------------------------------------------------------ */ + /*1424*/ { 0x011B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1425*/ { 0x011C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1426*/ { 0x011D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMADD233D */ + /* ------------------------------------------------------------------------------------------ */ + /*1427*/ { 0x011E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1428*/ { 0x011F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1429*/ { 0x0120, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMADD52HUQ */ + /* ------------------------------------------------------------------------------------------ */ + /*142A*/ { 0x06A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*142B*/ { 0x06A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*142C*/ { 0x06A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*142D*/ { 0x06A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*142E*/ { 0x06A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*142F*/ { 0x06A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMADD52LUQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1430*/ { 0x06A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1431*/ { 0x06A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1432*/ { 0x06A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1433*/ { 0x06AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1434*/ { 0x06AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1435*/ { 0x06AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xB4, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMADDUBSW */ + /* ------------------------------------------------------------------------------------------ */ + /*1436*/ { 0x0482, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1437*/ { 0x0483, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1438*/ { 0x0484, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1439*/ { 0x0485, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*143A*/ { 0x06AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*143B*/ { 0x06AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*143C*/ { 0x06AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*143D*/ { 0x06B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*143E*/ { 0x06B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*143F*/ { 0x06B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x04, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMADDWD */ + /* ------------------------------------------------------------------------------------------ */ + /*1440*/ { 0x0486, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1441*/ { 0x0487, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1442*/ { 0x0488, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1443*/ { 0x0489, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1444*/ { 0x06B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1445*/ { 0x06B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1446*/ { 0x06B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1447*/ { 0x06B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1448*/ { 0x06B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1449*/ { 0x06B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMASKMOVD */ + /* ------------------------------------------------------------------------------------------ */ + /*144A*/ { 0x048A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x8C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*144B*/ { 0x048B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x8C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*144C*/ { 0x048C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x8E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*144D*/ { 0x048D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x8E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMASKMOVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*144E*/ { 0x048E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x8C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*144F*/ { 0x048F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x8C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1450*/ { 0x0490, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x8E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1451*/ { 0x0491, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x8E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMAXSB */ + /* ------------------------------------------------------------------------------------------ */ + /*1452*/ { 0x0492, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1453*/ { 0x0493, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1454*/ { 0x0494, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1455*/ { 0x0495, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1456*/ { 0x06B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1457*/ { 0x06BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1458*/ { 0x06BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1459*/ { 0x06BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*145A*/ { 0x06BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*145B*/ { 0x06BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMAXSD */ + /* ------------------------------------------------------------------------------------------ */ + /*145C*/ { 0x0496, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*145D*/ { 0x0497, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*145E*/ { 0x0498, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*145F*/ { 0x0499, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1460*/ { 0x06BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1461*/ { 0x06C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1462*/ { 0x06C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1463*/ { 0x06C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1464*/ { 0x06C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1465*/ { 0x06C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1466*/ { 0x0121, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1467*/ { 0x0122, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1468*/ { 0x0123, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMAXSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1469*/ { 0x06C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*146A*/ { 0x06C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*146B*/ { 0x06C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*146C*/ { 0x06C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*146D*/ { 0x06C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*146E*/ { 0x06CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMAXSW */ + /* ------------------------------------------------------------------------------------------ */ + /*146F*/ { 0x049A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1470*/ { 0x049B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1471*/ { 0x049C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1472*/ { 0x049D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1473*/ { 0x06CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1474*/ { 0x06CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1475*/ { 0x06CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1476*/ { 0x06CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1477*/ { 0x06CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1478*/ { 0x06D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMAXUB */ + /* ------------------------------------------------------------------------------------------ */ + /*1479*/ { 0x049E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*147A*/ { 0x049F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*147B*/ { 0x04A0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*147C*/ { 0x04A1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*147D*/ { 0x06D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*147E*/ { 0x06D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*147F*/ { 0x06D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1480*/ { 0x06D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1481*/ { 0x06D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1482*/ { 0x06D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMAXUD */ + /* ------------------------------------------------------------------------------------------ */ + /*1483*/ { 0x04A2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1484*/ { 0x04A3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1485*/ { 0x04A4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1486*/ { 0x04A5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1487*/ { 0x06D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1488*/ { 0x06D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1489*/ { 0x06D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*148A*/ { 0x06DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*148B*/ { 0x06DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*148C*/ { 0x06DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*148D*/ { 0x0124, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*148E*/ { 0x0125, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*148F*/ { 0x0126, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMAXUQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1490*/ { 0x06DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1491*/ { 0x06DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1492*/ { 0x06DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1493*/ { 0x06E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1494*/ { 0x06E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1495*/ { 0x06E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMAXUW */ + /* ------------------------------------------------------------------------------------------ */ + /*1496*/ { 0x04A6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1497*/ { 0x04A7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1498*/ { 0x04A8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1499*/ { 0x04A9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*149A*/ { 0x06E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*149B*/ { 0x06E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*149C*/ { 0x06E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*149D*/ { 0x06E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*149E*/ { 0x06E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*149F*/ { 0x06E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMINSB */ + /* ------------------------------------------------------------------------------------------ */ + /*14A0*/ { 0x04AA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14A1*/ { 0x04AB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14A2*/ { 0x04AC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14A3*/ { 0x04AD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14A4*/ { 0x06E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14A5*/ { 0x06EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14A6*/ { 0x06EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14A7*/ { 0x06EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14A8*/ { 0x06ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14A9*/ { 0x06EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMINSD */ + /* ------------------------------------------------------------------------------------------ */ + /*14AA*/ { 0x04AE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14AB*/ { 0x04AF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14AC*/ { 0x04B0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14AD*/ { 0x04B1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14AE*/ { 0x06EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14AF*/ { 0x06F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14B0*/ { 0x06F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14B1*/ { 0x06F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14B2*/ { 0x06F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14B3*/ { 0x06F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14B4*/ { 0x0127, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14B5*/ { 0x0128, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*14B6*/ { 0x0129, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMINSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*14B7*/ { 0x06F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*14B8*/ { 0x06F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*14B9*/ { 0x06F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*14BA*/ { 0x06F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*14BB*/ { 0x06F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*14BC*/ { 0x06FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMINSW */ + /* ------------------------------------------------------------------------------------------ */ + /*14BD*/ { 0x04B2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14BE*/ { 0x04B3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14BF*/ { 0x04B4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14C0*/ { 0x04B5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14C1*/ { 0x06FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14C2*/ { 0x06FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14C3*/ { 0x06FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14C4*/ { 0x06FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14C5*/ { 0x06FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14C6*/ { 0x0700, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMINUB */ + /* ------------------------------------------------------------------------------------------ */ + /*14C7*/ { 0x04B6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14C8*/ { 0x04B7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14C9*/ { 0x04B8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14CA*/ { 0x04B9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14CB*/ { 0x0701, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14CC*/ { 0x0702, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14CD*/ { 0x0703, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14CE*/ { 0x0704, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14CF*/ { 0x0705, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14D0*/ { 0x0706, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xDA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMINUD */ + /* ------------------------------------------------------------------------------------------ */ + /*14D1*/ { 0x04BA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14D2*/ { 0x04BB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14D3*/ { 0x04BC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14D4*/ { 0x04BD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14D5*/ { 0x0707, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14D6*/ { 0x0708, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14D7*/ { 0x0709, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14D8*/ { 0x070A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14D9*/ { 0x070B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14DA*/ { 0x070C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14DB*/ { 0x012A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14DC*/ { 0x012B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*14DD*/ { 0x012C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMINUQ */ + /* ------------------------------------------------------------------------------------------ */ + /*14DE*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*14DF*/ { 0x070E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*14E0*/ { 0x070F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*14E1*/ { 0x0710, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*14E2*/ { 0x0711, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*14E3*/ { 0x0712, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMINUW */ + /* ------------------------------------------------------------------------------------------ */ + /*14E4*/ { 0x04BE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14E5*/ { 0x04BF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14E6*/ { 0x04C0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14E7*/ { 0x04C1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14E8*/ { 0x0713, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14E9*/ { 0x0714, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14EA*/ { 0x0715, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14EB*/ { 0x0716, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14EC*/ { 0x0717, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14ED*/ { 0x0718, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x3A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVB2M */ + /* ------------------------------------------------------------------------------------------ */ + /*14EE*/ { 0x0719, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14EF*/ { 0x071A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14F0*/ { 0x071B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVD2M */ + /* ------------------------------------------------------------------------------------------ */ + /*14F1*/ { 0x071C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14F2*/ { 0x071D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14F3*/ { 0x071E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVDB */ + /* ------------------------------------------------------------------------------------------ */ + /*14F4*/ { 0x071F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14F5*/ { 0x0720, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14F6*/ { 0x0721, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14F7*/ { 0x0722, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14F8*/ { 0x0723, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14F9*/ { 0x0724, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVDW */ + /* ------------------------------------------------------------------------------------------ */ + /*14FA*/ { 0x0725, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14FB*/ { 0x0726, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*14FC*/ { 0x0727, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14FD*/ { 0x0728, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*14FE*/ { 0x0729, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*14FF*/ { 0x072A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVM2B */ + /* ------------------------------------------------------------------------------------------ */ + /*1500*/ { 0x072B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1501*/ { 0x072C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1502*/ { 0x072D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVM2D */ + /* ------------------------------------------------------------------------------------------ */ + /*1503*/ { 0x072E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1504*/ { 0x072F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1505*/ { 0x0730, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVM2Q */ + /* ------------------------------------------------------------------------------------------ */ + /*1506*/ { 0x0731, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1507*/ { 0x0732, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1508*/ { 0x0733, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x38, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVM2W */ + /* ------------------------------------------------------------------------------------------ */ + /*1509*/ { 0x0734, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*150A*/ { 0x0735, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*150B*/ { 0x0736, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVMSKB */ + /* ------------------------------------------------------------------------------------------ */ + /*150C*/ { 0x04C2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*150D*/ { 0x04C3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVQ2M */ + /* ------------------------------------------------------------------------------------------ */ + /*150E*/ { 0x0737, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*150F*/ { 0x0738, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1510*/ { 0x0739, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x39, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVQB */ + /* ------------------------------------------------------------------------------------------ */ + /*1511*/ { 0x073A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1512*/ { 0x073B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1513*/ { 0x073C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1514*/ { 0x073D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1515*/ { 0x073E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1516*/ { 0x073F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVQD */ + /* ------------------------------------------------------------------------------------------ */ + /*1517*/ { 0x0740, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1518*/ { 0x0741, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1519*/ { 0x0742, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*151A*/ { 0x0743, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*151B*/ { 0x0744, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*151C*/ { 0x0745, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVQW */ + /* ------------------------------------------------------------------------------------------ */ + /*151D*/ { 0x0746, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*151E*/ { 0x0747, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*151F*/ { 0x0748, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1520*/ { 0x0749, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1521*/ { 0x074A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1522*/ { 0x074B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSDB */ + /* ------------------------------------------------------------------------------------------ */ + /*1523*/ { 0x074C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1524*/ { 0x074D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1525*/ { 0x074E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1526*/ { 0x074F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1527*/ { 0x0750, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1528*/ { 0x0751, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSDW */ + /* ------------------------------------------------------------------------------------------ */ + /*1529*/ { 0x0752, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*152A*/ { 0x0753, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*152B*/ { 0x0754, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*152C*/ { 0x0755, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*152D*/ { 0x0756, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*152E*/ { 0x0757, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSQB */ + /* ------------------------------------------------------------------------------------------ */ + /*152F*/ { 0x0758, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1530*/ { 0x0759, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1531*/ { 0x075A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1532*/ { 0x075B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1533*/ { 0x075C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1534*/ { 0x075D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSQD */ + /* ------------------------------------------------------------------------------------------ */ + /*1535*/ { 0x075E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1536*/ { 0x075F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1537*/ { 0x0760, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1538*/ { 0x0761, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1539*/ { 0x0762, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*153A*/ { 0x0763, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSQW */ + /* ------------------------------------------------------------------------------------------ */ + /*153B*/ { 0x0764, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*153C*/ { 0x0765, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*153D*/ { 0x0766, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*153E*/ { 0x0767, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*153F*/ { 0x0768, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1540*/ { 0x0769, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSWB */ + /* ------------------------------------------------------------------------------------------ */ + /*1541*/ { 0x076A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1542*/ { 0x076B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1543*/ { 0x076C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1544*/ { 0x076D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1545*/ { 0x076E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1546*/ { 0x076F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSXBD */ + /* ------------------------------------------------------------------------------------------ */ + /*1547*/ { 0x04C4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1548*/ { 0x04C5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1549*/ { 0x04C6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*154A*/ { 0x04C7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*154B*/ { 0x0770, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*154C*/ { 0x0771, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*154D*/ { 0x0772, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*154E*/ { 0x0773, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*154F*/ { 0x0774, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1550*/ { 0x0775, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x21, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSXBQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1551*/ { 0x04C8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1552*/ { 0x04C9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1553*/ { 0x04CA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1554*/ { 0x04CB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1555*/ { 0x0776, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1556*/ { 0x0777, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1557*/ { 0x0778, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1558*/ { 0x0779, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1559*/ { 0x077A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*155A*/ { 0x077B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x22, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSXBW */ + /* ------------------------------------------------------------------------------------------ */ + /*155B*/ { 0x04CC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*155C*/ { 0x04CD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*155D*/ { 0x04CE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*155E*/ { 0x04CF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*155F*/ { 0x077C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1560*/ { 0x077D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1561*/ { 0x077E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1562*/ { 0x077F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1563*/ { 0x0780, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1564*/ { 0x0781, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x20, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSXDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1565*/ { 0x04D0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1566*/ { 0x04D1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1567*/ { 0x04D2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1568*/ { 0x04D3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1569*/ { 0x0782, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*156A*/ { 0x0783, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*156B*/ { 0x0784, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*156C*/ { 0x0785, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*156D*/ { 0x0786, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*156E*/ { 0x0787, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSXWD */ + /* ------------------------------------------------------------------------------------------ */ + /*156F*/ { 0x04D4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1570*/ { 0x04D5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1571*/ { 0x04D6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1572*/ { 0x04D7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1573*/ { 0x0788, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1574*/ { 0x0789, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1575*/ { 0x078A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1576*/ { 0x078B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1577*/ { 0x078C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1578*/ { 0x078D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVSXWQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1579*/ { 0x04D8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*157A*/ { 0x04D9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*157B*/ { 0x04DA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*157C*/ { 0x04DB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*157D*/ { 0x078E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*157E*/ { 0x078F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*157F*/ { 0x0790, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1580*/ { 0x0791, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1581*/ { 0x0792, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1582*/ { 0x0793, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x24, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVUSDB */ + /* ------------------------------------------------------------------------------------------ */ + /*1583*/ { 0x0794, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1584*/ { 0x0795, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1585*/ { 0x0796, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1586*/ { 0x0797, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1587*/ { 0x0798, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1588*/ { 0x0799, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVUSDW */ + /* ------------------------------------------------------------------------------------------ */ + /*1589*/ { 0x079A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*158A*/ { 0x079B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*158B*/ { 0x079C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*158C*/ { 0x079D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*158D*/ { 0x079E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*158E*/ { 0x079F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x13, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVUSQB */ + /* ------------------------------------------------------------------------------------------ */ + /*158F*/ { 0x07A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1590*/ { 0x07A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1591*/ { 0x07A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1592*/ { 0x07A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1593*/ { 0x07A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1594*/ { 0x07A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVUSQD */ + /* ------------------------------------------------------------------------------------------ */ + /*1595*/ { 0x07A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1596*/ { 0x07A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1597*/ { 0x07A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1598*/ { 0x07A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1599*/ { 0x07AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*159A*/ { 0x07AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVUSQW */ + /* ------------------------------------------------------------------------------------------ */ + /*159B*/ { 0x07AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*159C*/ { 0x07AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*159D*/ { 0x07AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*159E*/ { 0x07AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*159F*/ { 0x07B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15A0*/ { 0x07B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVUSWB */ + /* ------------------------------------------------------------------------------------------ */ + /*15A1*/ { 0x07B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15A2*/ { 0x07B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15A3*/ { 0x07B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15A4*/ { 0x07B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15A5*/ { 0x07B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15A6*/ { 0x07B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVW2M */ + /* ------------------------------------------------------------------------------------------ */ + /*15A7*/ { 0x07B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*15A8*/ { 0x07B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*15A9*/ { 0x07BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x29, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVWB */ + /* ------------------------------------------------------------------------------------------ */ + /*15AA*/ { 0x07BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15AB*/ { 0x07BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15AC*/ { 0x07BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15AD*/ { 0x07BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15AE*/ { 0x07BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15AF*/ { 0x07C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVZXBD */ + /* ------------------------------------------------------------------------------------------ */ + /*15B0*/ { 0x04DC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15B1*/ { 0x04DD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15B2*/ { 0x04DE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15B3*/ { 0x04DF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15B4*/ { 0x07C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15B5*/ { 0x07C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15B6*/ { 0x07C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15B7*/ { 0x07C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15B8*/ { 0x07C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15B9*/ { 0x07C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x31, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVZXBQ */ + /* ------------------------------------------------------------------------------------------ */ + /*15BA*/ { 0x04E0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15BB*/ { 0x04E1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15BC*/ { 0x04E2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15BD*/ { 0x04E3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15BE*/ { 0x07C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15BF*/ { 0x07C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15C0*/ { 0x07C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15C1*/ { 0x07CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15C2*/ { 0x07CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15C3*/ { 0x07CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x32, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVZXBW */ + /* ------------------------------------------------------------------------------------------ */ + /*15C4*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15C5*/ { 0x04E5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15C6*/ { 0x04E6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15C7*/ { 0x04E7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15C8*/ { 0x07CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15C9*/ { 0x07CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15CA*/ { 0x07CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15CB*/ { 0x07D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15CC*/ { 0x07D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15CD*/ { 0x07D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x30, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVZXDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*15CE*/ { 0x04E8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15CF*/ { 0x04E9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15D0*/ { 0x04EA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15D1*/ { 0x04EB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15D2*/ { 0x07D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15D3*/ { 0x07D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15D4*/ { 0x07D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15D5*/ { 0x07D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15D6*/ { 0x07D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15D7*/ { 0x07D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x35, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVZXWD */ + /* ------------------------------------------------------------------------------------------ */ + /*15D8*/ { 0x04EC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15D9*/ { 0x04ED, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15DA*/ { 0x04EE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15DB*/ { 0x04EF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15DC*/ { 0x07D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15DD*/ { 0x07DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15DE*/ { 0x07DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15DF*/ { 0x07DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15E0*/ { 0x07DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15E1*/ { 0x07DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x33, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMOVZXWQ */ + /* ------------------------------------------------------------------------------------------ */ + /*15E2*/ { 0x04F0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15E3*/ { 0x04F1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15E4*/ { 0x04F2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15E5*/ { 0x04F3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15E6*/ { 0x07DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15E7*/ { 0x07E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15E8*/ { 0x07E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15E9*/ { 0x07E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15EA*/ { 0x07E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*15EB*/ { 0x07E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x34, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*15EC*/ { 0x04F4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15ED*/ { 0x04F5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15EE*/ { 0x04F6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15EF*/ { 0x04F7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15F0*/ { 0x07E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*15F1*/ { 0x07E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*15F2*/ { 0x07E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*15F3*/ { 0x07E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*15F4*/ { 0x07E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*15F5*/ { 0x07EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x28, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULHD */ + /* ------------------------------------------------------------------------------------------ */ + /*15F6*/ { 0x012D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x87, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15F7*/ { 0x012E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x87, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*15F8*/ { 0x012F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x87, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULHRSW */ + /* ------------------------------------------------------------------------------------------ */ + /*15F9*/ { 0x04F8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15FA*/ { 0x04F9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15FB*/ { 0x04FA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15FC*/ { 0x04FB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*15FD*/ { 0x07EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15FE*/ { 0x07EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*15FF*/ { 0x07ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1600*/ { 0x07EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1601*/ { 0x07EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1602*/ { 0x07F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULHUD */ + /* ------------------------------------------------------------------------------------------ */ + /*1603*/ { 0x0130, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x86, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1604*/ { 0x0131, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x86, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1605*/ { 0x0132, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x86, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULHUW */ + /* ------------------------------------------------------------------------------------------ */ + /*1606*/ { 0x04FC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1607*/ { 0x04FD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1608*/ { 0x04FE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1609*/ { 0x04FF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*160A*/ { 0x07F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*160B*/ { 0x07F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*160C*/ { 0x07F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*160D*/ { 0x07F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*160E*/ { 0x07F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*160F*/ { 0x07F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULHW */ + /* ------------------------------------------------------------------------------------------ */ + /*1610*/ { 0x0500, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1611*/ { 0x0501, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1612*/ { 0x0502, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1613*/ { 0x0503, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1614*/ { 0x07F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1615*/ { 0x07F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1616*/ { 0x07F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1617*/ { 0x07FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1618*/ { 0x07FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1619*/ { 0x07FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULLD */ + /* ------------------------------------------------------------------------------------------ */ + /*161A*/ { 0x0504, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*161B*/ { 0x0505, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*161C*/ { 0x0506, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*161D*/ { 0x0507, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*161E*/ { 0x07FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*161F*/ { 0x07FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1620*/ { 0x07FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1621*/ { 0x0800, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1622*/ { 0x0801, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1623*/ { 0x0802, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1624*/ { 0x0133, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1625*/ { 0x0134, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1626*/ { 0x0135, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1627*/ { 0x0803, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1628*/ { 0x0804, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1629*/ { 0x0805, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*162A*/ { 0x0806, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*162B*/ { 0x0807, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*162C*/ { 0x0808, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x40, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULLW */ + /* ------------------------------------------------------------------------------------------ */ + /*162D*/ { 0x0508, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*162E*/ { 0x0509, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*162F*/ { 0x050A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1630*/ { 0x050B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1631*/ { 0x0809, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1632*/ { 0x080A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1633*/ { 0x080B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1634*/ { 0x080C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1635*/ { 0x080D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1636*/ { 0x080E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD5, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULTISHIFTQB */ + /* ------------------------------------------------------------------------------------------ */ + /*1637*/ { 0x080F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x83, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1638*/ { 0x0810, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x83, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1639*/ { 0x0811, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x83, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*163A*/ { 0x0812, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x83, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*163B*/ { 0x0813, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x83, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*163C*/ { 0x0814, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x83, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPMULUDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*163D*/ { 0x050C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*163E*/ { 0x050D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*163F*/ { 0x050E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1640*/ { 0x050F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1641*/ { 0x0815, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1642*/ { 0x0816, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1643*/ { 0x0817, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1644*/ { 0x0818, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1645*/ { 0x0819, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1646*/ { 0x081A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF4, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPOPCNTD */ + /* ------------------------------------------------------------------------------------------ */ + /*1647*/ { 0x081B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1648*/ { 0x081C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPOPCNTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1649*/ { 0x081D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*164A*/ { 0x081E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x55, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPOR */ + /* ------------------------------------------------------------------------------------------ */ + /*164B*/ { 0x0510, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*164C*/ { 0x0511, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*164D*/ { 0x0512, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*164E*/ { 0x0513, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPORD */ + /* ------------------------------------------------------------------------------------------ */ + /*164F*/ { 0x081F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1650*/ { 0x0820, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1651*/ { 0x0821, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1652*/ { 0x0822, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1653*/ { 0x0823, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1654*/ { 0x0824, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1655*/ { 0x0136, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1656*/ { 0x0137, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1657*/ { 0x0138, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPORQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1658*/ { 0x0825, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1659*/ { 0x0826, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*165A*/ { 0x0827, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*165B*/ { 0x0828, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*165C*/ { 0x0829, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*165D*/ { 0x082A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*165E*/ { 0x0139, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*165F*/ { 0x013A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*1660*/ { 0x013B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPPERM */ + /* ------------------------------------------------------------------------------------------ */ + /*1661*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA3, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1662*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA3, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1663*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA3, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1664*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xA3, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPREFETCH0 */ + /* ------------------------------------------------------------------------------------------ */ + /*1665*/ { 0x0514, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1666*/ { 0x013C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPREFETCH1 */ + /* ------------------------------------------------------------------------------------------ */ + /*1667*/ { 0x0515, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1668*/ { 0x013D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPREFETCH2 */ + /* ------------------------------------------------------------------------------------------ */ + /*1669*/ { 0x0516, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*166A*/ { 0x013E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPREFETCHE0 */ + /* ------------------------------------------------------------------------------------------ */ + /*166B*/ { 0x0517, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*166C*/ { 0x013F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPREFETCHE1 */ + /* ------------------------------------------------------------------------------------------ */ + /*166D*/ { 0x0518, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*166E*/ { 0x0140, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPREFETCHE2 */ + /* ------------------------------------------------------------------------------------------ */ + /*166F*/ { 0x0519, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1670*/ { 0x0141, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPREFETCHENTA */ + /* ------------------------------------------------------------------------------------------ */ + /*1671*/ { 0x051A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1672*/ { 0x0142, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPREFETCHNTA */ + /* ------------------------------------------------------------------------------------------ */ + /*1673*/ { 0x051B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1674*/ { 0x0143, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x18, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPROLD */ + /* ------------------------------------------------------------------------------------------ */ + /*1675*/ { 0x082B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1676*/ { 0x082C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1677*/ { 0x082D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1678*/ { 0x082E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1679*/ { 0x082F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*167A*/ { 0x0830, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPROLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*167B*/ { 0x0831, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*167C*/ { 0x0832, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*167D*/ { 0x0833, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*167E*/ { 0x0834, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*167F*/ { 0x0835, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1680*/ { 0x0836, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPROLVD */ + /* ------------------------------------------------------------------------------------------ */ + /*1681*/ { 0x0837, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1682*/ { 0x0838, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1683*/ { 0x0839, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1684*/ { 0x083A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1685*/ { 0x083B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1686*/ { 0x083C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPROLVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1687*/ { 0x083D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1688*/ { 0x083E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1689*/ { 0x083F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*168A*/ { 0x0840, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*168B*/ { 0x0841, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*168C*/ { 0x0842, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPRORD */ + /* ------------------------------------------------------------------------------------------ */ + /*168D*/ { 0x0843, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*168E*/ { 0x0844, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*168F*/ { 0x0845, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1690*/ { 0x0846, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1691*/ { 0x0847, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1692*/ { 0x0848, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPRORQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1693*/ { 0x0849, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1694*/ { 0x084A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1695*/ { 0x084B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1696*/ { 0x084C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1697*/ { 0x084D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1698*/ { 0x084E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPRORVD */ + /* ------------------------------------------------------------------------------------------ */ + /*1699*/ { 0x084F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*169A*/ { 0x0850, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*169B*/ { 0x0851, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*169C*/ { 0x0852, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*169D*/ { 0x0853, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*169E*/ { 0x0854, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPRORVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*169F*/ { 0x0855, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16A0*/ { 0x0856, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16A1*/ { 0x0857, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*16A2*/ { 0x0858, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*16A3*/ { 0x0859, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*16A4*/ { 0x085A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPROTB */ + /* ------------------------------------------------------------------------------------------ */ + /*16A5*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC0, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16A6*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC0, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16A7*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x90, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16A8*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x90, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16A9*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x90, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16AA*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x90, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPROTD */ + /* ------------------------------------------------------------------------------------------ */ + /*16AB*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16AC*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC2, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16AD*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x92, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16AE*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x92, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16AF*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x92, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16B0*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x92, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPROTQ */ + /* ------------------------------------------------------------------------------------------ */ + /*16B1*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC3, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16B2*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC3, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16B3*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x93, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16B4*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x93, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16B5*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x93, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16B6*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x93, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPROTW */ + /* ------------------------------------------------------------------------------------------ */ + /*16B7*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC1, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16B8*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_XOP , 0xC1, ZYDIS_OPCODE_MAP_XOP8 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16B9*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x91, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16BA*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x91, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16BB*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x91, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16BC*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x91, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSADBW */ + /* ------------------------------------------------------------------------------------------ */ + /*16BD*/ { 0x051C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16BE*/ { 0x051D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16BF*/ { 0x051E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*16C0*/ { 0x051F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*16C1*/ { 0x085B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16C2*/ { 0x085C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16C3*/ { 0x085D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*16C4*/ { 0x085E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*16C5*/ { 0x085F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*16C6*/ { 0x0860, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSBBD */ + /* ------------------------------------------------------------------------------------------ */ + /*16C7*/ { 0x0144, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16C8*/ { 0x0145, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*16C9*/ { 0x0146, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSBBRD */ + /* ------------------------------------------------------------------------------------------ */ + /*16CA*/ { 0x0147, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16CB*/ { 0x0148, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*16CC*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSCATTERDD */ + /* ------------------------------------------------------------------------------------------ */ + /*16CD*/ { 0x0861, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16CE*/ { 0x0862, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*16CF*/ { 0x0863, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*16D0*/ { 0x014A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSCATTERDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*16D1*/ { 0x0864, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16D2*/ { 0x0865, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*16D3*/ { 0x0866, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*16D4*/ { 0x014B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA0, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSCATTERQD */ + /* ------------------------------------------------------------------------------------------ */ + /*16D5*/ { 0x0867, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16D6*/ { 0x0868, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*16D7*/ { 0x0869, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSCATTERQQ */ + /* ------------------------------------------------------------------------------------------ */ + /*16D8*/ { 0x086A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16D9*/ { 0x086B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*16DA*/ { 0x086C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA1, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHAB */ + /* ------------------------------------------------------------------------------------------ */ + /*16DB*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x98, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16DC*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x98, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16DD*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x98, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16DE*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x98, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHAD */ + /* ------------------------------------------------------------------------------------------ */ + /*16DF*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9A, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16E0*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9A, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16E1*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9A, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16E2*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9A, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHAQ */ + /* ------------------------------------------------------------------------------------------ */ + /*16E3*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9B, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16E4*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9B, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16E5*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9B, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16E6*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x9B, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHAW */ + /* ------------------------------------------------------------------------------------------ */ + /*16E7*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x99, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16E8*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x99, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16E9*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x99, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16EA*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x99, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHLB */ + /* ------------------------------------------------------------------------------------------ */ + /*16EB*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x94, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16EC*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x94, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16ED*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x94, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16EE*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x94, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHLD */ + /* ------------------------------------------------------------------------------------------ */ + /*16EF*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x96, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16F0*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x96, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16F1*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x96, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16F2*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x96, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*16F3*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x97, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16F4*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x97, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16F5*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x97, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16F6*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x97, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHLW */ + /* ------------------------------------------------------------------------------------------ */ + /*16F7*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x95, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16F8*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x95, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16F9*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x95, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*16FA*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_XOP , 0x95, ZYDIS_OPCODE_MAP_XOP9 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHUFB */ + /* ------------------------------------------------------------------------------------------ */ + /*16FB*/ { 0x0520, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16FC*/ { 0x0521, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*16FD*/ { 0x0522, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*16FE*/ { 0x0523, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*16FF*/ { 0x086D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1700*/ { 0x086E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1701*/ { 0x086F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1702*/ { 0x0870, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1703*/ { 0x0871, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1704*/ { 0x0872, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x00, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHUFD */ + /* ------------------------------------------------------------------------------------------ */ + /*1705*/ { 0x0524, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1706*/ { 0x0525, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1707*/ { 0x0526, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1708*/ { 0x0527, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1709*/ { 0x0873, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*170A*/ { 0x0874, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*170B*/ { 0x0875, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*170C*/ { 0x0876, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*170D*/ { 0x0877, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*170E*/ { 0x0878, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*170F*/ { 0x014C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1710*/ { 0x014D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*1711*/ { 0x014E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHUFHW */ + /* ------------------------------------------------------------------------------------------ */ + /*1712*/ { 0x0528, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1713*/ { 0x0529, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1714*/ { 0x052A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1715*/ { 0x052B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1716*/ { 0x0879, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1717*/ { 0x087A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1718*/ { 0x087B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1719*/ { 0x087C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*171A*/ { 0x087D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*171B*/ { 0x087E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSHUFLW */ + /* ------------------------------------------------------------------------------------------ */ + /*171C*/ { 0x052C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*171D*/ { 0x052D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*171E*/ { 0x052E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*171F*/ { 0x052F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1720*/ { 0x087F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1721*/ { 0x0880, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1722*/ { 0x0881, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1723*/ { 0x0882, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1724*/ { 0x0883, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1725*/ { 0x0884, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x70, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSIGNB */ + /* ------------------------------------------------------------------------------------------ */ + /*1726*/ { 0x0530, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x08, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1727*/ { 0x0531, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x08, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1728*/ { 0x0532, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x08, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1729*/ { 0x0533, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x08, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSIGND */ + /* ------------------------------------------------------------------------------------------ */ + /*172A*/ { 0x0534, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*172B*/ { 0x0535, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*172C*/ { 0x0536, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*172D*/ { 0x0537, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0A, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSIGNW */ + /* ------------------------------------------------------------------------------------------ */ + /*172E*/ { 0x0538, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x09, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*172F*/ { 0x0539, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x09, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1730*/ { 0x053A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x09, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1731*/ { 0x053B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x09, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSLLD */ + /* ------------------------------------------------------------------------------------------ */ + /*1732*/ { 0x053C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1733*/ { 0x053D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1734*/ { 0x053E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1735*/ { 0x053F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1736*/ { 0x0540, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1737*/ { 0x0541, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1738*/ { 0x0885, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1739*/ { 0x0886, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*173A*/ { 0x0887, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*173B*/ { 0x0888, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*173C*/ { 0x0889, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*173D*/ { 0x088A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*173E*/ { 0x088B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*173F*/ { 0x088C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1740*/ { 0x088D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1741*/ { 0x088E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1742*/ { 0x088F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1743*/ { 0x0890, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1744*/ { 0x014F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1745*/ { 0x0150, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*1746*/ { 0x0151, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSLLDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1747*/ { 0x0542, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1748*/ { 0x0543, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1749*/ { 0x0891, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*174A*/ { 0x0892, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*174B*/ { 0x0893, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*174C*/ { 0x0894, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*174D*/ { 0x0895, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*174E*/ { 0x0896, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSLLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*174F*/ { 0x0544, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1750*/ { 0x0545, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1751*/ { 0x0546, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1752*/ { 0x0547, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1753*/ { 0x0548, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1754*/ { 0x0549, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1755*/ { 0x0897, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1756*/ { 0x0898, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1757*/ { 0x0899, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1758*/ { 0x089A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1759*/ { 0x089B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*175A*/ { 0x089C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*175B*/ { 0x089D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*175C*/ { 0x089E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*175D*/ { 0x089F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*175E*/ { 0x08A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*175F*/ { 0x08A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1760*/ { 0x08A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSLLVD */ + /* ------------------------------------------------------------------------------------------ */ + /*1761*/ { 0x054A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1762*/ { 0x054B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1763*/ { 0x054C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1764*/ { 0x054D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1765*/ { 0x08A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1766*/ { 0x08A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1767*/ { 0x08A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1768*/ { 0x08A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1769*/ { 0x08A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*176A*/ { 0x08A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*176B*/ { 0x0152, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*176C*/ { 0x0153, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*176D*/ { 0x0154, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSLLVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*176E*/ { 0x054E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*176F*/ { 0x054F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1770*/ { 0x0550, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1771*/ { 0x0551, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1772*/ { 0x08A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1773*/ { 0x08AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1774*/ { 0x08AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1775*/ { 0x08AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1776*/ { 0x08AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1777*/ { 0x08AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x47, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSLLVW */ + /* ------------------------------------------------------------------------------------------ */ + /*1778*/ { 0x08AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1779*/ { 0x08B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*177A*/ { 0x08B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*177B*/ { 0x08B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*177C*/ { 0x08B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*177D*/ { 0x08B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x12, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSLLW */ + /* ------------------------------------------------------------------------------------------ */ + /*177E*/ { 0x0552, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*177F*/ { 0x0553, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1780*/ { 0x0554, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1781*/ { 0x0555, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1782*/ { 0x0556, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1783*/ { 0x0557, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1784*/ { 0x08B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1785*/ { 0x08B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1786*/ { 0x08B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1787*/ { 0x08B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1788*/ { 0x08B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1789*/ { 0x08BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*178A*/ { 0x08BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*178B*/ { 0x08BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*178C*/ { 0x08BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*178D*/ { 0x08BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*178E*/ { 0x08BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*178F*/ { 0x08C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRAD */ + /* ------------------------------------------------------------------------------------------ */ + /*1790*/ { 0x0558, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1791*/ { 0x0559, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1792*/ { 0x055A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1793*/ { 0x055B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1794*/ { 0x055C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1795*/ { 0x055D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1796*/ { 0x08C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1797*/ { 0x08C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1798*/ { 0x08C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1799*/ { 0x08C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*179A*/ { 0x08C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*179B*/ { 0x08C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*179C*/ { 0x08C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*179D*/ { 0x08C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*179E*/ { 0x08C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*179F*/ { 0x08CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17A0*/ { 0x08CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17A1*/ { 0x08CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17A2*/ { 0x0155, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*17A3*/ { 0x0156, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*17A4*/ { 0x0157, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRAQ */ + /* ------------------------------------------------------------------------------------------ */ + /*17A5*/ { 0x08CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*17A6*/ { 0x08CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*17A7*/ { 0x08CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*17A8*/ { 0x08D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*17A9*/ { 0x08D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*17AA*/ { 0x08D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*17AB*/ { 0x08D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*17AC*/ { 0x08D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*17AD*/ { 0x08D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*17AE*/ { 0x08D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*17AF*/ { 0x08D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*17B0*/ { 0x08D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRAVD */ + /* ------------------------------------------------------------------------------------------ */ + /*17B1*/ { 0x055E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17B2*/ { 0x055F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17B3*/ { 0x0560, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17B4*/ { 0x0561, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17B5*/ { 0x08D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17B6*/ { 0x08DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17B7*/ { 0x08DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17B8*/ { 0x08DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17B9*/ { 0x08DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17BA*/ { 0x08DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17BB*/ { 0x0158, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17BC*/ { 0x0159, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*17BD*/ { 0x015A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRAVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*17BE*/ { 0x08DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*17BF*/ { 0x08E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*17C0*/ { 0x08E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*17C1*/ { 0x08E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*17C2*/ { 0x08E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*17C3*/ { 0x08E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x46, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRAVW */ + /* ------------------------------------------------------------------------------------------ */ + /*17C4*/ { 0x08E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*17C5*/ { 0x08E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*17C6*/ { 0x08E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*17C7*/ { 0x08E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*17C8*/ { 0x08E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*17C9*/ { 0x08EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x11, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRAW */ + /* ------------------------------------------------------------------------------------------ */ + /*17CA*/ { 0x0562, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17CB*/ { 0x0563, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17CC*/ { 0x0564, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17CD*/ { 0x0565, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17CE*/ { 0x0566, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17CF*/ { 0x0567, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17D0*/ { 0x08EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17D1*/ { 0x08EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17D2*/ { 0x08ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17D3*/ { 0x08EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17D4*/ { 0x08EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17D5*/ { 0x08F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17D6*/ { 0x08F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17D7*/ { 0x08F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17D8*/ { 0x08F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17D9*/ { 0x08F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17DA*/ { 0x08F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17DB*/ { 0x08F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRLD */ + /* ------------------------------------------------------------------------------------------ */ + /*17DC*/ { 0x0568, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17DD*/ { 0x0569, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17DE*/ { 0x056A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17DF*/ { 0x056B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17E0*/ { 0x056C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17E1*/ { 0x056D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17E2*/ { 0x08F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17E3*/ { 0x08F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17E4*/ { 0x08F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17E5*/ { 0x08FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17E6*/ { 0x08FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17E7*/ { 0x08FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17E8*/ { 0x08FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17E9*/ { 0x08FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17EA*/ { 0x08FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17EB*/ { 0x0900, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17EC*/ { 0x0901, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17ED*/ { 0x0902, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD2, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17EE*/ { 0x015B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*17EF*/ { 0x015C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*17F0*/ { 0x015D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x72, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRLDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*17F1*/ { 0x056E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17F2*/ { 0x056F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17F3*/ { 0x0903, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17F4*/ { 0x0904, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17F5*/ { 0x0905, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17F6*/ { 0x0906, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17F7*/ { 0x0907, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*17F8*/ { 0x0908, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRLQ */ + /* ------------------------------------------------------------------------------------------ */ + /*17F9*/ { 0x0570, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17FA*/ { 0x0571, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17FB*/ { 0x0572, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17FC*/ { 0x0573, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*17FD*/ { 0x0574, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17FE*/ { 0x0575, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*17FF*/ { 0x0909, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1800*/ { 0x090A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1801*/ { 0x090B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1802*/ { 0x090C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1803*/ { 0x090D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1804*/ { 0x090E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x73, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1805*/ { 0x090F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1806*/ { 0x0910, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1807*/ { 0x0911, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1808*/ { 0x0912, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1809*/ { 0x0913, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*180A*/ { 0x0914, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD3, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRLVD */ + /* ------------------------------------------------------------------------------------------ */ + /*180B*/ { 0x0576, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*180C*/ { 0x0577, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*180D*/ { 0x0578, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*180E*/ { 0x0579, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*180F*/ { 0x0915, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1810*/ { 0x0916, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1811*/ { 0x0917, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1812*/ { 0x0918, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1813*/ { 0x0919, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1814*/ { 0x091A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1815*/ { 0x015E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1816*/ { 0x015F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*1817*/ { 0x0160, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRLVQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1818*/ { 0x057A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1819*/ { 0x057B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*181A*/ { 0x057C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*181B*/ { 0x057D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*181C*/ { 0x091B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*181D*/ { 0x091C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*181E*/ { 0x091D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*181F*/ { 0x091E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1820*/ { 0x091F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1821*/ { 0x0920, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x45, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRLVW */ + /* ------------------------------------------------------------------------------------------ */ + /*1822*/ { 0x0921, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1823*/ { 0x0922, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1824*/ { 0x0923, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1825*/ { 0x0924, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1826*/ { 0x0925, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1827*/ { 0x0926, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x10, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSRLW */ + /* ------------------------------------------------------------------------------------------ */ + /*1828*/ { 0x057E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1829*/ { 0x057F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*182A*/ { 0x0580, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*182B*/ { 0x0581, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*182C*/ { 0x0582, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*182D*/ { 0x0583, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*182E*/ { 0x0927, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*182F*/ { 0x0928, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1830*/ { 0x0929, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1831*/ { 0x092A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1832*/ { 0x092B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1833*/ { 0x092C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x71, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1834*/ { 0x092D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1835*/ { 0x092E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1836*/ { 0x092F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1837*/ { 0x0930, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1838*/ { 0x0931, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1839*/ { 0x0932, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBB */ + /* ------------------------------------------------------------------------------------------ */ + /*183A*/ { 0x0584, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*183B*/ { 0x0585, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*183C*/ { 0x0586, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*183D*/ { 0x0587, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*183E*/ { 0x0933, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*183F*/ { 0x0934, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1840*/ { 0x0935, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1841*/ { 0x0936, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1842*/ { 0x0937, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1843*/ { 0x0938, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBD */ + /* ------------------------------------------------------------------------------------------ */ + /*1844*/ { 0x0588, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1845*/ { 0x0589, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1846*/ { 0x058A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1847*/ { 0x058B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1848*/ { 0x0939, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1849*/ { 0x093A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*184A*/ { 0x093B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*184B*/ { 0x093C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*184C*/ { 0x093D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*184D*/ { 0x093E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*184E*/ { 0x0161, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*184F*/ { 0x0162, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1850*/ { 0x0163, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xFA, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1851*/ { 0x058C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1852*/ { 0x058D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1853*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1854*/ { 0x058F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1855*/ { 0x093F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1856*/ { 0x0940, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1857*/ { 0x0941, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1858*/ { 0x0942, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1859*/ { 0x0943, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*185A*/ { 0x0944, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xFB, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBRD */ + /* ------------------------------------------------------------------------------------------ */ + /*185B*/ { 0x0164, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*185C*/ { 0x0165, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*185D*/ { 0x0166, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBRSETBD */ + /* ------------------------------------------------------------------------------------------ */ + /*185E*/ { 0x0167, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*185F*/ { 0x0168, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1860*/ { 0x0169, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBSB */ + /* ------------------------------------------------------------------------------------------ */ + /*1861*/ { 0x0590, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1862*/ { 0x0591, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1863*/ { 0x0592, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1864*/ { 0x0593, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1865*/ { 0x0945, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1866*/ { 0x0946, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1867*/ { 0x0947, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1868*/ { 0x0948, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1869*/ { 0x0949, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*186A*/ { 0x094A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBSETBD */ + /* ------------------------------------------------------------------------------------------ */ + /*186B*/ { 0x016A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*186C*/ { 0x016B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*186D*/ { 0x016C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBSW */ + /* ------------------------------------------------------------------------------------------ */ + /*186E*/ { 0x0594, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*186F*/ { 0x0595, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1870*/ { 0x0596, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1871*/ { 0x0597, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1872*/ { 0x094B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1873*/ { 0x094C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1874*/ { 0x094D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1875*/ { 0x094E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1876*/ { 0x094F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1877*/ { 0x0950, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xE9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBUSB */ + /* ------------------------------------------------------------------------------------------ */ + /*1878*/ { 0x0598, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1879*/ { 0x0599, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*187A*/ { 0x059A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*187B*/ { 0x059B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*187C*/ { 0x0951, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*187D*/ { 0x0952, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*187E*/ { 0x0953, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*187F*/ { 0x0954, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1880*/ { 0x0955, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1881*/ { 0x0956, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD8, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBUSW */ + /* ------------------------------------------------------------------------------------------ */ + /*1882*/ { 0x059C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1883*/ { 0x059D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1884*/ { 0x059E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1885*/ { 0x059F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1886*/ { 0x0957, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1887*/ { 0x0958, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1888*/ { 0x0959, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1889*/ { 0x095A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*188A*/ { 0x095B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*188B*/ { 0x095C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xD9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPSUBW */ + /* ------------------------------------------------------------------------------------------ */ + /*188C*/ { 0x05A0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*188D*/ { 0x05A1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*188E*/ { 0x05A2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*188F*/ { 0x05A3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1890*/ { 0x095D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1891*/ { 0x095E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1892*/ { 0x095F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1893*/ { 0x0960, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1894*/ { 0x0961, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1895*/ { 0x0962, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xF9, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTERNLOGD */ + /* ------------------------------------------------------------------------------------------ */ + /*1896*/ { 0x0963, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1897*/ { 0x0964, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1898*/ { 0x0965, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1899*/ { 0x0966, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*189A*/ { 0x0967, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*189B*/ { 0x0968, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTERNLOGQ */ + /* ------------------------------------------------------------------------------------------ */ + /*189C*/ { 0x0969, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*189D*/ { 0x096A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*189E*/ { 0x096B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*189F*/ { 0x096C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18A0*/ { 0x096D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*18A1*/ { 0x096E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x25, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTEST */ + /* ------------------------------------------------------------------------------------------ */ + /*18A2*/ { 0x05A4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x17, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18A3*/ { 0x05A5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x17, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18A4*/ { 0x05A6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x17, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18A5*/ { 0x05A7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x17, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTESTMB */ + /* ------------------------------------------------------------------------------------------ */ + /*18A6*/ { 0x096F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18A7*/ { 0x0970, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18A8*/ { 0x0971, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18A9*/ { 0x0972, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18AA*/ { 0x0973, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*18AB*/ { 0x0974, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTESTMD */ + /* ------------------------------------------------------------------------------------------ */ + /*18AC*/ { 0x0975, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18AD*/ { 0x0976, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18AE*/ { 0x0977, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18AF*/ { 0x0978, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18B0*/ { 0x0979, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*18B1*/ { 0x097A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*18B2*/ { 0x016D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18B3*/ { 0x016E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*18B4*/ { 0x016F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTESTMQ */ + /* ------------------------------------------------------------------------------------------ */ + /*18B5*/ { 0x097B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18B6*/ { 0x097C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18B7*/ { 0x097D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18B8*/ { 0x097E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18B9*/ { 0x097F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*18BA*/ { 0x0980, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTESTMW */ + /* ------------------------------------------------------------------------------------------ */ + /*18BB*/ { 0x0981, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18BC*/ { 0x0982, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18BD*/ { 0x0983, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18BE*/ { 0x0984, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18BF*/ { 0x0985, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*18C0*/ { 0x0986, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTESTNMB */ + /* ------------------------------------------------------------------------------------------ */ + /*18C1*/ { 0x0987, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18C2*/ { 0x0988, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18C3*/ { 0x0989, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18C4*/ { 0x098A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18C5*/ { 0x098B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*18C6*/ { 0x098C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTESTNMD */ + /* ------------------------------------------------------------------------------------------ */ + /*18C7*/ { 0x098D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18C8*/ { 0x098E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18C9*/ { 0x098F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18CA*/ { 0x0990, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18CB*/ { 0x0991, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*18CC*/ { 0x0992, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTESTNMQ */ + /* ------------------------------------------------------------------------------------------ */ + /*18CD*/ { 0x0993, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18CE*/ { 0x0994, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18CF*/ { 0x0995, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18D0*/ { 0x0996, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18D1*/ { 0x0997, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*18D2*/ { 0x0998, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x27, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPTESTNMW */ + /* ------------------------------------------------------------------------------------------ */ + /*18D3*/ { 0x0999, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18D4*/ { 0x099A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18D5*/ { 0x099B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18D6*/ { 0x099C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18D7*/ { 0x099D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*18D8*/ { 0x099E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x26, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPUNPCKHBW */ + /* ------------------------------------------------------------------------------------------ */ + /*18D9*/ { 0x05A8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18DA*/ { 0x05A9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18DB*/ { 0x05AA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18DC*/ { 0x05AB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18DD*/ { 0x099F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18DE*/ { 0x09A0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18DF*/ { 0x09A1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18E0*/ { 0x09A2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18E1*/ { 0x09A3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*18E2*/ { 0x09A4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x68, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPUNPCKHDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*18E3*/ { 0x05AC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18E4*/ { 0x05AD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18E5*/ { 0x05AE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18E6*/ { 0x05AF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18E7*/ { 0x09A5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18E8*/ { 0x09A6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18E9*/ { 0x09A7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18EA*/ { 0x09A8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18EB*/ { 0x09A9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*18EC*/ { 0x09AA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6A, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPUNPCKHQDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*18ED*/ { 0x05B0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18EE*/ { 0x05B1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18EF*/ { 0x05B2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18F0*/ { 0x05B3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18F1*/ { 0x09AB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18F2*/ { 0x09AC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*18F3*/ { 0x09AD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18F4*/ { 0x09AE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*18F5*/ { 0x09AF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*18F6*/ { 0x09B0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6D, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPUNPCKHWD */ + /* ------------------------------------------------------------------------------------------ */ + /*18F7*/ { 0x05B4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18F8*/ { 0x05B5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18F9*/ { 0x05B6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18FA*/ { 0x05B7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18FB*/ { 0x09B1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18FC*/ { 0x09B2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*18FD*/ { 0x09B3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18FE*/ { 0x09B4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*18FF*/ { 0x09B5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1900*/ { 0x09B6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x69, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPUNPCKLBW */ + /* ------------------------------------------------------------------------------------------ */ + /*1901*/ { 0x05B8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1902*/ { 0x05B9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1903*/ { 0x05BA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1904*/ { 0x05BB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1905*/ { 0x09B7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1906*/ { 0x09B8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1907*/ { 0x09B9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1908*/ { 0x09BA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1909*/ { 0x09BB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*190A*/ { 0x09BC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x60, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPUNPCKLDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*190B*/ { 0x05BC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*190C*/ { 0x05BD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*190D*/ { 0x05BE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*190E*/ { 0x05BF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*190F*/ { 0x09BD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1910*/ { 0x09BE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1911*/ { 0x09BF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1912*/ { 0x09C0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1913*/ { 0x09C1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1914*/ { 0x09C2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x62, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPUNPCKLQDQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1915*/ { 0x05C0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1916*/ { 0x05C1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1917*/ { 0x05C2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1918*/ { 0x05C3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1919*/ { 0x09C3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*191A*/ { 0x09C4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*191B*/ { 0x09C5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*191C*/ { 0x09C6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*191D*/ { 0x09C7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*191E*/ { 0x09C8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x6C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPUNPCKLWD */ + /* ------------------------------------------------------------------------------------------ */ + /*191F*/ { 0x05C4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1920*/ { 0x05C5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1921*/ { 0x05C6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1922*/ { 0x05C7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1923*/ { 0x09C9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1924*/ { 0x09CA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1925*/ { 0x09CB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1926*/ { 0x09CC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1927*/ { 0x09CD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1928*/ { 0x09CE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x61, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPXOR */ + /* ------------------------------------------------------------------------------------------ */ + /*1929*/ { 0x05C8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*192A*/ { 0x05C9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*192B*/ { 0x05CA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*192C*/ { 0x05CB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPXORD */ + /* ------------------------------------------------------------------------------------------ */ + /*192D*/ { 0x09CF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*192E*/ { 0x09D0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*192F*/ { 0x09D1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1930*/ { 0x09D2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1931*/ { 0x09D3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1932*/ { 0x09D4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1933*/ { 0x0170, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1934*/ { 0x0171, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1935*/ { 0x0172, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VPXORQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1936*/ { 0x09D5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1937*/ { 0x09D6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1938*/ { 0x09D7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1939*/ { 0x09D8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*193A*/ { 0x09D9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*193B*/ { 0x09DA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*193C*/ { 0x0173, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*193D*/ { 0x0174, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*193E*/ { 0x0175, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xEF, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRANGEPD */ + /* ------------------------------------------------------------------------------------------ */ + /*193F*/ { 0x09DB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1940*/ { 0x09DC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1941*/ { 0x09DD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1942*/ { 0x09DE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1943*/ { 0x09DF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1944*/ { 0x09E0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1945*/ { 0x09E1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRANGEPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1946*/ { 0x09E2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1947*/ { 0x09E3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1948*/ { 0x09E4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1949*/ { 0x09E5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*194A*/ { 0x09E6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*194B*/ { 0x09E7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*194C*/ { 0x09E8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x50, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRANGESD */ + /* ------------------------------------------------------------------------------------------ */ + /*194D*/ { 0x09E9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*194E*/ { 0x09EA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*194F*/ { 0x09EB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRANGESS */ + /* ------------------------------------------------------------------------------------------ */ + /*1950*/ { 0x09EC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1951*/ { 0x09ED, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1952*/ { 0x09EE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP14PD */ + /* ------------------------------------------------------------------------------------------ */ + /*1953*/ { 0x09EF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1954*/ { 0x09F0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1955*/ { 0x09F1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1956*/ { 0x09F2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1957*/ { 0x09F3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1958*/ { 0x09F4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP14PS */ + /* ------------------------------------------------------------------------------------------ */ + /*1959*/ { 0x09F5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*195A*/ { 0x09F6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*195B*/ { 0x09F7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*195C*/ { 0x09F8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*195D*/ { 0x09F9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*195E*/ { 0x09FA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP14SD */ + /* ------------------------------------------------------------------------------------------ */ + /*195F*/ { 0x09FB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1960*/ { 0x09FC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP14SS */ + /* ------------------------------------------------------------------------------------------ */ + /*1961*/ { 0x09FD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1962*/ { 0x09FE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP23PS */ + /* ------------------------------------------------------------------------------------------ */ + /*1963*/ { 0x0176, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1964*/ { 0x0177, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*1965*/ { 0x0178, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP28PD */ + /* ------------------------------------------------------------------------------------------ */ + /*1966*/ { 0x09FF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1967*/ { 0x0A00, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1968*/ { 0x0A01, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP28PS */ + /* ------------------------------------------------------------------------------------------ */ + /*1969*/ { 0x0A02, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*196A*/ { 0x0A03, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*196B*/ { 0x0A04, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCA, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP28SD */ + /* ------------------------------------------------------------------------------------------ */ + /*196C*/ { 0x0A05, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*196D*/ { 0x0A06, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*196E*/ { 0x0A07, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCP28SS */ + /* ------------------------------------------------------------------------------------------ */ + /*196F*/ { 0x0A08, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1970*/ { 0x0A09, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1971*/ { 0x0A0A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCPPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1972*/ { 0x05CC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1973*/ { 0x05CD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1974*/ { 0x05CE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1975*/ { 0x05CF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRCPSS */ + /* ------------------------------------------------------------------------------------------ */ + /*1976*/ { 0x05D0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1977*/ { 0x05D1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x53, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VREDUCEPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1978*/ { 0x0A0B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1979*/ { 0x0A0C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*197A*/ { 0x0A0D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*197B*/ { 0x0A0E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*197C*/ { 0x0A0F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*197D*/ { 0x0A10, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*197E*/ { 0x0A11, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VREDUCEPS */ + /* ------------------------------------------------------------------------------------------ */ + /*197F*/ { 0x0A12, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1980*/ { 0x0A13, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1981*/ { 0x0A14, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1982*/ { 0x0A15, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1983*/ { 0x0A16, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1984*/ { 0x0A17, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1985*/ { 0x0A18, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x56, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VREDUCESD */ + /* ------------------------------------------------------------------------------------------ */ + /*1986*/ { 0x0A19, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1987*/ { 0x0A1A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1988*/ { 0x0A1B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VREDUCESS */ + /* ------------------------------------------------------------------------------------------ */ + /*1989*/ { 0x0A1C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*198A*/ { 0x0A1D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*198B*/ { 0x0A1E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRNDFXPNTPD */ + /* ------------------------------------------------------------------------------------------ */ + /*198C*/ { 0x0179, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*198D*/ { 0x017A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /*198E*/ { 0x017B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRNDFXPNTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*198F*/ { 0x017C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1990*/ { 0x017D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*1991*/ { 0x017E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x52, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRNDSCALEPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1992*/ { 0x0A1F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1993*/ { 0x0A20, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1994*/ { 0x0A21, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1995*/ { 0x0A22, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1996*/ { 0x0A23, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1997*/ { 0x0A24, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1998*/ { 0x0A25, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRNDSCALEPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1999*/ { 0x0A26, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*199A*/ { 0x0A27, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*199B*/ { 0x0A28, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*199C*/ { 0x0A29, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*199D*/ { 0x0A2A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*199E*/ { 0x0A2B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*199F*/ { 0x0A2C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRNDSCALESD */ + /* ------------------------------------------------------------------------------------------ */ + /*19A0*/ { 0x0A2D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19A1*/ { 0x0A2E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*19A2*/ { 0x0A2F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRNDSCALESS */ + /* ------------------------------------------------------------------------------------------ */ + /*19A3*/ { 0x0A30, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19A4*/ { 0x0A31, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*19A5*/ { 0x0A32, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x0A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VROUNDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*19A6*/ { 0x05D2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19A7*/ { 0x05D3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19A8*/ { 0x05D4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*19A9*/ { 0x05D5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x09, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VROUNDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19AA*/ { 0x05D6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19AB*/ { 0x05D7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19AC*/ { 0x05D8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*19AD*/ { 0x05D9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x08, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VROUNDSD */ + /* ------------------------------------------------------------------------------------------ */ + /*19AE*/ { 0x05DA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19AF*/ { 0x05DB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0B, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VROUNDSS */ + /* ------------------------------------------------------------------------------------------ */ + /*19B0*/ { 0x05DC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19B1*/ { 0x05DD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0A, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT14PD */ + /* ------------------------------------------------------------------------------------------ */ + /*19B2*/ { 0x0A33, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19B3*/ { 0x0A34, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19B4*/ { 0x0A35, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*19B5*/ { 0x0A36, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*19B6*/ { 0x0A37, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*19B7*/ { 0x0A38, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT14PS */ + /* ------------------------------------------------------------------------------------------ */ + /*19B8*/ { 0x0A39, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19B9*/ { 0x0A3A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19BA*/ { 0x0A3B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*19BB*/ { 0x0A3C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*19BC*/ { 0x0A3D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*19BD*/ { 0x0A3E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT14SD */ + /* ------------------------------------------------------------------------------------------ */ + /*19BE*/ { 0x0A3F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19BF*/ { 0x0A40, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT14SS */ + /* ------------------------------------------------------------------------------------------ */ + /*19C0*/ { 0x0A41, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19C1*/ { 0x0A42, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x4F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT23PS */ + /* ------------------------------------------------------------------------------------------ */ + /*19C2*/ { 0x017F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19C3*/ { 0x0180, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /*19C4*/ { 0x0181, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xCB, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT28PD */ + /* ------------------------------------------------------------------------------------------ */ + /*19C5*/ { 0x0A43, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*19C6*/ { 0x0A44, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*19C7*/ { 0x0A45, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT28PS */ + /* ------------------------------------------------------------------------------------------ */ + /*19C8*/ { 0x0A46, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*19C9*/ { 0x0A47, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*19CA*/ { 0x0A48, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCC, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT28SD */ + /* ------------------------------------------------------------------------------------------ */ + /*19CB*/ { 0x0A49, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19CC*/ { 0x0A4A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*19CD*/ { 0x0A4B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRT28SS */ + /* ------------------------------------------------------------------------------------------ */ + /*19CE*/ { 0x0A4C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19CF*/ { 0x0A4D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*19D0*/ { 0x0A4E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xCD, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19D1*/ { 0x05DE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19D2*/ { 0x05DF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19D3*/ { 0x05E0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*19D4*/ { 0x05E1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VRSQRTSS */ + /* ------------------------------------------------------------------------------------------ */ + /*19D5*/ { 0x05E2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19D6*/ { 0x05E3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x52, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCALEFPD */ + /* ------------------------------------------------------------------------------------------ */ + /*19D7*/ { 0x0A4F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19D8*/ { 0x0A50, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19D9*/ { 0x0A51, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*19DA*/ { 0x0A52, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*19DB*/ { 0x0A53, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*19DC*/ { 0x0A54, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*19DD*/ { 0x0A55, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCALEFPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19DE*/ { 0x0A56, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19DF*/ { 0x0A57, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19E0*/ { 0x0A58, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*19E1*/ { 0x0A59, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*19E2*/ { 0x0A5A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*19E3*/ { 0x0A5B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*19E4*/ { 0x0A5C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2C, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCALEFSD */ + /* ------------------------------------------------------------------------------------------ */ + /*19E5*/ { 0x0A5D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19E6*/ { 0x0A5E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*19E7*/ { 0x0A5F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCALEFSS */ + /* ------------------------------------------------------------------------------------------ */ + /*19E8*/ { 0x0A60, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19E9*/ { 0x0A61, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*19EA*/ { 0x0A62, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCALEPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19EB*/ { 0x0182, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x84, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19EC*/ { 0x0183, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x84, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*19ED*/ { 0x0184, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x84, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*19EE*/ { 0x0A63, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA2, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*19EF*/ { 0x0A64, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA2, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*19F0*/ { 0x0A65, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA2, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*19F1*/ { 0x0185, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA2, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19F2*/ { 0x0A66, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA2, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*19F3*/ { 0x0A67, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA2, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*19F4*/ { 0x0A68, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA2, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*19F5*/ { 0x0186, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xA2, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF0DPD */ + /* ------------------------------------------------------------------------------------------ */ + /*19F6*/ { 0x0A69, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF0DPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19F7*/ { 0x0A6A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*19F8*/ { 0x0187, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF0HINTDPD */ + /* ------------------------------------------------------------------------------------------ */ + /*19F9*/ { 0x0188, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF0HINTDPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19FA*/ { 0x0189, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF0QPD */ + /* ------------------------------------------------------------------------------------------ */ + /*19FB*/ { 0x0A6B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF0QPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19FC*/ { 0x0A6C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF1DPD */ + /* ------------------------------------------------------------------------------------------ */ + /*19FD*/ { 0x0A6D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF1DPS */ + /* ------------------------------------------------------------------------------------------ */ + /*19FE*/ { 0x0A6E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*19FF*/ { 0x018A, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0xC6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF1QPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A00*/ { 0x0A6F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERPF1QPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A01*/ { 0x0A70, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC7, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERQPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A02*/ { 0x0A71, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA3, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A03*/ { 0x0A72, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA3, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A04*/ { 0x0A73, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA3, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSCATTERQPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A05*/ { 0x0A74, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA3, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A06*/ { 0x0A75, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA3, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A07*/ { 0x0A76, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xA3, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSHUFF32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*1A08*/ { 0x0A77, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A09*/ { 0x0A78, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A0A*/ { 0x0A79, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1A0B*/ { 0x0A7A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSHUFF64X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*1A0C*/ { 0x0A7B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A0D*/ { 0x0A7C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A0E*/ { 0x0A7D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1A0F*/ { 0x0A7E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x23, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSHUFI32X4 */ + /* ------------------------------------------------------------------------------------------ */ + /*1A10*/ { 0x0A7F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A11*/ { 0x0A80, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A12*/ { 0x0A81, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1A13*/ { 0x0A82, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSHUFI64X2 */ + /* ------------------------------------------------------------------------------------------ */ + /*1A14*/ { 0x0A83, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A15*/ { 0x0A84, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A16*/ { 0x0A85, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1A17*/ { 0x0A86, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x43, ZYDIS_OPCODE_MAP_0F3A , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSHUFPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A18*/ { 0x05E4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A19*/ { 0x05E5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A1A*/ { 0x05E6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A1B*/ { 0x05E7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A1C*/ { 0x0A87, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A1D*/ { 0x0A88, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A1E*/ { 0x0A89, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A1F*/ { 0x0A8A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A20*/ { 0x0A8B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1A21*/ { 0x0A8C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSHUFPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A22*/ { 0x05E8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A23*/ { 0x05E9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A24*/ { 0x05EA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A25*/ { 0x05EB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A26*/ { 0x0A8D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A27*/ { 0x0A8E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A28*/ { 0x0A8F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A29*/ { 0x0A90, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A2A*/ { 0x0A91, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1A2B*/ { 0x0A92, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0xC6, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSQRTPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A2C*/ { 0x05EC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A2D*/ { 0x05ED, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A2E*/ { 0x05EE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A2F*/ { 0x05EF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A30*/ { 0x0A93, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A31*/ { 0x0A94, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A32*/ { 0x0A95, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A33*/ { 0x0A96, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A34*/ { 0x0A97, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1A35*/ { 0x0A98, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1A36*/ { 0x0A99, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSQRTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A37*/ { 0x05F0, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A38*/ { 0x05F1, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A39*/ { 0x05F2, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A3A*/ { 0x05F3, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A3B*/ { 0x0A9A, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A3C*/ { 0x0A9B, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A3D*/ { 0x0A9C, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A3E*/ { 0x0A9D, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A3F*/ { 0x0A9E, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1A40*/ { 0x0A9F, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1A41*/ { 0x0AA0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSQRTSD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A42*/ { 0x05F4, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A43*/ { 0x05F5, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A44*/ { 0x0AA1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A45*/ { 0x0AA2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1A46*/ { 0x0AA3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSQRTSS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A47*/ { 0x05F6, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A48*/ { 0x05F7, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A49*/ { 0x0AA4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A4A*/ { 0x0AA5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1A4B*/ { 0x0AA6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x51, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSTMXCSR */ + /* ------------------------------------------------------------------------------------------ */ + /*1A4C*/ { 0x05F8, ZYDIS_INSTRUCTION_ENCODING_VEX , 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSUBPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A4D*/ { 0x05F9, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A4E*/ { 0x05FA, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A4F*/ { 0x05FB, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A50*/ { 0x05FC, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A51*/ { 0x0AA7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A52*/ { 0x0AA8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A53*/ { 0x0AA9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A54*/ { 0x0AAA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A55*/ { 0x0AAB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1A56*/ { 0x0AAC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1A57*/ { 0x0AAD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1A58*/ { 0x018B, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A59*/ { 0x018C, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*1A5A*/ { 0x018D, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSUBPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A5B*/ { 0x05FD, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A5C*/ { 0x05FE, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A5D*/ { 0x05FF, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A5E*/ { 0x0600, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A5F*/ { 0x0AAE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A60*/ { 0x0AAF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A61*/ { 0x0AB0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A62*/ { 0x0AB1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A63*/ { 0x0AB2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1A64*/ { 0x0AB3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1A65*/ { 0x0AB4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1A66*/ { 0x018E, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A67*/ { 0x018F, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1A68*/ { 0x0190, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSUBRPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A69*/ { 0x0191, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A6A*/ { 0x0192, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 }, + /*1A6B*/ { 0x0193, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSUBRPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A6C*/ { 0x0194, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A6D*/ { 0x0195, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 }, + /*1A6E*/ { 0x0196, ZYDIS_INSTRUCTION_ENCODING_MVEX , 0x6D, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSUBSD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A6F*/ { 0x0601, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A70*/ { 0x0602, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A71*/ { 0x0AB5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A72*/ { 0x0AB6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1A73*/ { 0x0AB7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VSUBSS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A74*/ { 0x0603, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A75*/ { 0x0604, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A76*/ { 0x0AB8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A77*/ { 0x0AB9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1A78*/ { 0x0ABA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x5C, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VTESTPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A79*/ { 0x0605, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A7A*/ { 0x0606, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A7B*/ { 0x0607, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A7C*/ { 0x0608, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0F, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VTESTPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A7D*/ { 0x0609, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A7E*/ { 0x060A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A7F*/ { 0x060B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A80*/ { 0x060C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x0E, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VUCOMISD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A81*/ { 0x060D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A82*/ { 0x060E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A83*/ { 0x0ABB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A84*/ { 0x0ABC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 }, + /*1A85*/ { 0x0ABD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VUCOMISS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A86*/ { 0x060F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A87*/ { 0x0610, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A88*/ { 0x0ABE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A89*/ { 0x0ABF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 }, + /*1A8A*/ { 0x0AC0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x2E, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VUNPCKHPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A8B*/ { 0x0611, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A8C*/ { 0x0612, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A8D*/ { 0x0613, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A8E*/ { 0x0614, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A8F*/ { 0x0AC1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A90*/ { 0x0AC2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1A91*/ { 0x0AC3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A92*/ { 0x0AC4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1A93*/ { 0x0AC5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1A94*/ { 0x0AC6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VUNPCKHPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1A95*/ { 0x0615, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A96*/ { 0x0616, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A97*/ { 0x0617, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A98*/ { 0x0618, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A99*/ { 0x0AC7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A9A*/ { 0x0AC8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1A9B*/ { 0x0AC9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A9C*/ { 0x0ACA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1A9D*/ { 0x0ACB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1A9E*/ { 0x0ACC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x15, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VUNPCKLPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1A9F*/ { 0x0619, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AA0*/ { 0x061A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AA1*/ { 0x061B, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AA2*/ { 0x061C, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AA3*/ { 0x0ACD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1AA4*/ { 0x0ACE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1AA5*/ { 0x0ACF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1AA6*/ { 0x0AD0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1AA7*/ { 0x0AD1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1AA8*/ { 0x0AD2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VUNPCKLPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1AA9*/ { 0x061D, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AAA*/ { 0x061E, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AAB*/ { 0x061F, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AAC*/ { 0x0620, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AAD*/ { 0x0AD3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AAE*/ { 0x0AD4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AAF*/ { 0x0AD5, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AB0*/ { 0x0AD6, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AB1*/ { 0x0AD7, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1AB2*/ { 0x0AD8, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x14, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VXORPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1AB3*/ { 0x0621, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AB4*/ { 0x0622, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AB5*/ { 0x0623, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AB6*/ { 0x0624, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AB7*/ { 0x0AD9, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1AB8*/ { 0x0ADA, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /*1AB9*/ { 0x0ADB, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1ABA*/ { 0x0ADC, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 }, + /*1ABB*/ { 0x0ADD, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /*1ABC*/ { 0x0ADE, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VXORPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1ABD*/ { 0x0625, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1ABE*/ { 0x0626, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1ABF*/ { 0x0627, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AC0*/ { 0x0628, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AC1*/ { 0x0ADF, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AC2*/ { 0x0AE0, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AC3*/ { 0x0AE1, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AC4*/ { 0x0AE2, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /*1AC5*/ { 0x0AE3, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /*1AC6*/ { 0x0AE4, ZYDIS_INSTRUCTION_ENCODING_EVEX , 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VZEROALL */ + /* ------------------------------------------------------------------------------------------ */ + /*1AC7*/ { 0x0629, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x77, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* VZEROUPPER */ + /* ------------------------------------------------------------------------------------------ */ + /*1AC8*/ { 0x062A, ZYDIS_INSTRUCTION_ENCODING_VEX , 0x77, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WBINVD */ + /* ------------------------------------------------------------------------------------------ */ + /*1AC9*/ { 0x06F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WRFSBASE */ + /* ------------------------------------------------------------------------------------------ */ + /*1ACA*/ { 0x06FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WRGSBASE */ + /* ------------------------------------------------------------------------------------------ */ + /*1ACB*/ { 0x06FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WRMSR */ + /* ------------------------------------------------------------------------------------------ */ + /*1ACC*/ { 0x06FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WRPKRU */ + /* ------------------------------------------------------------------------------------------ */ + /*1ACD*/ { 0x06FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WRSSD */ + /* ------------------------------------------------------------------------------------------ */ + /*1ACE*/ { 0x06FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WRSSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1ACF*/ { 0x06FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WRUSSD */ + /* ------------------------------------------------------------------------------------------ */ + /*1AD0*/ { 0x0700, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* WRUSSQ */ + /* ------------------------------------------------------------------------------------------ */ + /*1AD1*/ { 0x0701, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F38 , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XABORT */ + /* ------------------------------------------------------------------------------------------ */ + /*1AD2*/ { 0x0702, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XADD */ + /* ------------------------------------------------------------------------------------------ */ + /*1AD3*/ { 0x0703, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AD4*/ { 0x0704, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AD5*/ { 0x0705, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AD6*/ { 0x0706, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XBEGIN */ + /* ------------------------------------------------------------------------------------------ */ + /*1AD7*/ { 0x0707, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XCHG */ + /* ------------------------------------------------------------------------------------------ */ + /*1AD8*/ { 0x0708, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x86, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AD9*/ { 0x0709, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x86, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1ADA*/ { 0x070A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x87, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1ADB*/ { 0x070B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x87, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1ADC*/ { 0x070C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03 }, + /*1ADD*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x91, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1ADE*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x92, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1ADF*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x93, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AE0*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x94, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AE1*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x95, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AE2*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x96, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AE3*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x97, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XEND */ + /* ------------------------------------------------------------------------------------------ */ + /*1AE4*/ { 0x070E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XGETBV */ + /* ------------------------------------------------------------------------------------------ */ + /*1AE5*/ { 0x070F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XLAT */ + /* ------------------------------------------------------------------------------------------ */ + /*1AE6*/ { 0x0710, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XOR */ + /* ------------------------------------------------------------------------------------------ */ + /*1AE7*/ { 0x0711, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AE8*/ { 0x0712, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AE9*/ { 0x0713, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AEA*/ { 0x0714, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AEB*/ { 0x0715, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AEC*/ { 0x0716, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AED*/ { 0x0717, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AEE*/ { 0x0718, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AEF*/ { 0x0719, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x34, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF0*/ { 0x071A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x35, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF1*/ { 0x071B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF2*/ { 0x071C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF3*/ { 0x071D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF4*/ { 0x071E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF5*/ { 0x071F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF6*/ { 0x0720, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF7*/ { 0x0721, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AF8*/ { 0x0722, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XORPD */ + /* ------------------------------------------------------------------------------------------ */ + /*1AF9*/ { 0x0723, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AFA*/ { 0x0724, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XORPS */ + /* ------------------------------------------------------------------------------------------ */ + /*1AFB*/ { 0x0725, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /*1AFC*/ { 0x0726, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XRSTOR */ + /* ------------------------------------------------------------------------------------------ */ + /*1AFD*/ { 0x0727, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XRSTOR64 */ + /* ------------------------------------------------------------------------------------------ */ + /*1AFE*/ { 0x0728, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XRSTORS */ + /* ------------------------------------------------------------------------------------------ */ + /*1AFF*/ { 0x0729, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XRSTORS64 */ + /* ------------------------------------------------------------------------------------------ */ + /*1B00*/ { 0x072A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSAVE */ + /* ------------------------------------------------------------------------------------------ */ + /*1B01*/ { 0x072B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSAVE64 */ + /* ------------------------------------------------------------------------------------------ */ + /*1B02*/ { 0x072C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSAVEC */ + /* ------------------------------------------------------------------------------------------ */ + /*1B03*/ { 0x072D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSAVEC64 */ + /* ------------------------------------------------------------------------------------------ */ + /*1B04*/ { 0x072E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSAVEOPT */ + /* ------------------------------------------------------------------------------------------ */ + /*1B05*/ { 0x072F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSAVEOPT64 */ + /* ------------------------------------------------------------------------------------------ */ + /*1B06*/ { 0x0730, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSAVES */ + /* ------------------------------------------------------------------------------------------ */ + /*1B07*/ { 0x0731, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSAVES64 */ + /* ------------------------------------------------------------------------------------------ */ + /*1B08*/ { 0x0732, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XSETBV */ + /* ------------------------------------------------------------------------------------------ */ + /*1B09*/ { 0x0733, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }, + /* ------------------------------------------------------------------------------------------ */ + /* XTEST */ + /* ------------------------------------------------------------------------------------------ */ + /*1B0A*/ { 0x0734, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 } +}; diff --git a/externals/dynarmic/externals/zydis/src/Generated/EnumISAExt.inc b/externals/dynarmic/externals/zydis/src/Generated/EnumISAExt.inc new file mode 100755 index 000000000..6ec352e46 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/EnumISAExt.inc @@ -0,0 +1,86 @@ +static const char* STR_ISAEXT[] = +{ + "INVALID", + "ADOX_ADCX", + "AES", + "AMD3DNOW", + "AMD3DNOW_PREFETCH", + "AMD_INVLPGB", + "AMX_BF16", + "AMX_INT8", + "AMX_TILE", + "AVX", + "AVX2", + "AVX2GATHER", + "AVX512EVEX", + "AVX512VEX", + "AVXAES", + "BASE", + "BMI1", + "BMI2", + "CET", + "CLDEMOTE", + "CLFLUSHOPT", + "CLFSH", + "CLWB", + "CLZERO", + "ENQCMD", + "F16C", + "FMA", + "FMA4", + "GFNI", + "INVPCID", + "KNC", + "KNCE", + "KNCV", + "LONGMODE", + "LZCNT", + "MCOMMIT", + "MMX", + "MONITOR", + "MONITORX", + "MOVBE", + "MOVDIR", + "MPX", + "PADLOCK", + "PAUSE", + "PCLMULQDQ", + "PCONFIG", + "PKU", + "PREFETCHWT1", + "PT", + "RDPID", + "RDPRU", + "RDRAND", + "RDSEED", + "RDTSCP", + "RDWRFSGS", + "RTM", + "SERIALIZE", + "SGX", + "SGX_ENCLV", + "SHA", + "SMAP", + "SMX", + "SNP", + "SSE", + "SSE2", + "SSE3", + "SSE4", + "SSE4A", + "SSSE3", + "SVM", + "TBM", + "TSX_LDTRK", + "VAES", + "VMFUNC", + "VPCLMULQDQ", + "VTX", + "WAITPKG", + "X87", + "XOP", + "XSAVE", + "XSAVEC", + "XSAVEOPT", + "XSAVES" +}; diff --git a/externals/dynarmic/externals/zydis/src/Generated/EnumISASet.inc b/externals/dynarmic/externals/zydis/src/Generated/EnumISASet.inc new file mode 100755 index 000000000..25f187a7b --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/EnumISASet.inc @@ -0,0 +1,172 @@ +static const char* STR_ISASET[] = +{ + "INVALID", + "ADOX_ADCX", + "AES", + "AMD", + "AMD3DNOW", + "AMX_BF16", + "AMX_INT8", + "AMX_TILE", + "AVX", + "AVX2", + "AVX2GATHER", + "AVX512BW_128", + "AVX512BW_128N", + "AVX512BW_256", + "AVX512BW_512", + "AVX512BW_KOP", + "AVX512CD_128", + "AVX512CD_256", + "AVX512CD_512", + "AVX512DQ_128", + "AVX512DQ_128N", + "AVX512DQ_256", + "AVX512DQ_512", + "AVX512DQ_KOP", + "AVX512DQ_SCALAR", + "AVX512ER_512", + "AVX512ER_SCALAR", + "AVX512F_128", + "AVX512F_128N", + "AVX512F_256", + "AVX512F_512", + "AVX512F_KOP", + "AVX512F_SCALAR", + "AVX512PF_512", + "AVX512_4FMAPS_512", + "AVX512_4FMAPS_SCALAR", + "AVX512_4VNNIW_512", + "AVX512_BF16_128", + "AVX512_BF16_256", + "AVX512_BF16_512", + "AVX512_BITALG_128", + "AVX512_BITALG_256", + "AVX512_BITALG_512", + "AVX512_GFNI_128", + "AVX512_GFNI_256", + "AVX512_GFNI_512", + "AVX512_IFMA_128", + "AVX512_IFMA_256", + "AVX512_IFMA_512", + "AVX512_VAES_128", + "AVX512_VAES_256", + "AVX512_VAES_512", + "AVX512_VBMI2_128", + "AVX512_VBMI2_256", + "AVX512_VBMI2_512", + "AVX512_VBMI_128", + "AVX512_VBMI_256", + "AVX512_VBMI_512", + "AVX512_VNNI_128", + "AVX512_VNNI_256", + "AVX512_VNNI_512", + "AVX512_VP2INTERSECT_128", + "AVX512_VP2INTERSECT_256", + "AVX512_VP2INTERSECT_512", + "AVX512_VPCLMULQDQ_128", + "AVX512_VPCLMULQDQ_256", + "AVX512_VPCLMULQDQ_512", + "AVX512_VPOPCNTDQ_128", + "AVX512_VPOPCNTDQ_256", + "AVX512_VPOPCNTDQ_512", + "AVXAES", + "AVX_GFNI", + "BMI1", + "BMI2", + "CET", + "CLDEMOTE", + "CLFLUSHOPT", + "CLFSH", + "CLWB", + "CLZERO", + "CMOV", + "CMPXCHG16B", + "ENQCMD", + "F16C", + "FAT_NOP", + "FCMOV", + "FMA", + "FMA4", + "FXSAVE", + "FXSAVE64", + "GFNI", + "I186", + "I286PROTECTED", + "I286REAL", + "I386", + "I486", + "I486REAL", + "I86", + "INVPCID", + "KNCE", + "KNCJKBR", + "KNCSTREAM", + "KNCV", + "KNC_MISC", + "KNC_PF_HINT", + "LAHF", + "LONGMODE", + "LZCNT", + "MCOMMIT", + "MONITOR", + "MONITORX", + "MOVBE", + "MOVDIR", + "MPX", + "PADLOCK_ACE", + "PADLOCK_PHE", + "PADLOCK_PMM", + "PADLOCK_RNG", + "PAUSE", + "PCLMULQDQ", + "PCONFIG", + "PENTIUMMMX", + "PENTIUMREAL", + "PKU", + "POPCNT", + "PPRO", + "PREFETCHWT1", + "PREFETCH_NOP", + "PT", + "RDPID", + "RDPMC", + "RDPRU", + "RDRAND", + "RDSEED", + "RDTSCP", + "RDWRFSGS", + "RTM", + "SERIALIZE", + "SGX", + "SGX_ENCLV", + "SHA", + "SMAP", + "SMX", + "SSE", + "SSE2", + "SSE2MMX", + "SSE3", + "SSE3X87", + "SSE4", + "SSE42", + "SSE4A", + "SSEMXCSR", + "SSE_PREFETCH", + "SSSE3", + "SSSE3MMX", + "SVM", + "TBM", + "TSX_LDTRK", + "VAES", + "VMFUNC", + "VPCLMULQDQ", + "VTX", + "WAITPKG", + "X87", + "XOP", + "XSAVE", + "XSAVEC", + "XSAVEOPT", + "XSAVES" +}; diff --git a/externals/dynarmic/externals/zydis/src/Generated/EnumInstructionCategory.inc b/externals/dynarmic/externals/zydis/src/Generated/EnumInstructionCategory.inc new file mode 100755 index 000000000..ea4afe9bc --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/EnumInstructionCategory.inc @@ -0,0 +1,105 @@ +static const char* STR_INSTRUCTIONCATEGORY[] = +{ + "INVALID", + "ADOX_ADCX", + "AES", + "AMD3DNOW", + "AMX_TILE", + "AVX", + "AVX2", + "AVX2GATHER", + "AVX512", + "AVX512_4FMAPS", + "AVX512_4VNNIW", + "AVX512_BITALG", + "AVX512_VBMI", + "AVX512_VP2INTERSECT", + "BINARY", + "BITBYTE", + "BLEND", + "BMI1", + "BMI2", + "BROADCAST", + "CALL", + "CET", + "CLDEMOTE", + "CLFLUSHOPT", + "CLWB", + "CLZERO", + "CMOV", + "COMPRESS", + "COND_BR", + "CONFLICT", + "CONVERT", + "DATAXFER", + "DECIMAL", + "ENQCMD", + "EXPAND", + "FCMOV", + "FLAGOP", + "FMA4", + "GATHER", + "GFNI", + "IFMA", + "INTERRUPT", + "IO", + "IOSTRINGOP", + "KMASK", + "KNC", + "KNCMASK", + "KNCSCALAR", + "LOGICAL", + "LOGICAL_FP", + "LZCNT", + "MISC", + "MMX", + "MOVDIR", + "MPX", + "NOP", + "PADLOCK", + "PCLMULQDQ", + "PCONFIG", + "PKU", + "POP", + "PREFETCH", + "PREFETCHWT1", + "PT", + "PUSH", + "RDPID", + "RDPRU", + "RDRAND", + "RDSEED", + "RDWRFSGS", + "RET", + "ROTATE", + "SCATTER", + "SEGOP", + "SEMAPHORE", + "SERIALIZE", + "SETCC", + "SGX", + "SHA", + "SHIFT", + "SMAP", + "SSE", + "STRINGOP", + "STTNI", + "SYSCALL", + "SYSRET", + "SYSTEM", + "TBM", + "TSX_LDTRK", + "UFMA", + "UNCOND_BR", + "VAES", + "VBMI2", + "VFMA", + "VPCLMULQDQ", + "VTX", + "WAITPKG", + "WIDENOP", + "X87_ALU", + "XOP", + "XSAVE", + "XSAVEOPT" +}; diff --git a/externals/dynarmic/externals/zydis/src/Generated/EnumMnemonic.inc b/externals/dynarmic/externals/zydis/src/Generated/EnumMnemonic.inc new file mode 100755 index 000000000..fdce85e0c --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/EnumMnemonic.inc @@ -0,0 +1,1631 @@ +static const ZydisShortString STR_MNEMONIC[] = +{ + ZYDIS_MAKE_SHORTSTRING("invalid"), + ZYDIS_MAKE_SHORTSTRING("aaa"), + ZYDIS_MAKE_SHORTSTRING("aad"), + ZYDIS_MAKE_SHORTSTRING("aam"), + ZYDIS_MAKE_SHORTSTRING("aas"), + ZYDIS_MAKE_SHORTSTRING("adc"), + ZYDIS_MAKE_SHORTSTRING("adcx"), + ZYDIS_MAKE_SHORTSTRING("add"), + ZYDIS_MAKE_SHORTSTRING("addpd"), + ZYDIS_MAKE_SHORTSTRING("addps"), + ZYDIS_MAKE_SHORTSTRING("addsd"), + ZYDIS_MAKE_SHORTSTRING("addss"), + ZYDIS_MAKE_SHORTSTRING("addsubpd"), + ZYDIS_MAKE_SHORTSTRING("addsubps"), + ZYDIS_MAKE_SHORTSTRING("adox"), + ZYDIS_MAKE_SHORTSTRING("aesdec"), + ZYDIS_MAKE_SHORTSTRING("aesdeclast"), + ZYDIS_MAKE_SHORTSTRING("aesenc"), + ZYDIS_MAKE_SHORTSTRING("aesenclast"), + ZYDIS_MAKE_SHORTSTRING("aesimc"), + ZYDIS_MAKE_SHORTSTRING("aeskeygenassist"), + ZYDIS_MAKE_SHORTSTRING("and"), + ZYDIS_MAKE_SHORTSTRING("andn"), + ZYDIS_MAKE_SHORTSTRING("andnpd"), + ZYDIS_MAKE_SHORTSTRING("andnps"), + ZYDIS_MAKE_SHORTSTRING("andpd"), + ZYDIS_MAKE_SHORTSTRING("andps"), + ZYDIS_MAKE_SHORTSTRING("arpl"), + ZYDIS_MAKE_SHORTSTRING("bextr"), + ZYDIS_MAKE_SHORTSTRING("blcfill"), + ZYDIS_MAKE_SHORTSTRING("blci"), + ZYDIS_MAKE_SHORTSTRING("blcic"), + ZYDIS_MAKE_SHORTSTRING("blcmsk"), + ZYDIS_MAKE_SHORTSTRING("blcs"), + ZYDIS_MAKE_SHORTSTRING("blendpd"), + ZYDIS_MAKE_SHORTSTRING("blendps"), + ZYDIS_MAKE_SHORTSTRING("blendvpd"), + ZYDIS_MAKE_SHORTSTRING("blendvps"), + ZYDIS_MAKE_SHORTSTRING("blsfill"), + ZYDIS_MAKE_SHORTSTRING("blsi"), + ZYDIS_MAKE_SHORTSTRING("blsic"), + ZYDIS_MAKE_SHORTSTRING("blsmsk"), + ZYDIS_MAKE_SHORTSTRING("blsr"), + ZYDIS_MAKE_SHORTSTRING("bndcl"), + ZYDIS_MAKE_SHORTSTRING("bndcn"), + ZYDIS_MAKE_SHORTSTRING("bndcu"), + ZYDIS_MAKE_SHORTSTRING("bndldx"), + ZYDIS_MAKE_SHORTSTRING("bndmk"), + ZYDIS_MAKE_SHORTSTRING("bndmov"), + ZYDIS_MAKE_SHORTSTRING("bndstx"), + ZYDIS_MAKE_SHORTSTRING("bound"), + ZYDIS_MAKE_SHORTSTRING("bsf"), + ZYDIS_MAKE_SHORTSTRING("bsr"), + ZYDIS_MAKE_SHORTSTRING("bswap"), + ZYDIS_MAKE_SHORTSTRING("bt"), + ZYDIS_MAKE_SHORTSTRING("btc"), + ZYDIS_MAKE_SHORTSTRING("btr"), + ZYDIS_MAKE_SHORTSTRING("bts"), + ZYDIS_MAKE_SHORTSTRING("bzhi"), + ZYDIS_MAKE_SHORTSTRING("call"), + ZYDIS_MAKE_SHORTSTRING("cbw"), + ZYDIS_MAKE_SHORTSTRING("cdq"), + ZYDIS_MAKE_SHORTSTRING("cdqe"), + ZYDIS_MAKE_SHORTSTRING("clac"), + ZYDIS_MAKE_SHORTSTRING("clc"), + ZYDIS_MAKE_SHORTSTRING("cld"), + ZYDIS_MAKE_SHORTSTRING("cldemote"), + ZYDIS_MAKE_SHORTSTRING("clevict0"), + ZYDIS_MAKE_SHORTSTRING("clevict1"), + ZYDIS_MAKE_SHORTSTRING("clflush"), + ZYDIS_MAKE_SHORTSTRING("clflushopt"), + ZYDIS_MAKE_SHORTSTRING("clgi"), + ZYDIS_MAKE_SHORTSTRING("cli"), + ZYDIS_MAKE_SHORTSTRING("clrssbsy"), + ZYDIS_MAKE_SHORTSTRING("clts"), + ZYDIS_MAKE_SHORTSTRING("clwb"), + ZYDIS_MAKE_SHORTSTRING("clzero"), + ZYDIS_MAKE_SHORTSTRING("cmc"), + ZYDIS_MAKE_SHORTSTRING("cmovb"), + ZYDIS_MAKE_SHORTSTRING("cmovbe"), + ZYDIS_MAKE_SHORTSTRING("cmovl"), + ZYDIS_MAKE_SHORTSTRING("cmovle"), + ZYDIS_MAKE_SHORTSTRING("cmovnb"), + ZYDIS_MAKE_SHORTSTRING("cmovnbe"), + ZYDIS_MAKE_SHORTSTRING("cmovnl"), + ZYDIS_MAKE_SHORTSTRING("cmovnle"), + ZYDIS_MAKE_SHORTSTRING("cmovno"), + ZYDIS_MAKE_SHORTSTRING("cmovnp"), + ZYDIS_MAKE_SHORTSTRING("cmovns"), + ZYDIS_MAKE_SHORTSTRING("cmovnz"), + ZYDIS_MAKE_SHORTSTRING("cmovo"), + ZYDIS_MAKE_SHORTSTRING("cmovp"), + ZYDIS_MAKE_SHORTSTRING("cmovs"), + ZYDIS_MAKE_SHORTSTRING("cmovz"), + ZYDIS_MAKE_SHORTSTRING("cmp"), + ZYDIS_MAKE_SHORTSTRING("cmppd"), + ZYDIS_MAKE_SHORTSTRING("cmpps"), + ZYDIS_MAKE_SHORTSTRING("cmpsb"), + ZYDIS_MAKE_SHORTSTRING("cmpsd"), + ZYDIS_MAKE_SHORTSTRING("cmpsq"), + ZYDIS_MAKE_SHORTSTRING("cmpss"), + ZYDIS_MAKE_SHORTSTRING("cmpsw"), + ZYDIS_MAKE_SHORTSTRING("cmpxchg"), + ZYDIS_MAKE_SHORTSTRING("cmpxchg16b"), + ZYDIS_MAKE_SHORTSTRING("cmpxchg8b"), + ZYDIS_MAKE_SHORTSTRING("comisd"), + ZYDIS_MAKE_SHORTSTRING("comiss"), + ZYDIS_MAKE_SHORTSTRING("cpuid"), + ZYDIS_MAKE_SHORTSTRING("cqo"), + ZYDIS_MAKE_SHORTSTRING("crc32"), + ZYDIS_MAKE_SHORTSTRING("cvtdq2pd"), + ZYDIS_MAKE_SHORTSTRING("cvtdq2ps"), + ZYDIS_MAKE_SHORTSTRING("cvtpd2dq"), + ZYDIS_MAKE_SHORTSTRING("cvtpd2pi"), + ZYDIS_MAKE_SHORTSTRING("cvtpd2ps"), + ZYDIS_MAKE_SHORTSTRING("cvtpi2pd"), + ZYDIS_MAKE_SHORTSTRING("cvtpi2ps"), + ZYDIS_MAKE_SHORTSTRING("cvtps2dq"), + ZYDIS_MAKE_SHORTSTRING("cvtps2pd"), + ZYDIS_MAKE_SHORTSTRING("cvtps2pi"), + ZYDIS_MAKE_SHORTSTRING("cvtsd2si"), + ZYDIS_MAKE_SHORTSTRING("cvtsd2ss"), + ZYDIS_MAKE_SHORTSTRING("cvtsi2sd"), + ZYDIS_MAKE_SHORTSTRING("cvtsi2ss"), + ZYDIS_MAKE_SHORTSTRING("cvtss2sd"), + ZYDIS_MAKE_SHORTSTRING("cvtss2si"), + ZYDIS_MAKE_SHORTSTRING("cvttpd2dq"), + ZYDIS_MAKE_SHORTSTRING("cvttpd2pi"), + ZYDIS_MAKE_SHORTSTRING("cvttps2dq"), + ZYDIS_MAKE_SHORTSTRING("cvttps2pi"), + ZYDIS_MAKE_SHORTSTRING("cvttsd2si"), + ZYDIS_MAKE_SHORTSTRING("cvttss2si"), + ZYDIS_MAKE_SHORTSTRING("cwd"), + ZYDIS_MAKE_SHORTSTRING("cwde"), + ZYDIS_MAKE_SHORTSTRING("daa"), + ZYDIS_MAKE_SHORTSTRING("das"), + ZYDIS_MAKE_SHORTSTRING("dec"), + ZYDIS_MAKE_SHORTSTRING("delay"), + ZYDIS_MAKE_SHORTSTRING("div"), + ZYDIS_MAKE_SHORTSTRING("divpd"), + ZYDIS_MAKE_SHORTSTRING("divps"), + ZYDIS_MAKE_SHORTSTRING("divsd"), + ZYDIS_MAKE_SHORTSTRING("divss"), + ZYDIS_MAKE_SHORTSTRING("dppd"), + ZYDIS_MAKE_SHORTSTRING("dpps"), + ZYDIS_MAKE_SHORTSTRING("emms"), + ZYDIS_MAKE_SHORTSTRING("encls"), + ZYDIS_MAKE_SHORTSTRING("enclu"), + ZYDIS_MAKE_SHORTSTRING("enclv"), + ZYDIS_MAKE_SHORTSTRING("endbr32"), + ZYDIS_MAKE_SHORTSTRING("endbr64"), + ZYDIS_MAKE_SHORTSTRING("enqcmd"), + ZYDIS_MAKE_SHORTSTRING("enqcmds"), + ZYDIS_MAKE_SHORTSTRING("enter"), + ZYDIS_MAKE_SHORTSTRING("extractps"), + ZYDIS_MAKE_SHORTSTRING("extrq"), + ZYDIS_MAKE_SHORTSTRING("f2xm1"), + ZYDIS_MAKE_SHORTSTRING("fabs"), + ZYDIS_MAKE_SHORTSTRING("fadd"), + ZYDIS_MAKE_SHORTSTRING("faddp"), + ZYDIS_MAKE_SHORTSTRING("fbld"), + ZYDIS_MAKE_SHORTSTRING("fbstp"), + ZYDIS_MAKE_SHORTSTRING("fchs"), + ZYDIS_MAKE_SHORTSTRING("fcmovb"), + ZYDIS_MAKE_SHORTSTRING("fcmovbe"), + ZYDIS_MAKE_SHORTSTRING("fcmove"), + ZYDIS_MAKE_SHORTSTRING("fcmovnb"), + ZYDIS_MAKE_SHORTSTRING("fcmovnbe"), + ZYDIS_MAKE_SHORTSTRING("fcmovne"), + ZYDIS_MAKE_SHORTSTRING("fcmovnu"), + ZYDIS_MAKE_SHORTSTRING("fcmovu"), + ZYDIS_MAKE_SHORTSTRING("fcom"), + ZYDIS_MAKE_SHORTSTRING("fcomi"), + ZYDIS_MAKE_SHORTSTRING("fcomip"), + ZYDIS_MAKE_SHORTSTRING("fcomp"), + ZYDIS_MAKE_SHORTSTRING("fcompp"), + ZYDIS_MAKE_SHORTSTRING("fcos"), + ZYDIS_MAKE_SHORTSTRING("fdecstp"), + ZYDIS_MAKE_SHORTSTRING("fdisi8087_nop"), + ZYDIS_MAKE_SHORTSTRING("fdiv"), + ZYDIS_MAKE_SHORTSTRING("fdivp"), + ZYDIS_MAKE_SHORTSTRING("fdivr"), + ZYDIS_MAKE_SHORTSTRING("fdivrp"), + ZYDIS_MAKE_SHORTSTRING("femms"), + ZYDIS_MAKE_SHORTSTRING("feni8087_nop"), + ZYDIS_MAKE_SHORTSTRING("ffree"), + ZYDIS_MAKE_SHORTSTRING("ffreep"), + ZYDIS_MAKE_SHORTSTRING("fiadd"), + ZYDIS_MAKE_SHORTSTRING("ficom"), + ZYDIS_MAKE_SHORTSTRING("ficomp"), + ZYDIS_MAKE_SHORTSTRING("fidiv"), + ZYDIS_MAKE_SHORTSTRING("fidivr"), + ZYDIS_MAKE_SHORTSTRING("fild"), + ZYDIS_MAKE_SHORTSTRING("fimul"), + ZYDIS_MAKE_SHORTSTRING("fincstp"), + ZYDIS_MAKE_SHORTSTRING("fist"), + ZYDIS_MAKE_SHORTSTRING("fistp"), + ZYDIS_MAKE_SHORTSTRING("fisttp"), + ZYDIS_MAKE_SHORTSTRING("fisub"), + ZYDIS_MAKE_SHORTSTRING("fisubr"), + ZYDIS_MAKE_SHORTSTRING("fld"), + ZYDIS_MAKE_SHORTSTRING("fld1"), + ZYDIS_MAKE_SHORTSTRING("fldcw"), + ZYDIS_MAKE_SHORTSTRING("fldenv"), + ZYDIS_MAKE_SHORTSTRING("fldl2e"), + ZYDIS_MAKE_SHORTSTRING("fldl2t"), + ZYDIS_MAKE_SHORTSTRING("fldlg2"), + ZYDIS_MAKE_SHORTSTRING("fldln2"), + ZYDIS_MAKE_SHORTSTRING("fldpi"), + ZYDIS_MAKE_SHORTSTRING("fldz"), + ZYDIS_MAKE_SHORTSTRING("fmul"), + ZYDIS_MAKE_SHORTSTRING("fmulp"), + ZYDIS_MAKE_SHORTSTRING("fnclex"), + ZYDIS_MAKE_SHORTSTRING("fninit"), + ZYDIS_MAKE_SHORTSTRING("fnop"), + ZYDIS_MAKE_SHORTSTRING("fnsave"), + ZYDIS_MAKE_SHORTSTRING("fnstcw"), + ZYDIS_MAKE_SHORTSTRING("fnstenv"), + ZYDIS_MAKE_SHORTSTRING("fnstsw"), + ZYDIS_MAKE_SHORTSTRING("fpatan"), + ZYDIS_MAKE_SHORTSTRING("fprem"), + ZYDIS_MAKE_SHORTSTRING("fprem1"), + ZYDIS_MAKE_SHORTSTRING("fptan"), + ZYDIS_MAKE_SHORTSTRING("frndint"), + ZYDIS_MAKE_SHORTSTRING("frstor"), + ZYDIS_MAKE_SHORTSTRING("fscale"), + ZYDIS_MAKE_SHORTSTRING("fsetpm287_nop"), + ZYDIS_MAKE_SHORTSTRING("fsin"), + ZYDIS_MAKE_SHORTSTRING("fsincos"), + ZYDIS_MAKE_SHORTSTRING("fsqrt"), + ZYDIS_MAKE_SHORTSTRING("fst"), + ZYDIS_MAKE_SHORTSTRING("fstp"), + ZYDIS_MAKE_SHORTSTRING("fstpnce"), + ZYDIS_MAKE_SHORTSTRING("fsub"), + ZYDIS_MAKE_SHORTSTRING("fsubp"), + ZYDIS_MAKE_SHORTSTRING("fsubr"), + ZYDIS_MAKE_SHORTSTRING("fsubrp"), + ZYDIS_MAKE_SHORTSTRING("ftst"), + ZYDIS_MAKE_SHORTSTRING("fucom"), + ZYDIS_MAKE_SHORTSTRING("fucomi"), + ZYDIS_MAKE_SHORTSTRING("fucomip"), + ZYDIS_MAKE_SHORTSTRING("fucomp"), + ZYDIS_MAKE_SHORTSTRING("fucompp"), + ZYDIS_MAKE_SHORTSTRING("fwait"), + ZYDIS_MAKE_SHORTSTRING("fxam"), + ZYDIS_MAKE_SHORTSTRING("fxch"), + ZYDIS_MAKE_SHORTSTRING("fxrstor"), + ZYDIS_MAKE_SHORTSTRING("fxrstor64"), + ZYDIS_MAKE_SHORTSTRING("fxsave"), + ZYDIS_MAKE_SHORTSTRING("fxsave64"), + ZYDIS_MAKE_SHORTSTRING("fxtract"), + ZYDIS_MAKE_SHORTSTRING("fyl2x"), + ZYDIS_MAKE_SHORTSTRING("fyl2xp1"), + ZYDIS_MAKE_SHORTSTRING("getsec"), + ZYDIS_MAKE_SHORTSTRING("gf2p8affineinvqb"), + ZYDIS_MAKE_SHORTSTRING("gf2p8affineqb"), + ZYDIS_MAKE_SHORTSTRING("gf2p8mulb"), + ZYDIS_MAKE_SHORTSTRING("haddpd"), + ZYDIS_MAKE_SHORTSTRING("haddps"), + ZYDIS_MAKE_SHORTSTRING("hlt"), + ZYDIS_MAKE_SHORTSTRING("hsubpd"), + ZYDIS_MAKE_SHORTSTRING("hsubps"), + ZYDIS_MAKE_SHORTSTRING("idiv"), + ZYDIS_MAKE_SHORTSTRING("imul"), + ZYDIS_MAKE_SHORTSTRING("in"), + ZYDIS_MAKE_SHORTSTRING("inc"), + ZYDIS_MAKE_SHORTSTRING("incsspd"), + ZYDIS_MAKE_SHORTSTRING("incsspq"), + ZYDIS_MAKE_SHORTSTRING("insb"), + ZYDIS_MAKE_SHORTSTRING("insd"), + ZYDIS_MAKE_SHORTSTRING("insertps"), + ZYDIS_MAKE_SHORTSTRING("insertq"), + ZYDIS_MAKE_SHORTSTRING("insw"), + ZYDIS_MAKE_SHORTSTRING("int"), + ZYDIS_MAKE_SHORTSTRING("int1"), + ZYDIS_MAKE_SHORTSTRING("int3"), + ZYDIS_MAKE_SHORTSTRING("into"), + ZYDIS_MAKE_SHORTSTRING("invd"), + ZYDIS_MAKE_SHORTSTRING("invept"), + ZYDIS_MAKE_SHORTSTRING("invlpg"), + ZYDIS_MAKE_SHORTSTRING("invlpga"), + ZYDIS_MAKE_SHORTSTRING("invlpgb"), + ZYDIS_MAKE_SHORTSTRING("invpcid"), + ZYDIS_MAKE_SHORTSTRING("invvpid"), + ZYDIS_MAKE_SHORTSTRING("iret"), + ZYDIS_MAKE_SHORTSTRING("iretd"), + ZYDIS_MAKE_SHORTSTRING("iretq"), + ZYDIS_MAKE_SHORTSTRING("jb"), + ZYDIS_MAKE_SHORTSTRING("jbe"), + ZYDIS_MAKE_SHORTSTRING("jcxz"), + ZYDIS_MAKE_SHORTSTRING("jecxz"), + ZYDIS_MAKE_SHORTSTRING("jknzd"), + ZYDIS_MAKE_SHORTSTRING("jkzd"), + ZYDIS_MAKE_SHORTSTRING("jl"), + ZYDIS_MAKE_SHORTSTRING("jle"), + ZYDIS_MAKE_SHORTSTRING("jmp"), + ZYDIS_MAKE_SHORTSTRING("jnb"), + ZYDIS_MAKE_SHORTSTRING("jnbe"), + ZYDIS_MAKE_SHORTSTRING("jnl"), + ZYDIS_MAKE_SHORTSTRING("jnle"), + ZYDIS_MAKE_SHORTSTRING("jno"), + ZYDIS_MAKE_SHORTSTRING("jnp"), + ZYDIS_MAKE_SHORTSTRING("jns"), + ZYDIS_MAKE_SHORTSTRING("jnz"), + ZYDIS_MAKE_SHORTSTRING("jo"), + ZYDIS_MAKE_SHORTSTRING("jp"), + ZYDIS_MAKE_SHORTSTRING("jrcxz"), + ZYDIS_MAKE_SHORTSTRING("js"), + ZYDIS_MAKE_SHORTSTRING("jz"), + ZYDIS_MAKE_SHORTSTRING("kaddb"), + ZYDIS_MAKE_SHORTSTRING("kaddd"), + ZYDIS_MAKE_SHORTSTRING("kaddq"), + ZYDIS_MAKE_SHORTSTRING("kaddw"), + ZYDIS_MAKE_SHORTSTRING("kand"), + ZYDIS_MAKE_SHORTSTRING("kandb"), + ZYDIS_MAKE_SHORTSTRING("kandd"), + ZYDIS_MAKE_SHORTSTRING("kandn"), + ZYDIS_MAKE_SHORTSTRING("kandnb"), + ZYDIS_MAKE_SHORTSTRING("kandnd"), + ZYDIS_MAKE_SHORTSTRING("kandnq"), + ZYDIS_MAKE_SHORTSTRING("kandnr"), + ZYDIS_MAKE_SHORTSTRING("kandnw"), + ZYDIS_MAKE_SHORTSTRING("kandq"), + ZYDIS_MAKE_SHORTSTRING("kandw"), + ZYDIS_MAKE_SHORTSTRING("kconcath"), + ZYDIS_MAKE_SHORTSTRING("kconcatl"), + ZYDIS_MAKE_SHORTSTRING("kextract"), + ZYDIS_MAKE_SHORTSTRING("kmerge2l1h"), + ZYDIS_MAKE_SHORTSTRING("kmerge2l1l"), + ZYDIS_MAKE_SHORTSTRING("kmov"), + ZYDIS_MAKE_SHORTSTRING("kmovb"), + ZYDIS_MAKE_SHORTSTRING("kmovd"), + ZYDIS_MAKE_SHORTSTRING("kmovq"), + ZYDIS_MAKE_SHORTSTRING("kmovw"), + ZYDIS_MAKE_SHORTSTRING("knot"), + ZYDIS_MAKE_SHORTSTRING("knotb"), + ZYDIS_MAKE_SHORTSTRING("knotd"), + ZYDIS_MAKE_SHORTSTRING("knotq"), + ZYDIS_MAKE_SHORTSTRING("knotw"), + ZYDIS_MAKE_SHORTSTRING("kor"), + ZYDIS_MAKE_SHORTSTRING("korb"), + ZYDIS_MAKE_SHORTSTRING("kord"), + ZYDIS_MAKE_SHORTSTRING("korq"), + ZYDIS_MAKE_SHORTSTRING("kortest"), + ZYDIS_MAKE_SHORTSTRING("kortestb"), + ZYDIS_MAKE_SHORTSTRING("kortestd"), + ZYDIS_MAKE_SHORTSTRING("kortestq"), + ZYDIS_MAKE_SHORTSTRING("kortestw"), + ZYDIS_MAKE_SHORTSTRING("korw"), + ZYDIS_MAKE_SHORTSTRING("kshiftlb"), + ZYDIS_MAKE_SHORTSTRING("kshiftld"), + ZYDIS_MAKE_SHORTSTRING("kshiftlq"), + ZYDIS_MAKE_SHORTSTRING("kshiftlw"), + ZYDIS_MAKE_SHORTSTRING("kshiftrb"), + ZYDIS_MAKE_SHORTSTRING("kshiftrd"), + ZYDIS_MAKE_SHORTSTRING("kshiftrq"), + ZYDIS_MAKE_SHORTSTRING("kshiftrw"), + ZYDIS_MAKE_SHORTSTRING("ktestb"), + ZYDIS_MAKE_SHORTSTRING("ktestd"), + ZYDIS_MAKE_SHORTSTRING("ktestq"), + ZYDIS_MAKE_SHORTSTRING("ktestw"), + ZYDIS_MAKE_SHORTSTRING("kunpckbw"), + ZYDIS_MAKE_SHORTSTRING("kunpckdq"), + ZYDIS_MAKE_SHORTSTRING("kunpckwd"), + ZYDIS_MAKE_SHORTSTRING("kxnor"), + ZYDIS_MAKE_SHORTSTRING("kxnorb"), + ZYDIS_MAKE_SHORTSTRING("kxnord"), + ZYDIS_MAKE_SHORTSTRING("kxnorq"), + ZYDIS_MAKE_SHORTSTRING("kxnorw"), + ZYDIS_MAKE_SHORTSTRING("kxor"), + ZYDIS_MAKE_SHORTSTRING("kxorb"), + ZYDIS_MAKE_SHORTSTRING("kxord"), + ZYDIS_MAKE_SHORTSTRING("kxorq"), + ZYDIS_MAKE_SHORTSTRING("kxorw"), + ZYDIS_MAKE_SHORTSTRING("lahf"), + ZYDIS_MAKE_SHORTSTRING("lar"), + ZYDIS_MAKE_SHORTSTRING("lddqu"), + ZYDIS_MAKE_SHORTSTRING("ldmxcsr"), + ZYDIS_MAKE_SHORTSTRING("lds"), + ZYDIS_MAKE_SHORTSTRING("ldtilecfg"), + ZYDIS_MAKE_SHORTSTRING("lea"), + ZYDIS_MAKE_SHORTSTRING("leave"), + ZYDIS_MAKE_SHORTSTRING("les"), + ZYDIS_MAKE_SHORTSTRING("lfence"), + ZYDIS_MAKE_SHORTSTRING("lfs"), + ZYDIS_MAKE_SHORTSTRING("lgdt"), + ZYDIS_MAKE_SHORTSTRING("lgs"), + ZYDIS_MAKE_SHORTSTRING("lidt"), + ZYDIS_MAKE_SHORTSTRING("lldt"), + ZYDIS_MAKE_SHORTSTRING("llwpcb"), + ZYDIS_MAKE_SHORTSTRING("lmsw"), + ZYDIS_MAKE_SHORTSTRING("lodsb"), + ZYDIS_MAKE_SHORTSTRING("lodsd"), + ZYDIS_MAKE_SHORTSTRING("lodsq"), + ZYDIS_MAKE_SHORTSTRING("lodsw"), + ZYDIS_MAKE_SHORTSTRING("loop"), + ZYDIS_MAKE_SHORTSTRING("loope"), + ZYDIS_MAKE_SHORTSTRING("loopne"), + ZYDIS_MAKE_SHORTSTRING("lsl"), + ZYDIS_MAKE_SHORTSTRING("lss"), + ZYDIS_MAKE_SHORTSTRING("ltr"), + ZYDIS_MAKE_SHORTSTRING("lwpins"), + ZYDIS_MAKE_SHORTSTRING("lwpval"), + ZYDIS_MAKE_SHORTSTRING("lzcnt"), + ZYDIS_MAKE_SHORTSTRING("maskmovdqu"), + ZYDIS_MAKE_SHORTSTRING("maskmovq"), + ZYDIS_MAKE_SHORTSTRING("maxpd"), + ZYDIS_MAKE_SHORTSTRING("maxps"), + ZYDIS_MAKE_SHORTSTRING("maxsd"), + ZYDIS_MAKE_SHORTSTRING("maxss"), + ZYDIS_MAKE_SHORTSTRING("mcommit"), + ZYDIS_MAKE_SHORTSTRING("mfence"), + ZYDIS_MAKE_SHORTSTRING("minpd"), + ZYDIS_MAKE_SHORTSTRING("minps"), + ZYDIS_MAKE_SHORTSTRING("minsd"), + ZYDIS_MAKE_SHORTSTRING("minss"), + ZYDIS_MAKE_SHORTSTRING("monitor"), + ZYDIS_MAKE_SHORTSTRING("monitorx"), + ZYDIS_MAKE_SHORTSTRING("montmul"), + ZYDIS_MAKE_SHORTSTRING("mov"), + ZYDIS_MAKE_SHORTSTRING("movapd"), + ZYDIS_MAKE_SHORTSTRING("movaps"), + ZYDIS_MAKE_SHORTSTRING("movbe"), + ZYDIS_MAKE_SHORTSTRING("movd"), + ZYDIS_MAKE_SHORTSTRING("movddup"), + ZYDIS_MAKE_SHORTSTRING("movdir64b"), + ZYDIS_MAKE_SHORTSTRING("movdiri"), + ZYDIS_MAKE_SHORTSTRING("movdq2q"), + ZYDIS_MAKE_SHORTSTRING("movdqa"), + ZYDIS_MAKE_SHORTSTRING("movdqu"), + ZYDIS_MAKE_SHORTSTRING("movhlps"), + ZYDIS_MAKE_SHORTSTRING("movhpd"), + ZYDIS_MAKE_SHORTSTRING("movhps"), + ZYDIS_MAKE_SHORTSTRING("movlhps"), + ZYDIS_MAKE_SHORTSTRING("movlpd"), + ZYDIS_MAKE_SHORTSTRING("movlps"), + ZYDIS_MAKE_SHORTSTRING("movmskpd"), + ZYDIS_MAKE_SHORTSTRING("movmskps"), + ZYDIS_MAKE_SHORTSTRING("movntdq"), + ZYDIS_MAKE_SHORTSTRING("movntdqa"), + ZYDIS_MAKE_SHORTSTRING("movnti"), + ZYDIS_MAKE_SHORTSTRING("movntpd"), + ZYDIS_MAKE_SHORTSTRING("movntps"), + ZYDIS_MAKE_SHORTSTRING("movntq"), + ZYDIS_MAKE_SHORTSTRING("movntsd"), + ZYDIS_MAKE_SHORTSTRING("movntss"), + ZYDIS_MAKE_SHORTSTRING("movq"), + ZYDIS_MAKE_SHORTSTRING("movq2dq"), + ZYDIS_MAKE_SHORTSTRING("movsb"), + ZYDIS_MAKE_SHORTSTRING("movsd"), + ZYDIS_MAKE_SHORTSTRING("movshdup"), + ZYDIS_MAKE_SHORTSTRING("movsldup"), + ZYDIS_MAKE_SHORTSTRING("movsq"), + ZYDIS_MAKE_SHORTSTRING("movss"), + ZYDIS_MAKE_SHORTSTRING("movsw"), + ZYDIS_MAKE_SHORTSTRING("movsx"), + ZYDIS_MAKE_SHORTSTRING("movsxd"), + ZYDIS_MAKE_SHORTSTRING("movupd"), + ZYDIS_MAKE_SHORTSTRING("movups"), + ZYDIS_MAKE_SHORTSTRING("movzx"), + ZYDIS_MAKE_SHORTSTRING("mpsadbw"), + ZYDIS_MAKE_SHORTSTRING("mul"), + ZYDIS_MAKE_SHORTSTRING("mulpd"), + ZYDIS_MAKE_SHORTSTRING("mulps"), + ZYDIS_MAKE_SHORTSTRING("mulsd"), + ZYDIS_MAKE_SHORTSTRING("mulss"), + ZYDIS_MAKE_SHORTSTRING("mulx"), + ZYDIS_MAKE_SHORTSTRING("mwait"), + ZYDIS_MAKE_SHORTSTRING("mwaitx"), + ZYDIS_MAKE_SHORTSTRING("neg"), + ZYDIS_MAKE_SHORTSTRING("nop"), + ZYDIS_MAKE_SHORTSTRING("not"), + ZYDIS_MAKE_SHORTSTRING("or"), + ZYDIS_MAKE_SHORTSTRING("orpd"), + ZYDIS_MAKE_SHORTSTRING("orps"), + ZYDIS_MAKE_SHORTSTRING("out"), + ZYDIS_MAKE_SHORTSTRING("outsb"), + ZYDIS_MAKE_SHORTSTRING("outsd"), + ZYDIS_MAKE_SHORTSTRING("outsw"), + ZYDIS_MAKE_SHORTSTRING("pabsb"), + ZYDIS_MAKE_SHORTSTRING("pabsd"), + ZYDIS_MAKE_SHORTSTRING("pabsw"), + ZYDIS_MAKE_SHORTSTRING("packssdw"), + ZYDIS_MAKE_SHORTSTRING("packsswb"), + ZYDIS_MAKE_SHORTSTRING("packusdw"), + ZYDIS_MAKE_SHORTSTRING("packuswb"), + ZYDIS_MAKE_SHORTSTRING("paddb"), + ZYDIS_MAKE_SHORTSTRING("paddd"), + ZYDIS_MAKE_SHORTSTRING("paddq"), + ZYDIS_MAKE_SHORTSTRING("paddsb"), + ZYDIS_MAKE_SHORTSTRING("paddsw"), + ZYDIS_MAKE_SHORTSTRING("paddusb"), + ZYDIS_MAKE_SHORTSTRING("paddusw"), + ZYDIS_MAKE_SHORTSTRING("paddw"), + ZYDIS_MAKE_SHORTSTRING("palignr"), + ZYDIS_MAKE_SHORTSTRING("pand"), + ZYDIS_MAKE_SHORTSTRING("pandn"), + ZYDIS_MAKE_SHORTSTRING("pause"), + ZYDIS_MAKE_SHORTSTRING("pavgb"), + ZYDIS_MAKE_SHORTSTRING("pavgusb"), + ZYDIS_MAKE_SHORTSTRING("pavgw"), + ZYDIS_MAKE_SHORTSTRING("pblendvb"), + ZYDIS_MAKE_SHORTSTRING("pblendw"), + ZYDIS_MAKE_SHORTSTRING("pclmulqdq"), + ZYDIS_MAKE_SHORTSTRING("pcmpeqb"), + ZYDIS_MAKE_SHORTSTRING("pcmpeqd"), + ZYDIS_MAKE_SHORTSTRING("pcmpeqq"), + ZYDIS_MAKE_SHORTSTRING("pcmpeqw"), + ZYDIS_MAKE_SHORTSTRING("pcmpestri"), + ZYDIS_MAKE_SHORTSTRING("pcmpestrm"), + ZYDIS_MAKE_SHORTSTRING("pcmpgtb"), + ZYDIS_MAKE_SHORTSTRING("pcmpgtd"), + ZYDIS_MAKE_SHORTSTRING("pcmpgtq"), + ZYDIS_MAKE_SHORTSTRING("pcmpgtw"), + ZYDIS_MAKE_SHORTSTRING("pcmpistri"), + ZYDIS_MAKE_SHORTSTRING("pcmpistrm"), + ZYDIS_MAKE_SHORTSTRING("pconfig"), + ZYDIS_MAKE_SHORTSTRING("pdep"), + ZYDIS_MAKE_SHORTSTRING("pext"), + ZYDIS_MAKE_SHORTSTRING("pextrb"), + ZYDIS_MAKE_SHORTSTRING("pextrd"), + ZYDIS_MAKE_SHORTSTRING("pextrq"), + ZYDIS_MAKE_SHORTSTRING("pextrw"), + ZYDIS_MAKE_SHORTSTRING("pf2id"), + ZYDIS_MAKE_SHORTSTRING("pf2iw"), + ZYDIS_MAKE_SHORTSTRING("pfacc"), + ZYDIS_MAKE_SHORTSTRING("pfadd"), + ZYDIS_MAKE_SHORTSTRING("pfcmpeq"), + ZYDIS_MAKE_SHORTSTRING("pfcmpge"), + ZYDIS_MAKE_SHORTSTRING("pfcmpgt"), + ZYDIS_MAKE_SHORTSTRING("pfcpit1"), + ZYDIS_MAKE_SHORTSTRING("pfmax"), + ZYDIS_MAKE_SHORTSTRING("pfmin"), + ZYDIS_MAKE_SHORTSTRING("pfmul"), + ZYDIS_MAKE_SHORTSTRING("pfnacc"), + ZYDIS_MAKE_SHORTSTRING("pfpnacc"), + ZYDIS_MAKE_SHORTSTRING("pfrcp"), + ZYDIS_MAKE_SHORTSTRING("pfrcpit2"), + ZYDIS_MAKE_SHORTSTRING("pfrsqit1"), + ZYDIS_MAKE_SHORTSTRING("pfsqrt"), + ZYDIS_MAKE_SHORTSTRING("pfsub"), + ZYDIS_MAKE_SHORTSTRING("pfsubr"), + ZYDIS_MAKE_SHORTSTRING("phaddd"), + ZYDIS_MAKE_SHORTSTRING("phaddsw"), + ZYDIS_MAKE_SHORTSTRING("phaddw"), + ZYDIS_MAKE_SHORTSTRING("phminposuw"), + ZYDIS_MAKE_SHORTSTRING("phsubd"), + ZYDIS_MAKE_SHORTSTRING("phsubsw"), + ZYDIS_MAKE_SHORTSTRING("phsubw"), + ZYDIS_MAKE_SHORTSTRING("pi2fd"), + ZYDIS_MAKE_SHORTSTRING("pi2fw"), + ZYDIS_MAKE_SHORTSTRING("pinsrb"), + ZYDIS_MAKE_SHORTSTRING("pinsrd"), + ZYDIS_MAKE_SHORTSTRING("pinsrq"), + ZYDIS_MAKE_SHORTSTRING("pinsrw"), + ZYDIS_MAKE_SHORTSTRING("pmaddubsw"), + ZYDIS_MAKE_SHORTSTRING("pmaddwd"), + ZYDIS_MAKE_SHORTSTRING("pmaxsb"), + ZYDIS_MAKE_SHORTSTRING("pmaxsd"), + ZYDIS_MAKE_SHORTSTRING("pmaxsw"), + ZYDIS_MAKE_SHORTSTRING("pmaxub"), + ZYDIS_MAKE_SHORTSTRING("pmaxud"), + ZYDIS_MAKE_SHORTSTRING("pmaxuw"), + ZYDIS_MAKE_SHORTSTRING("pminsb"), + ZYDIS_MAKE_SHORTSTRING("pminsd"), + ZYDIS_MAKE_SHORTSTRING("pminsw"), + ZYDIS_MAKE_SHORTSTRING("pminub"), + ZYDIS_MAKE_SHORTSTRING("pminud"), + ZYDIS_MAKE_SHORTSTRING("pminuw"), + ZYDIS_MAKE_SHORTSTRING("pmovmskb"), + ZYDIS_MAKE_SHORTSTRING("pmovsxbd"), + ZYDIS_MAKE_SHORTSTRING("pmovsxbq"), + ZYDIS_MAKE_SHORTSTRING("pmovsxbw"), + ZYDIS_MAKE_SHORTSTRING("pmovsxdq"), + ZYDIS_MAKE_SHORTSTRING("pmovsxwd"), + ZYDIS_MAKE_SHORTSTRING("pmovsxwq"), + ZYDIS_MAKE_SHORTSTRING("pmovzxbd"), + ZYDIS_MAKE_SHORTSTRING("pmovzxbq"), + ZYDIS_MAKE_SHORTSTRING("pmovzxbw"), + ZYDIS_MAKE_SHORTSTRING("pmovzxdq"), + ZYDIS_MAKE_SHORTSTRING("pmovzxwd"), + ZYDIS_MAKE_SHORTSTRING("pmovzxwq"), + ZYDIS_MAKE_SHORTSTRING("pmuldq"), + ZYDIS_MAKE_SHORTSTRING("pmulhrsw"), + ZYDIS_MAKE_SHORTSTRING("pmulhrw"), + ZYDIS_MAKE_SHORTSTRING("pmulhuw"), + ZYDIS_MAKE_SHORTSTRING("pmulhw"), + ZYDIS_MAKE_SHORTSTRING("pmulld"), + ZYDIS_MAKE_SHORTSTRING("pmullw"), + ZYDIS_MAKE_SHORTSTRING("pmuludq"), + ZYDIS_MAKE_SHORTSTRING("pop"), + ZYDIS_MAKE_SHORTSTRING("popa"), + ZYDIS_MAKE_SHORTSTRING("popad"), + ZYDIS_MAKE_SHORTSTRING("popcnt"), + ZYDIS_MAKE_SHORTSTRING("popf"), + ZYDIS_MAKE_SHORTSTRING("popfd"), + ZYDIS_MAKE_SHORTSTRING("popfq"), + ZYDIS_MAKE_SHORTSTRING("por"), + ZYDIS_MAKE_SHORTSTRING("prefetch"), + ZYDIS_MAKE_SHORTSTRING("prefetchnta"), + ZYDIS_MAKE_SHORTSTRING("prefetcht0"), + ZYDIS_MAKE_SHORTSTRING("prefetcht1"), + ZYDIS_MAKE_SHORTSTRING("prefetcht2"), + ZYDIS_MAKE_SHORTSTRING("prefetchw"), + ZYDIS_MAKE_SHORTSTRING("prefetchwt1"), + ZYDIS_MAKE_SHORTSTRING("psadbw"), + ZYDIS_MAKE_SHORTSTRING("pshufb"), + ZYDIS_MAKE_SHORTSTRING("pshufd"), + ZYDIS_MAKE_SHORTSTRING("pshufhw"), + ZYDIS_MAKE_SHORTSTRING("pshuflw"), + ZYDIS_MAKE_SHORTSTRING("pshufw"), + ZYDIS_MAKE_SHORTSTRING("psignb"), + ZYDIS_MAKE_SHORTSTRING("psignd"), + ZYDIS_MAKE_SHORTSTRING("psignw"), + ZYDIS_MAKE_SHORTSTRING("pslld"), + ZYDIS_MAKE_SHORTSTRING("pslldq"), + ZYDIS_MAKE_SHORTSTRING("psllq"), + ZYDIS_MAKE_SHORTSTRING("psllw"), + ZYDIS_MAKE_SHORTSTRING("psmash"), + ZYDIS_MAKE_SHORTSTRING("psrad"), + ZYDIS_MAKE_SHORTSTRING("psraw"), + ZYDIS_MAKE_SHORTSTRING("psrld"), + ZYDIS_MAKE_SHORTSTRING("psrldq"), + ZYDIS_MAKE_SHORTSTRING("psrlq"), + ZYDIS_MAKE_SHORTSTRING("psrlw"), + ZYDIS_MAKE_SHORTSTRING("psubb"), + ZYDIS_MAKE_SHORTSTRING("psubd"), + ZYDIS_MAKE_SHORTSTRING("psubq"), + ZYDIS_MAKE_SHORTSTRING("psubsb"), + ZYDIS_MAKE_SHORTSTRING("psubsw"), + ZYDIS_MAKE_SHORTSTRING("psubusb"), + ZYDIS_MAKE_SHORTSTRING("psubusw"), + ZYDIS_MAKE_SHORTSTRING("psubw"), + ZYDIS_MAKE_SHORTSTRING("pswapd"), + ZYDIS_MAKE_SHORTSTRING("ptest"), + ZYDIS_MAKE_SHORTSTRING("ptwrite"), + ZYDIS_MAKE_SHORTSTRING("punpckhbw"), + ZYDIS_MAKE_SHORTSTRING("punpckhdq"), + ZYDIS_MAKE_SHORTSTRING("punpckhqdq"), + ZYDIS_MAKE_SHORTSTRING("punpckhwd"), + ZYDIS_MAKE_SHORTSTRING("punpcklbw"), + ZYDIS_MAKE_SHORTSTRING("punpckldq"), + ZYDIS_MAKE_SHORTSTRING("punpcklqdq"), + ZYDIS_MAKE_SHORTSTRING("punpcklwd"), + ZYDIS_MAKE_SHORTSTRING("push"), + ZYDIS_MAKE_SHORTSTRING("pusha"), + ZYDIS_MAKE_SHORTSTRING("pushad"), + ZYDIS_MAKE_SHORTSTRING("pushf"), + ZYDIS_MAKE_SHORTSTRING("pushfd"), + ZYDIS_MAKE_SHORTSTRING("pushfq"), + ZYDIS_MAKE_SHORTSTRING("pvalidate"), + ZYDIS_MAKE_SHORTSTRING("pxor"), + ZYDIS_MAKE_SHORTSTRING("rcl"), + ZYDIS_MAKE_SHORTSTRING("rcpps"), + ZYDIS_MAKE_SHORTSTRING("rcpss"), + ZYDIS_MAKE_SHORTSTRING("rcr"), + ZYDIS_MAKE_SHORTSTRING("rdfsbase"), + ZYDIS_MAKE_SHORTSTRING("rdgsbase"), + ZYDIS_MAKE_SHORTSTRING("rdmsr"), + ZYDIS_MAKE_SHORTSTRING("rdpid"), + ZYDIS_MAKE_SHORTSTRING("rdpkru"), + ZYDIS_MAKE_SHORTSTRING("rdpmc"), + ZYDIS_MAKE_SHORTSTRING("rdpru"), + ZYDIS_MAKE_SHORTSTRING("rdrand"), + ZYDIS_MAKE_SHORTSTRING("rdseed"), + ZYDIS_MAKE_SHORTSTRING("rdsspd"), + ZYDIS_MAKE_SHORTSTRING("rdsspq"), + ZYDIS_MAKE_SHORTSTRING("rdtsc"), + ZYDIS_MAKE_SHORTSTRING("rdtscp"), + ZYDIS_MAKE_SHORTSTRING("ret"), + ZYDIS_MAKE_SHORTSTRING("rmpadjust"), + ZYDIS_MAKE_SHORTSTRING("rmpupdate"), + ZYDIS_MAKE_SHORTSTRING("rol"), + ZYDIS_MAKE_SHORTSTRING("ror"), + ZYDIS_MAKE_SHORTSTRING("rorx"), + ZYDIS_MAKE_SHORTSTRING("roundpd"), + ZYDIS_MAKE_SHORTSTRING("roundps"), + ZYDIS_MAKE_SHORTSTRING("roundsd"), + ZYDIS_MAKE_SHORTSTRING("roundss"), + ZYDIS_MAKE_SHORTSTRING("rsm"), + ZYDIS_MAKE_SHORTSTRING("rsqrtps"), + ZYDIS_MAKE_SHORTSTRING("rsqrtss"), + ZYDIS_MAKE_SHORTSTRING("rstorssp"), + ZYDIS_MAKE_SHORTSTRING("sahf"), + ZYDIS_MAKE_SHORTSTRING("salc"), + ZYDIS_MAKE_SHORTSTRING("sar"), + ZYDIS_MAKE_SHORTSTRING("sarx"), + ZYDIS_MAKE_SHORTSTRING("saveprevssp"), + ZYDIS_MAKE_SHORTSTRING("sbb"), + ZYDIS_MAKE_SHORTSTRING("scasb"), + ZYDIS_MAKE_SHORTSTRING("scasd"), + ZYDIS_MAKE_SHORTSTRING("scasq"), + ZYDIS_MAKE_SHORTSTRING("scasw"), + ZYDIS_MAKE_SHORTSTRING("serialize"), + ZYDIS_MAKE_SHORTSTRING("setb"), + ZYDIS_MAKE_SHORTSTRING("setbe"), + ZYDIS_MAKE_SHORTSTRING("setl"), + ZYDIS_MAKE_SHORTSTRING("setle"), + ZYDIS_MAKE_SHORTSTRING("setnb"), + ZYDIS_MAKE_SHORTSTRING("setnbe"), + ZYDIS_MAKE_SHORTSTRING("setnl"), + ZYDIS_MAKE_SHORTSTRING("setnle"), + ZYDIS_MAKE_SHORTSTRING("setno"), + ZYDIS_MAKE_SHORTSTRING("setnp"), + ZYDIS_MAKE_SHORTSTRING("setns"), + ZYDIS_MAKE_SHORTSTRING("setnz"), + ZYDIS_MAKE_SHORTSTRING("seto"), + ZYDIS_MAKE_SHORTSTRING("setp"), + ZYDIS_MAKE_SHORTSTRING("sets"), + ZYDIS_MAKE_SHORTSTRING("setssbsy"), + ZYDIS_MAKE_SHORTSTRING("setz"), + ZYDIS_MAKE_SHORTSTRING("sfence"), + ZYDIS_MAKE_SHORTSTRING("sgdt"), + ZYDIS_MAKE_SHORTSTRING("sha1msg1"), + ZYDIS_MAKE_SHORTSTRING("sha1msg2"), + ZYDIS_MAKE_SHORTSTRING("sha1nexte"), + ZYDIS_MAKE_SHORTSTRING("sha1rnds4"), + ZYDIS_MAKE_SHORTSTRING("sha256msg1"), + ZYDIS_MAKE_SHORTSTRING("sha256msg2"), + ZYDIS_MAKE_SHORTSTRING("sha256rnds2"), + ZYDIS_MAKE_SHORTSTRING("shl"), + ZYDIS_MAKE_SHORTSTRING("shld"), + ZYDIS_MAKE_SHORTSTRING("shlx"), + ZYDIS_MAKE_SHORTSTRING("shr"), + ZYDIS_MAKE_SHORTSTRING("shrd"), + ZYDIS_MAKE_SHORTSTRING("shrx"), + ZYDIS_MAKE_SHORTSTRING("shufpd"), + ZYDIS_MAKE_SHORTSTRING("shufps"), + ZYDIS_MAKE_SHORTSTRING("sidt"), + ZYDIS_MAKE_SHORTSTRING("skinit"), + ZYDIS_MAKE_SHORTSTRING("sldt"), + ZYDIS_MAKE_SHORTSTRING("slwpcb"), + ZYDIS_MAKE_SHORTSTRING("smsw"), + ZYDIS_MAKE_SHORTSTRING("spflt"), + ZYDIS_MAKE_SHORTSTRING("sqrtpd"), + ZYDIS_MAKE_SHORTSTRING("sqrtps"), + ZYDIS_MAKE_SHORTSTRING("sqrtsd"), + ZYDIS_MAKE_SHORTSTRING("sqrtss"), + ZYDIS_MAKE_SHORTSTRING("stac"), + ZYDIS_MAKE_SHORTSTRING("stc"), + ZYDIS_MAKE_SHORTSTRING("std"), + ZYDIS_MAKE_SHORTSTRING("stgi"), + ZYDIS_MAKE_SHORTSTRING("sti"), + ZYDIS_MAKE_SHORTSTRING("stmxcsr"), + ZYDIS_MAKE_SHORTSTRING("stosb"), + ZYDIS_MAKE_SHORTSTRING("stosd"), + ZYDIS_MAKE_SHORTSTRING("stosq"), + ZYDIS_MAKE_SHORTSTRING("stosw"), + ZYDIS_MAKE_SHORTSTRING("str"), + ZYDIS_MAKE_SHORTSTRING("sttilecfg"), + ZYDIS_MAKE_SHORTSTRING("sub"), + ZYDIS_MAKE_SHORTSTRING("subpd"), + ZYDIS_MAKE_SHORTSTRING("subps"), + ZYDIS_MAKE_SHORTSTRING("subsd"), + ZYDIS_MAKE_SHORTSTRING("subss"), + ZYDIS_MAKE_SHORTSTRING("swapgs"), + ZYDIS_MAKE_SHORTSTRING("syscall"), + ZYDIS_MAKE_SHORTSTRING("sysenter"), + ZYDIS_MAKE_SHORTSTRING("sysexit"), + ZYDIS_MAKE_SHORTSTRING("sysret"), + ZYDIS_MAKE_SHORTSTRING("t1mskc"), + ZYDIS_MAKE_SHORTSTRING("tdpbf16ps"), + ZYDIS_MAKE_SHORTSTRING("tdpbssd"), + ZYDIS_MAKE_SHORTSTRING("tdpbsud"), + ZYDIS_MAKE_SHORTSTRING("tdpbusd"), + ZYDIS_MAKE_SHORTSTRING("tdpbuud"), + ZYDIS_MAKE_SHORTSTRING("test"), + ZYDIS_MAKE_SHORTSTRING("tileloadd"), + ZYDIS_MAKE_SHORTSTRING("tileloaddt1"), + ZYDIS_MAKE_SHORTSTRING("tilerelease"), + ZYDIS_MAKE_SHORTSTRING("tilestored"), + ZYDIS_MAKE_SHORTSTRING("tilezero"), + ZYDIS_MAKE_SHORTSTRING("tlbsync"), + ZYDIS_MAKE_SHORTSTRING("tpause"), + ZYDIS_MAKE_SHORTSTRING("tzcnt"), + ZYDIS_MAKE_SHORTSTRING("tzcnti"), + ZYDIS_MAKE_SHORTSTRING("tzmsk"), + ZYDIS_MAKE_SHORTSTRING("ucomisd"), + ZYDIS_MAKE_SHORTSTRING("ucomiss"), + ZYDIS_MAKE_SHORTSTRING("ud0"), + ZYDIS_MAKE_SHORTSTRING("ud1"), + ZYDIS_MAKE_SHORTSTRING("ud2"), + ZYDIS_MAKE_SHORTSTRING("umonitor"), + ZYDIS_MAKE_SHORTSTRING("umwait"), + ZYDIS_MAKE_SHORTSTRING("unpckhpd"), + ZYDIS_MAKE_SHORTSTRING("unpckhps"), + ZYDIS_MAKE_SHORTSTRING("unpcklpd"), + ZYDIS_MAKE_SHORTSTRING("unpcklps"), + ZYDIS_MAKE_SHORTSTRING("v4fmaddps"), + ZYDIS_MAKE_SHORTSTRING("v4fmaddss"), + ZYDIS_MAKE_SHORTSTRING("v4fnmaddps"), + ZYDIS_MAKE_SHORTSTRING("v4fnmaddss"), + ZYDIS_MAKE_SHORTSTRING("vaddnpd"), + ZYDIS_MAKE_SHORTSTRING("vaddnps"), + ZYDIS_MAKE_SHORTSTRING("vaddpd"), + ZYDIS_MAKE_SHORTSTRING("vaddps"), + ZYDIS_MAKE_SHORTSTRING("vaddsd"), + ZYDIS_MAKE_SHORTSTRING("vaddsetsps"), + ZYDIS_MAKE_SHORTSTRING("vaddss"), + ZYDIS_MAKE_SHORTSTRING("vaddsubpd"), + ZYDIS_MAKE_SHORTSTRING("vaddsubps"), + ZYDIS_MAKE_SHORTSTRING("vaesdec"), + ZYDIS_MAKE_SHORTSTRING("vaesdeclast"), + ZYDIS_MAKE_SHORTSTRING("vaesenc"), + ZYDIS_MAKE_SHORTSTRING("vaesenclast"), + ZYDIS_MAKE_SHORTSTRING("vaesimc"), + ZYDIS_MAKE_SHORTSTRING("vaeskeygenassist"), + ZYDIS_MAKE_SHORTSTRING("valignd"), + ZYDIS_MAKE_SHORTSTRING("valignq"), + ZYDIS_MAKE_SHORTSTRING("vandnpd"), + ZYDIS_MAKE_SHORTSTRING("vandnps"), + ZYDIS_MAKE_SHORTSTRING("vandpd"), + ZYDIS_MAKE_SHORTSTRING("vandps"), + ZYDIS_MAKE_SHORTSTRING("vblendmpd"), + ZYDIS_MAKE_SHORTSTRING("vblendmps"), + ZYDIS_MAKE_SHORTSTRING("vblendpd"), + ZYDIS_MAKE_SHORTSTRING("vblendps"), + ZYDIS_MAKE_SHORTSTRING("vblendvpd"), + ZYDIS_MAKE_SHORTSTRING("vblendvps"), + ZYDIS_MAKE_SHORTSTRING("vbroadcastf128"), + ZYDIS_MAKE_SHORTSTRING("vbroadcastf32x2"), + ZYDIS_MAKE_SHORTSTRING("vbroadcastf32x4"), + ZYDIS_MAKE_SHORTSTRING("vbroadcastf32x8"), + ZYDIS_MAKE_SHORTSTRING("vbroadcastf64x2"), + ZYDIS_MAKE_SHORTSTRING("vbroadcastf64x4"), + ZYDIS_MAKE_SHORTSTRING("vbroadcasti128"), + ZYDIS_MAKE_SHORTSTRING("vbroadcasti32x2"), + ZYDIS_MAKE_SHORTSTRING("vbroadcasti32x4"), + ZYDIS_MAKE_SHORTSTRING("vbroadcasti32x8"), + ZYDIS_MAKE_SHORTSTRING("vbroadcasti64x2"), + ZYDIS_MAKE_SHORTSTRING("vbroadcasti64x4"), + ZYDIS_MAKE_SHORTSTRING("vbroadcastsd"), + ZYDIS_MAKE_SHORTSTRING("vbroadcastss"), + ZYDIS_MAKE_SHORTSTRING("vcmppd"), + ZYDIS_MAKE_SHORTSTRING("vcmpps"), + ZYDIS_MAKE_SHORTSTRING("vcmpsd"), + ZYDIS_MAKE_SHORTSTRING("vcmpss"), + ZYDIS_MAKE_SHORTSTRING("vcomisd"), + ZYDIS_MAKE_SHORTSTRING("vcomiss"), + ZYDIS_MAKE_SHORTSTRING("vcompresspd"), + ZYDIS_MAKE_SHORTSTRING("vcompressps"), + ZYDIS_MAKE_SHORTSTRING("vcvtdq2pd"), + ZYDIS_MAKE_SHORTSTRING("vcvtdq2ps"), + ZYDIS_MAKE_SHORTSTRING("vcvtfxpntdq2ps"), + ZYDIS_MAKE_SHORTSTRING("vcvtfxpntpd2dq"), + ZYDIS_MAKE_SHORTSTRING("vcvtfxpntpd2udq"), + ZYDIS_MAKE_SHORTSTRING("vcvtfxpntps2dq"), + ZYDIS_MAKE_SHORTSTRING("vcvtfxpntps2udq"), + ZYDIS_MAKE_SHORTSTRING("vcvtfxpntudq2ps"), + ZYDIS_MAKE_SHORTSTRING("vcvtne2ps2bf16"), + ZYDIS_MAKE_SHORTSTRING("vcvtneps2bf16"), + ZYDIS_MAKE_SHORTSTRING("vcvtpd2dq"), + ZYDIS_MAKE_SHORTSTRING("vcvtpd2ps"), + ZYDIS_MAKE_SHORTSTRING("vcvtpd2qq"), + ZYDIS_MAKE_SHORTSTRING("vcvtpd2udq"), + ZYDIS_MAKE_SHORTSTRING("vcvtpd2uqq"), + ZYDIS_MAKE_SHORTSTRING("vcvtph2ps"), + ZYDIS_MAKE_SHORTSTRING("vcvtps2dq"), + ZYDIS_MAKE_SHORTSTRING("vcvtps2pd"), + ZYDIS_MAKE_SHORTSTRING("vcvtps2ph"), + ZYDIS_MAKE_SHORTSTRING("vcvtps2qq"), + ZYDIS_MAKE_SHORTSTRING("vcvtps2udq"), + ZYDIS_MAKE_SHORTSTRING("vcvtps2uqq"), + ZYDIS_MAKE_SHORTSTRING("vcvtqq2pd"), + ZYDIS_MAKE_SHORTSTRING("vcvtqq2ps"), + ZYDIS_MAKE_SHORTSTRING("vcvtsd2si"), + ZYDIS_MAKE_SHORTSTRING("vcvtsd2ss"), + ZYDIS_MAKE_SHORTSTRING("vcvtsd2usi"), + ZYDIS_MAKE_SHORTSTRING("vcvtsi2sd"), + ZYDIS_MAKE_SHORTSTRING("vcvtsi2ss"), + ZYDIS_MAKE_SHORTSTRING("vcvtss2sd"), + ZYDIS_MAKE_SHORTSTRING("vcvtss2si"), + ZYDIS_MAKE_SHORTSTRING("vcvtss2usi"), + ZYDIS_MAKE_SHORTSTRING("vcvttpd2dq"), + ZYDIS_MAKE_SHORTSTRING("vcvttpd2qq"), + ZYDIS_MAKE_SHORTSTRING("vcvttpd2udq"), + ZYDIS_MAKE_SHORTSTRING("vcvttpd2uqq"), + ZYDIS_MAKE_SHORTSTRING("vcvttps2dq"), + ZYDIS_MAKE_SHORTSTRING("vcvttps2qq"), + ZYDIS_MAKE_SHORTSTRING("vcvttps2udq"), + ZYDIS_MAKE_SHORTSTRING("vcvttps2uqq"), + ZYDIS_MAKE_SHORTSTRING("vcvttsd2si"), + ZYDIS_MAKE_SHORTSTRING("vcvttsd2usi"), + ZYDIS_MAKE_SHORTSTRING("vcvttss2si"), + ZYDIS_MAKE_SHORTSTRING("vcvttss2usi"), + ZYDIS_MAKE_SHORTSTRING("vcvtudq2pd"), + ZYDIS_MAKE_SHORTSTRING("vcvtudq2ps"), + ZYDIS_MAKE_SHORTSTRING("vcvtuqq2pd"), + ZYDIS_MAKE_SHORTSTRING("vcvtuqq2ps"), + ZYDIS_MAKE_SHORTSTRING("vcvtusi2sd"), + ZYDIS_MAKE_SHORTSTRING("vcvtusi2ss"), + ZYDIS_MAKE_SHORTSTRING("vdbpsadbw"), + ZYDIS_MAKE_SHORTSTRING("vdivpd"), + ZYDIS_MAKE_SHORTSTRING("vdivps"), + ZYDIS_MAKE_SHORTSTRING("vdivsd"), + ZYDIS_MAKE_SHORTSTRING("vdivss"), + ZYDIS_MAKE_SHORTSTRING("vdpbf16ps"), + ZYDIS_MAKE_SHORTSTRING("vdppd"), + ZYDIS_MAKE_SHORTSTRING("vdpps"), + ZYDIS_MAKE_SHORTSTRING("verr"), + ZYDIS_MAKE_SHORTSTRING("verw"), + ZYDIS_MAKE_SHORTSTRING("vexp223ps"), + ZYDIS_MAKE_SHORTSTRING("vexp2pd"), + ZYDIS_MAKE_SHORTSTRING("vexp2ps"), + ZYDIS_MAKE_SHORTSTRING("vexpandpd"), + ZYDIS_MAKE_SHORTSTRING("vexpandps"), + ZYDIS_MAKE_SHORTSTRING("vextractf128"), + ZYDIS_MAKE_SHORTSTRING("vextractf32x4"), + ZYDIS_MAKE_SHORTSTRING("vextractf32x8"), + ZYDIS_MAKE_SHORTSTRING("vextractf64x2"), + ZYDIS_MAKE_SHORTSTRING("vextractf64x4"), + ZYDIS_MAKE_SHORTSTRING("vextracti128"), + ZYDIS_MAKE_SHORTSTRING("vextracti32x4"), + ZYDIS_MAKE_SHORTSTRING("vextracti32x8"), + ZYDIS_MAKE_SHORTSTRING("vextracti64x2"), + ZYDIS_MAKE_SHORTSTRING("vextracti64x4"), + ZYDIS_MAKE_SHORTSTRING("vextractps"), + ZYDIS_MAKE_SHORTSTRING("vfixupimmpd"), + ZYDIS_MAKE_SHORTSTRING("vfixupimmps"), + ZYDIS_MAKE_SHORTSTRING("vfixupimmsd"), + ZYDIS_MAKE_SHORTSTRING("vfixupimmss"), + ZYDIS_MAKE_SHORTSTRING("vfixupnanpd"), + ZYDIS_MAKE_SHORTSTRING("vfixupnanps"), + ZYDIS_MAKE_SHORTSTRING("vfmadd132pd"), + ZYDIS_MAKE_SHORTSTRING("vfmadd132ps"), + ZYDIS_MAKE_SHORTSTRING("vfmadd132sd"), + ZYDIS_MAKE_SHORTSTRING("vfmadd132ss"), + ZYDIS_MAKE_SHORTSTRING("vfmadd213pd"), + ZYDIS_MAKE_SHORTSTRING("vfmadd213ps"), + ZYDIS_MAKE_SHORTSTRING("vfmadd213sd"), + ZYDIS_MAKE_SHORTSTRING("vfmadd213ss"), + ZYDIS_MAKE_SHORTSTRING("vfmadd231pd"), + ZYDIS_MAKE_SHORTSTRING("vfmadd231ps"), + ZYDIS_MAKE_SHORTSTRING("vfmadd231sd"), + ZYDIS_MAKE_SHORTSTRING("vfmadd231ss"), + ZYDIS_MAKE_SHORTSTRING("vfmadd233ps"), + ZYDIS_MAKE_SHORTSTRING("vfmaddpd"), + ZYDIS_MAKE_SHORTSTRING("vfmaddps"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsd"), + ZYDIS_MAKE_SHORTSTRING("vfmaddss"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsub132pd"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsub132ps"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsub213pd"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsub213ps"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsub231pd"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsub231ps"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsubpd"), + ZYDIS_MAKE_SHORTSTRING("vfmaddsubps"), + ZYDIS_MAKE_SHORTSTRING("vfmsub132pd"), + ZYDIS_MAKE_SHORTSTRING("vfmsub132ps"), + ZYDIS_MAKE_SHORTSTRING("vfmsub132sd"), + ZYDIS_MAKE_SHORTSTRING("vfmsub132ss"), + ZYDIS_MAKE_SHORTSTRING("vfmsub213pd"), + ZYDIS_MAKE_SHORTSTRING("vfmsub213ps"), + ZYDIS_MAKE_SHORTSTRING("vfmsub213sd"), + ZYDIS_MAKE_SHORTSTRING("vfmsub213ss"), + ZYDIS_MAKE_SHORTSTRING("vfmsub231pd"), + ZYDIS_MAKE_SHORTSTRING("vfmsub231ps"), + ZYDIS_MAKE_SHORTSTRING("vfmsub231sd"), + ZYDIS_MAKE_SHORTSTRING("vfmsub231ss"), + ZYDIS_MAKE_SHORTSTRING("vfmsubadd132pd"), + ZYDIS_MAKE_SHORTSTRING("vfmsubadd132ps"), + ZYDIS_MAKE_SHORTSTRING("vfmsubadd213pd"), + ZYDIS_MAKE_SHORTSTRING("vfmsubadd213ps"), + ZYDIS_MAKE_SHORTSTRING("vfmsubadd231pd"), + ZYDIS_MAKE_SHORTSTRING("vfmsubadd231ps"), + ZYDIS_MAKE_SHORTSTRING("vfmsubaddpd"), + ZYDIS_MAKE_SHORTSTRING("vfmsubaddps"), + ZYDIS_MAKE_SHORTSTRING("vfmsubpd"), + ZYDIS_MAKE_SHORTSTRING("vfmsubps"), + ZYDIS_MAKE_SHORTSTRING("vfmsubsd"), + ZYDIS_MAKE_SHORTSTRING("vfmsubss"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd132pd"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd132ps"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd132sd"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd132ss"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd213pd"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd213ps"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd213sd"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd213ss"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd231pd"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd231ps"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd231sd"), + ZYDIS_MAKE_SHORTSTRING("vfnmadd231ss"), + ZYDIS_MAKE_SHORTSTRING("vfnmaddpd"), + ZYDIS_MAKE_SHORTSTRING("vfnmaddps"), + ZYDIS_MAKE_SHORTSTRING("vfnmaddsd"), + ZYDIS_MAKE_SHORTSTRING("vfnmaddss"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub132pd"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub132ps"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub132sd"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub132ss"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub213pd"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub213ps"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub213sd"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub213ss"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub231pd"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub231ps"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub231sd"), + ZYDIS_MAKE_SHORTSTRING("vfnmsub231ss"), + ZYDIS_MAKE_SHORTSTRING("vfnmsubpd"), + ZYDIS_MAKE_SHORTSTRING("vfnmsubps"), + ZYDIS_MAKE_SHORTSTRING("vfnmsubsd"), + ZYDIS_MAKE_SHORTSTRING("vfnmsubss"), + ZYDIS_MAKE_SHORTSTRING("vfpclasspd"), + ZYDIS_MAKE_SHORTSTRING("vfpclassps"), + ZYDIS_MAKE_SHORTSTRING("vfpclasssd"), + ZYDIS_MAKE_SHORTSTRING("vfpclassss"), + ZYDIS_MAKE_SHORTSTRING("vfrczpd"), + ZYDIS_MAKE_SHORTSTRING("vfrczps"), + ZYDIS_MAKE_SHORTSTRING("vfrczsd"), + ZYDIS_MAKE_SHORTSTRING("vfrczss"), + ZYDIS_MAKE_SHORTSTRING("vgatherdpd"), + ZYDIS_MAKE_SHORTSTRING("vgatherdps"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf0dpd"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf0dps"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf0hintdpd"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf0hintdps"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf0qpd"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf0qps"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf1dpd"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf1dps"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf1qpd"), + ZYDIS_MAKE_SHORTSTRING("vgatherpf1qps"), + ZYDIS_MAKE_SHORTSTRING("vgatherqpd"), + ZYDIS_MAKE_SHORTSTRING("vgatherqps"), + ZYDIS_MAKE_SHORTSTRING("vgetexppd"), + ZYDIS_MAKE_SHORTSTRING("vgetexpps"), + ZYDIS_MAKE_SHORTSTRING("vgetexpsd"), + ZYDIS_MAKE_SHORTSTRING("vgetexpss"), + ZYDIS_MAKE_SHORTSTRING("vgetmantpd"), + ZYDIS_MAKE_SHORTSTRING("vgetmantps"), + ZYDIS_MAKE_SHORTSTRING("vgetmantsd"), + ZYDIS_MAKE_SHORTSTRING("vgetmantss"), + ZYDIS_MAKE_SHORTSTRING("vgf2p8affineinvqb"), + ZYDIS_MAKE_SHORTSTRING("vgf2p8affineqb"), + ZYDIS_MAKE_SHORTSTRING("vgf2p8mulb"), + ZYDIS_MAKE_SHORTSTRING("vgmaxabsps"), + ZYDIS_MAKE_SHORTSTRING("vgmaxpd"), + ZYDIS_MAKE_SHORTSTRING("vgmaxps"), + ZYDIS_MAKE_SHORTSTRING("vgminpd"), + ZYDIS_MAKE_SHORTSTRING("vgminps"), + ZYDIS_MAKE_SHORTSTRING("vhaddpd"), + ZYDIS_MAKE_SHORTSTRING("vhaddps"), + ZYDIS_MAKE_SHORTSTRING("vhsubpd"), + ZYDIS_MAKE_SHORTSTRING("vhsubps"), + ZYDIS_MAKE_SHORTSTRING("vinsertf128"), + ZYDIS_MAKE_SHORTSTRING("vinsertf32x4"), + ZYDIS_MAKE_SHORTSTRING("vinsertf32x8"), + ZYDIS_MAKE_SHORTSTRING("vinsertf64x2"), + ZYDIS_MAKE_SHORTSTRING("vinsertf64x4"), + ZYDIS_MAKE_SHORTSTRING("vinserti128"), + ZYDIS_MAKE_SHORTSTRING("vinserti32x4"), + ZYDIS_MAKE_SHORTSTRING("vinserti32x8"), + ZYDIS_MAKE_SHORTSTRING("vinserti64x2"), + ZYDIS_MAKE_SHORTSTRING("vinserti64x4"), + ZYDIS_MAKE_SHORTSTRING("vinsertps"), + ZYDIS_MAKE_SHORTSTRING("vlddqu"), + ZYDIS_MAKE_SHORTSTRING("vldmxcsr"), + ZYDIS_MAKE_SHORTSTRING("vloadunpackhd"), + ZYDIS_MAKE_SHORTSTRING("vloadunpackhpd"), + ZYDIS_MAKE_SHORTSTRING("vloadunpackhps"), + ZYDIS_MAKE_SHORTSTRING("vloadunpackhq"), + ZYDIS_MAKE_SHORTSTRING("vloadunpackld"), + ZYDIS_MAKE_SHORTSTRING("vloadunpacklpd"), + ZYDIS_MAKE_SHORTSTRING("vloadunpacklps"), + ZYDIS_MAKE_SHORTSTRING("vloadunpacklq"), + ZYDIS_MAKE_SHORTSTRING("vlog2ps"), + ZYDIS_MAKE_SHORTSTRING("vmaskmovdqu"), + ZYDIS_MAKE_SHORTSTRING("vmaskmovpd"), + ZYDIS_MAKE_SHORTSTRING("vmaskmovps"), + ZYDIS_MAKE_SHORTSTRING("vmaxpd"), + ZYDIS_MAKE_SHORTSTRING("vmaxps"), + ZYDIS_MAKE_SHORTSTRING("vmaxsd"), + ZYDIS_MAKE_SHORTSTRING("vmaxss"), + ZYDIS_MAKE_SHORTSTRING("vmcall"), + ZYDIS_MAKE_SHORTSTRING("vmclear"), + ZYDIS_MAKE_SHORTSTRING("vmfunc"), + ZYDIS_MAKE_SHORTSTRING("vminpd"), + ZYDIS_MAKE_SHORTSTRING("vminps"), + ZYDIS_MAKE_SHORTSTRING("vminsd"), + ZYDIS_MAKE_SHORTSTRING("vminss"), + ZYDIS_MAKE_SHORTSTRING("vmlaunch"), + ZYDIS_MAKE_SHORTSTRING("vmload"), + ZYDIS_MAKE_SHORTSTRING("vmmcall"), + ZYDIS_MAKE_SHORTSTRING("vmovapd"), + ZYDIS_MAKE_SHORTSTRING("vmovaps"), + ZYDIS_MAKE_SHORTSTRING("vmovd"), + ZYDIS_MAKE_SHORTSTRING("vmovddup"), + ZYDIS_MAKE_SHORTSTRING("vmovdqa"), + ZYDIS_MAKE_SHORTSTRING("vmovdqa32"), + ZYDIS_MAKE_SHORTSTRING("vmovdqa64"), + ZYDIS_MAKE_SHORTSTRING("vmovdqu"), + ZYDIS_MAKE_SHORTSTRING("vmovdqu16"), + ZYDIS_MAKE_SHORTSTRING("vmovdqu32"), + ZYDIS_MAKE_SHORTSTRING("vmovdqu64"), + ZYDIS_MAKE_SHORTSTRING("vmovdqu8"), + ZYDIS_MAKE_SHORTSTRING("vmovhlps"), + ZYDIS_MAKE_SHORTSTRING("vmovhpd"), + ZYDIS_MAKE_SHORTSTRING("vmovhps"), + ZYDIS_MAKE_SHORTSTRING("vmovlhps"), + ZYDIS_MAKE_SHORTSTRING("vmovlpd"), + ZYDIS_MAKE_SHORTSTRING("vmovlps"), + ZYDIS_MAKE_SHORTSTRING("vmovmskpd"), + ZYDIS_MAKE_SHORTSTRING("vmovmskps"), + ZYDIS_MAKE_SHORTSTRING("vmovnrapd"), + ZYDIS_MAKE_SHORTSTRING("vmovnraps"), + ZYDIS_MAKE_SHORTSTRING("vmovnrngoapd"), + ZYDIS_MAKE_SHORTSTRING("vmovnrngoaps"), + ZYDIS_MAKE_SHORTSTRING("vmovntdq"), + ZYDIS_MAKE_SHORTSTRING("vmovntdqa"), + ZYDIS_MAKE_SHORTSTRING("vmovntpd"), + ZYDIS_MAKE_SHORTSTRING("vmovntps"), + ZYDIS_MAKE_SHORTSTRING("vmovq"), + ZYDIS_MAKE_SHORTSTRING("vmovsd"), + ZYDIS_MAKE_SHORTSTRING("vmovshdup"), + ZYDIS_MAKE_SHORTSTRING("vmovsldup"), + ZYDIS_MAKE_SHORTSTRING("vmovss"), + ZYDIS_MAKE_SHORTSTRING("vmovupd"), + ZYDIS_MAKE_SHORTSTRING("vmovups"), + ZYDIS_MAKE_SHORTSTRING("vmpsadbw"), + ZYDIS_MAKE_SHORTSTRING("vmptrld"), + ZYDIS_MAKE_SHORTSTRING("vmptrst"), + ZYDIS_MAKE_SHORTSTRING("vmread"), + ZYDIS_MAKE_SHORTSTRING("vmresume"), + ZYDIS_MAKE_SHORTSTRING("vmrun"), + ZYDIS_MAKE_SHORTSTRING("vmsave"), + ZYDIS_MAKE_SHORTSTRING("vmulpd"), + ZYDIS_MAKE_SHORTSTRING("vmulps"), + ZYDIS_MAKE_SHORTSTRING("vmulsd"), + ZYDIS_MAKE_SHORTSTRING("vmulss"), + ZYDIS_MAKE_SHORTSTRING("vmwrite"), + ZYDIS_MAKE_SHORTSTRING("vmxoff"), + ZYDIS_MAKE_SHORTSTRING("vmxon"), + ZYDIS_MAKE_SHORTSTRING("vorpd"), + ZYDIS_MAKE_SHORTSTRING("vorps"), + ZYDIS_MAKE_SHORTSTRING("vp2intersectd"), + ZYDIS_MAKE_SHORTSTRING("vp2intersectq"), + ZYDIS_MAKE_SHORTSTRING("vp4dpwssd"), + ZYDIS_MAKE_SHORTSTRING("vp4dpwssds"), + ZYDIS_MAKE_SHORTSTRING("vpabsb"), + ZYDIS_MAKE_SHORTSTRING("vpabsd"), + ZYDIS_MAKE_SHORTSTRING("vpabsq"), + ZYDIS_MAKE_SHORTSTRING("vpabsw"), + ZYDIS_MAKE_SHORTSTRING("vpackssdw"), + ZYDIS_MAKE_SHORTSTRING("vpacksswb"), + ZYDIS_MAKE_SHORTSTRING("vpackstorehd"), + ZYDIS_MAKE_SHORTSTRING("vpackstorehpd"), + ZYDIS_MAKE_SHORTSTRING("vpackstorehps"), + ZYDIS_MAKE_SHORTSTRING("vpackstorehq"), + ZYDIS_MAKE_SHORTSTRING("vpackstoreld"), + ZYDIS_MAKE_SHORTSTRING("vpackstorelpd"), + ZYDIS_MAKE_SHORTSTRING("vpackstorelps"), + ZYDIS_MAKE_SHORTSTRING("vpackstorelq"), + ZYDIS_MAKE_SHORTSTRING("vpackusdw"), + ZYDIS_MAKE_SHORTSTRING("vpackuswb"), + ZYDIS_MAKE_SHORTSTRING("vpadcd"), + ZYDIS_MAKE_SHORTSTRING("vpaddb"), + ZYDIS_MAKE_SHORTSTRING("vpaddd"), + ZYDIS_MAKE_SHORTSTRING("vpaddq"), + ZYDIS_MAKE_SHORTSTRING("vpaddsb"), + ZYDIS_MAKE_SHORTSTRING("vpaddsetcd"), + ZYDIS_MAKE_SHORTSTRING("vpaddsetsd"), + ZYDIS_MAKE_SHORTSTRING("vpaddsw"), + ZYDIS_MAKE_SHORTSTRING("vpaddusb"), + ZYDIS_MAKE_SHORTSTRING("vpaddusw"), + ZYDIS_MAKE_SHORTSTRING("vpaddw"), + ZYDIS_MAKE_SHORTSTRING("vpalignr"), + ZYDIS_MAKE_SHORTSTRING("vpand"), + ZYDIS_MAKE_SHORTSTRING("vpandd"), + ZYDIS_MAKE_SHORTSTRING("vpandn"), + ZYDIS_MAKE_SHORTSTRING("vpandnd"), + ZYDIS_MAKE_SHORTSTRING("vpandnq"), + ZYDIS_MAKE_SHORTSTRING("vpandq"), + ZYDIS_MAKE_SHORTSTRING("vpavgb"), + ZYDIS_MAKE_SHORTSTRING("vpavgw"), + ZYDIS_MAKE_SHORTSTRING("vpblendd"), + ZYDIS_MAKE_SHORTSTRING("vpblendmb"), + ZYDIS_MAKE_SHORTSTRING("vpblendmd"), + ZYDIS_MAKE_SHORTSTRING("vpblendmq"), + ZYDIS_MAKE_SHORTSTRING("vpblendmw"), + ZYDIS_MAKE_SHORTSTRING("vpblendvb"), + ZYDIS_MAKE_SHORTSTRING("vpblendw"), + ZYDIS_MAKE_SHORTSTRING("vpbroadcastb"), + ZYDIS_MAKE_SHORTSTRING("vpbroadcastd"), + ZYDIS_MAKE_SHORTSTRING("vpbroadcastmb2q"), + ZYDIS_MAKE_SHORTSTRING("vpbroadcastmw2d"), + ZYDIS_MAKE_SHORTSTRING("vpbroadcastq"), + ZYDIS_MAKE_SHORTSTRING("vpbroadcastw"), + ZYDIS_MAKE_SHORTSTRING("vpclmulqdq"), + ZYDIS_MAKE_SHORTSTRING("vpcmov"), + ZYDIS_MAKE_SHORTSTRING("vpcmpb"), + ZYDIS_MAKE_SHORTSTRING("vpcmpd"), + ZYDIS_MAKE_SHORTSTRING("vpcmpeqb"), + ZYDIS_MAKE_SHORTSTRING("vpcmpeqd"), + ZYDIS_MAKE_SHORTSTRING("vpcmpeqq"), + ZYDIS_MAKE_SHORTSTRING("vpcmpeqw"), + ZYDIS_MAKE_SHORTSTRING("vpcmpestri"), + ZYDIS_MAKE_SHORTSTRING("vpcmpestrm"), + ZYDIS_MAKE_SHORTSTRING("vpcmpgtb"), + ZYDIS_MAKE_SHORTSTRING("vpcmpgtd"), + ZYDIS_MAKE_SHORTSTRING("vpcmpgtq"), + ZYDIS_MAKE_SHORTSTRING("vpcmpgtw"), + ZYDIS_MAKE_SHORTSTRING("vpcmpistri"), + ZYDIS_MAKE_SHORTSTRING("vpcmpistrm"), + ZYDIS_MAKE_SHORTSTRING("vpcmpltd"), + ZYDIS_MAKE_SHORTSTRING("vpcmpq"), + ZYDIS_MAKE_SHORTSTRING("vpcmpub"), + ZYDIS_MAKE_SHORTSTRING("vpcmpud"), + ZYDIS_MAKE_SHORTSTRING("vpcmpuq"), + ZYDIS_MAKE_SHORTSTRING("vpcmpuw"), + ZYDIS_MAKE_SHORTSTRING("vpcmpw"), + ZYDIS_MAKE_SHORTSTRING("vpcomb"), + ZYDIS_MAKE_SHORTSTRING("vpcomd"), + ZYDIS_MAKE_SHORTSTRING("vpcompressb"), + ZYDIS_MAKE_SHORTSTRING("vpcompressd"), + ZYDIS_MAKE_SHORTSTRING("vpcompressq"), + ZYDIS_MAKE_SHORTSTRING("vpcompressw"), + ZYDIS_MAKE_SHORTSTRING("vpcomq"), + ZYDIS_MAKE_SHORTSTRING("vpcomub"), + ZYDIS_MAKE_SHORTSTRING("vpcomud"), + ZYDIS_MAKE_SHORTSTRING("vpcomuq"), + ZYDIS_MAKE_SHORTSTRING("vpcomuw"), + ZYDIS_MAKE_SHORTSTRING("vpcomw"), + ZYDIS_MAKE_SHORTSTRING("vpconflictd"), + ZYDIS_MAKE_SHORTSTRING("vpconflictq"), + ZYDIS_MAKE_SHORTSTRING("vpdpbusd"), + ZYDIS_MAKE_SHORTSTRING("vpdpbusds"), + ZYDIS_MAKE_SHORTSTRING("vpdpwssd"), + ZYDIS_MAKE_SHORTSTRING("vpdpwssds"), + ZYDIS_MAKE_SHORTSTRING("vperm2f128"), + ZYDIS_MAKE_SHORTSTRING("vperm2i128"), + ZYDIS_MAKE_SHORTSTRING("vpermb"), + ZYDIS_MAKE_SHORTSTRING("vpermd"), + ZYDIS_MAKE_SHORTSTRING("vpermf32x4"), + ZYDIS_MAKE_SHORTSTRING("vpermi2b"), + ZYDIS_MAKE_SHORTSTRING("vpermi2d"), + ZYDIS_MAKE_SHORTSTRING("vpermi2pd"), + ZYDIS_MAKE_SHORTSTRING("vpermi2ps"), + ZYDIS_MAKE_SHORTSTRING("vpermi2q"), + ZYDIS_MAKE_SHORTSTRING("vpermi2w"), + ZYDIS_MAKE_SHORTSTRING("vpermil2pd"), + ZYDIS_MAKE_SHORTSTRING("vpermil2ps"), + ZYDIS_MAKE_SHORTSTRING("vpermilpd"), + ZYDIS_MAKE_SHORTSTRING("vpermilps"), + ZYDIS_MAKE_SHORTSTRING("vpermpd"), + ZYDIS_MAKE_SHORTSTRING("vpermps"), + ZYDIS_MAKE_SHORTSTRING("vpermq"), + ZYDIS_MAKE_SHORTSTRING("vpermt2b"), + ZYDIS_MAKE_SHORTSTRING("vpermt2d"), + ZYDIS_MAKE_SHORTSTRING("vpermt2pd"), + ZYDIS_MAKE_SHORTSTRING("vpermt2ps"), + ZYDIS_MAKE_SHORTSTRING("vpermt2q"), + ZYDIS_MAKE_SHORTSTRING("vpermt2w"), + ZYDIS_MAKE_SHORTSTRING("vpermw"), + ZYDIS_MAKE_SHORTSTRING("vpexpandb"), + ZYDIS_MAKE_SHORTSTRING("vpexpandd"), + ZYDIS_MAKE_SHORTSTRING("vpexpandq"), + ZYDIS_MAKE_SHORTSTRING("vpexpandw"), + ZYDIS_MAKE_SHORTSTRING("vpextrb"), + ZYDIS_MAKE_SHORTSTRING("vpextrd"), + ZYDIS_MAKE_SHORTSTRING("vpextrq"), + ZYDIS_MAKE_SHORTSTRING("vpextrw"), + ZYDIS_MAKE_SHORTSTRING("vpgatherdd"), + ZYDIS_MAKE_SHORTSTRING("vpgatherdq"), + ZYDIS_MAKE_SHORTSTRING("vpgatherqd"), + ZYDIS_MAKE_SHORTSTRING("vpgatherqq"), + ZYDIS_MAKE_SHORTSTRING("vphaddbd"), + ZYDIS_MAKE_SHORTSTRING("vphaddbq"), + ZYDIS_MAKE_SHORTSTRING("vphaddbw"), + ZYDIS_MAKE_SHORTSTRING("vphaddd"), + ZYDIS_MAKE_SHORTSTRING("vphadddq"), + ZYDIS_MAKE_SHORTSTRING("vphaddsw"), + ZYDIS_MAKE_SHORTSTRING("vphaddubd"), + ZYDIS_MAKE_SHORTSTRING("vphaddubq"), + ZYDIS_MAKE_SHORTSTRING("vphaddubw"), + ZYDIS_MAKE_SHORTSTRING("vphaddudq"), + ZYDIS_MAKE_SHORTSTRING("vphadduwd"), + ZYDIS_MAKE_SHORTSTRING("vphadduwq"), + ZYDIS_MAKE_SHORTSTRING("vphaddw"), + ZYDIS_MAKE_SHORTSTRING("vphaddwd"), + ZYDIS_MAKE_SHORTSTRING("vphaddwq"), + ZYDIS_MAKE_SHORTSTRING("vphminposuw"), + ZYDIS_MAKE_SHORTSTRING("vphsubbw"), + ZYDIS_MAKE_SHORTSTRING("vphsubd"), + ZYDIS_MAKE_SHORTSTRING("vphsubdq"), + ZYDIS_MAKE_SHORTSTRING("vphsubsw"), + ZYDIS_MAKE_SHORTSTRING("vphsubw"), + ZYDIS_MAKE_SHORTSTRING("vphsubwd"), + ZYDIS_MAKE_SHORTSTRING("vpinsrb"), + ZYDIS_MAKE_SHORTSTRING("vpinsrd"), + ZYDIS_MAKE_SHORTSTRING("vpinsrq"), + ZYDIS_MAKE_SHORTSTRING("vpinsrw"), + ZYDIS_MAKE_SHORTSTRING("vplzcntd"), + ZYDIS_MAKE_SHORTSTRING("vplzcntq"), + ZYDIS_MAKE_SHORTSTRING("vpmacsdd"), + ZYDIS_MAKE_SHORTSTRING("vpmacsdqh"), + ZYDIS_MAKE_SHORTSTRING("vpmacsdql"), + ZYDIS_MAKE_SHORTSTRING("vpmacssdd"), + ZYDIS_MAKE_SHORTSTRING("vpmacssdqh"), + ZYDIS_MAKE_SHORTSTRING("vpmacssdql"), + ZYDIS_MAKE_SHORTSTRING("vpmacsswd"), + ZYDIS_MAKE_SHORTSTRING("vpmacssww"), + ZYDIS_MAKE_SHORTSTRING("vpmacswd"), + ZYDIS_MAKE_SHORTSTRING("vpmacsww"), + ZYDIS_MAKE_SHORTSTRING("vpmadcsswd"), + ZYDIS_MAKE_SHORTSTRING("vpmadcswd"), + ZYDIS_MAKE_SHORTSTRING("vpmadd231d"), + ZYDIS_MAKE_SHORTSTRING("vpmadd233d"), + ZYDIS_MAKE_SHORTSTRING("vpmadd52huq"), + ZYDIS_MAKE_SHORTSTRING("vpmadd52luq"), + ZYDIS_MAKE_SHORTSTRING("vpmaddubsw"), + ZYDIS_MAKE_SHORTSTRING("vpmaddwd"), + ZYDIS_MAKE_SHORTSTRING("vpmaskmovd"), + ZYDIS_MAKE_SHORTSTRING("vpmaskmovq"), + ZYDIS_MAKE_SHORTSTRING("vpmaxsb"), + ZYDIS_MAKE_SHORTSTRING("vpmaxsd"), + ZYDIS_MAKE_SHORTSTRING("vpmaxsq"), + ZYDIS_MAKE_SHORTSTRING("vpmaxsw"), + ZYDIS_MAKE_SHORTSTRING("vpmaxub"), + ZYDIS_MAKE_SHORTSTRING("vpmaxud"), + ZYDIS_MAKE_SHORTSTRING("vpmaxuq"), + ZYDIS_MAKE_SHORTSTRING("vpmaxuw"), + ZYDIS_MAKE_SHORTSTRING("vpminsb"), + ZYDIS_MAKE_SHORTSTRING("vpminsd"), + ZYDIS_MAKE_SHORTSTRING("vpminsq"), + ZYDIS_MAKE_SHORTSTRING("vpminsw"), + ZYDIS_MAKE_SHORTSTRING("vpminub"), + ZYDIS_MAKE_SHORTSTRING("vpminud"), + ZYDIS_MAKE_SHORTSTRING("vpminuq"), + ZYDIS_MAKE_SHORTSTRING("vpminuw"), + ZYDIS_MAKE_SHORTSTRING("vpmovb2m"), + ZYDIS_MAKE_SHORTSTRING("vpmovd2m"), + ZYDIS_MAKE_SHORTSTRING("vpmovdb"), + ZYDIS_MAKE_SHORTSTRING("vpmovdw"), + ZYDIS_MAKE_SHORTSTRING("vpmovm2b"), + ZYDIS_MAKE_SHORTSTRING("vpmovm2d"), + ZYDIS_MAKE_SHORTSTRING("vpmovm2q"), + ZYDIS_MAKE_SHORTSTRING("vpmovm2w"), + ZYDIS_MAKE_SHORTSTRING("vpmovmskb"), + ZYDIS_MAKE_SHORTSTRING("vpmovq2m"), + ZYDIS_MAKE_SHORTSTRING("vpmovqb"), + ZYDIS_MAKE_SHORTSTRING("vpmovqd"), + ZYDIS_MAKE_SHORTSTRING("vpmovqw"), + ZYDIS_MAKE_SHORTSTRING("vpmovsdb"), + ZYDIS_MAKE_SHORTSTRING("vpmovsdw"), + ZYDIS_MAKE_SHORTSTRING("vpmovsqb"), + ZYDIS_MAKE_SHORTSTRING("vpmovsqd"), + ZYDIS_MAKE_SHORTSTRING("vpmovsqw"), + ZYDIS_MAKE_SHORTSTRING("vpmovswb"), + ZYDIS_MAKE_SHORTSTRING("vpmovsxbd"), + ZYDIS_MAKE_SHORTSTRING("vpmovsxbq"), + ZYDIS_MAKE_SHORTSTRING("vpmovsxbw"), + ZYDIS_MAKE_SHORTSTRING("vpmovsxdq"), + ZYDIS_MAKE_SHORTSTRING("vpmovsxwd"), + ZYDIS_MAKE_SHORTSTRING("vpmovsxwq"), + ZYDIS_MAKE_SHORTSTRING("vpmovusdb"), + ZYDIS_MAKE_SHORTSTRING("vpmovusdw"), + ZYDIS_MAKE_SHORTSTRING("vpmovusqb"), + ZYDIS_MAKE_SHORTSTRING("vpmovusqd"), + ZYDIS_MAKE_SHORTSTRING("vpmovusqw"), + ZYDIS_MAKE_SHORTSTRING("vpmovuswb"), + ZYDIS_MAKE_SHORTSTRING("vpmovw2m"), + ZYDIS_MAKE_SHORTSTRING("vpmovwb"), + ZYDIS_MAKE_SHORTSTRING("vpmovzxbd"), + ZYDIS_MAKE_SHORTSTRING("vpmovzxbq"), + ZYDIS_MAKE_SHORTSTRING("vpmovzxbw"), + ZYDIS_MAKE_SHORTSTRING("vpmovzxdq"), + ZYDIS_MAKE_SHORTSTRING("vpmovzxwd"), + ZYDIS_MAKE_SHORTSTRING("vpmovzxwq"), + ZYDIS_MAKE_SHORTSTRING("vpmuldq"), + ZYDIS_MAKE_SHORTSTRING("vpmulhd"), + ZYDIS_MAKE_SHORTSTRING("vpmulhrsw"), + ZYDIS_MAKE_SHORTSTRING("vpmulhud"), + ZYDIS_MAKE_SHORTSTRING("vpmulhuw"), + ZYDIS_MAKE_SHORTSTRING("vpmulhw"), + ZYDIS_MAKE_SHORTSTRING("vpmulld"), + ZYDIS_MAKE_SHORTSTRING("vpmullq"), + ZYDIS_MAKE_SHORTSTRING("vpmullw"), + ZYDIS_MAKE_SHORTSTRING("vpmultishiftqb"), + ZYDIS_MAKE_SHORTSTRING("vpmuludq"), + ZYDIS_MAKE_SHORTSTRING("vpopcntb"), + ZYDIS_MAKE_SHORTSTRING("vpopcntd"), + ZYDIS_MAKE_SHORTSTRING("vpopcntq"), + ZYDIS_MAKE_SHORTSTRING("vpopcntw"), + ZYDIS_MAKE_SHORTSTRING("vpor"), + ZYDIS_MAKE_SHORTSTRING("vpord"), + ZYDIS_MAKE_SHORTSTRING("vporq"), + ZYDIS_MAKE_SHORTSTRING("vpperm"), + ZYDIS_MAKE_SHORTSTRING("vprefetch0"), + ZYDIS_MAKE_SHORTSTRING("vprefetch1"), + ZYDIS_MAKE_SHORTSTRING("vprefetch2"), + ZYDIS_MAKE_SHORTSTRING("vprefetche0"), + ZYDIS_MAKE_SHORTSTRING("vprefetche1"), + ZYDIS_MAKE_SHORTSTRING("vprefetche2"), + ZYDIS_MAKE_SHORTSTRING("vprefetchenta"), + ZYDIS_MAKE_SHORTSTRING("vprefetchnta"), + ZYDIS_MAKE_SHORTSTRING("vprold"), + ZYDIS_MAKE_SHORTSTRING("vprolq"), + ZYDIS_MAKE_SHORTSTRING("vprolvd"), + ZYDIS_MAKE_SHORTSTRING("vprolvq"), + ZYDIS_MAKE_SHORTSTRING("vprord"), + ZYDIS_MAKE_SHORTSTRING("vprorq"), + ZYDIS_MAKE_SHORTSTRING("vprorvd"), + ZYDIS_MAKE_SHORTSTRING("vprorvq"), + ZYDIS_MAKE_SHORTSTRING("vprotb"), + ZYDIS_MAKE_SHORTSTRING("vprotd"), + ZYDIS_MAKE_SHORTSTRING("vprotq"), + ZYDIS_MAKE_SHORTSTRING("vprotw"), + ZYDIS_MAKE_SHORTSTRING("vpsadbw"), + ZYDIS_MAKE_SHORTSTRING("vpsbbd"), + ZYDIS_MAKE_SHORTSTRING("vpsbbrd"), + ZYDIS_MAKE_SHORTSTRING("vpscatterdd"), + ZYDIS_MAKE_SHORTSTRING("vpscatterdq"), + ZYDIS_MAKE_SHORTSTRING("vpscatterqd"), + ZYDIS_MAKE_SHORTSTRING("vpscatterqq"), + ZYDIS_MAKE_SHORTSTRING("vpshab"), + ZYDIS_MAKE_SHORTSTRING("vpshad"), + ZYDIS_MAKE_SHORTSTRING("vpshaq"), + ZYDIS_MAKE_SHORTSTRING("vpshaw"), + ZYDIS_MAKE_SHORTSTRING("vpshlb"), + ZYDIS_MAKE_SHORTSTRING("vpshld"), + ZYDIS_MAKE_SHORTSTRING("vpshldd"), + ZYDIS_MAKE_SHORTSTRING("vpshldq"), + ZYDIS_MAKE_SHORTSTRING("vpshldvd"), + ZYDIS_MAKE_SHORTSTRING("vpshldvq"), + ZYDIS_MAKE_SHORTSTRING("vpshldvw"), + ZYDIS_MAKE_SHORTSTRING("vpshldw"), + ZYDIS_MAKE_SHORTSTRING("vpshlq"), + ZYDIS_MAKE_SHORTSTRING("vpshlw"), + ZYDIS_MAKE_SHORTSTRING("vpshrdd"), + ZYDIS_MAKE_SHORTSTRING("vpshrdq"), + ZYDIS_MAKE_SHORTSTRING("vpshrdvd"), + ZYDIS_MAKE_SHORTSTRING("vpshrdvq"), + ZYDIS_MAKE_SHORTSTRING("vpshrdvw"), + ZYDIS_MAKE_SHORTSTRING("vpshrdw"), + ZYDIS_MAKE_SHORTSTRING("vpshufb"), + ZYDIS_MAKE_SHORTSTRING("vpshufbitqmb"), + ZYDIS_MAKE_SHORTSTRING("vpshufd"), + ZYDIS_MAKE_SHORTSTRING("vpshufhw"), + ZYDIS_MAKE_SHORTSTRING("vpshuflw"), + ZYDIS_MAKE_SHORTSTRING("vpsignb"), + ZYDIS_MAKE_SHORTSTRING("vpsignd"), + ZYDIS_MAKE_SHORTSTRING("vpsignw"), + ZYDIS_MAKE_SHORTSTRING("vpslld"), + ZYDIS_MAKE_SHORTSTRING("vpslldq"), + ZYDIS_MAKE_SHORTSTRING("vpsllq"), + ZYDIS_MAKE_SHORTSTRING("vpsllvd"), + ZYDIS_MAKE_SHORTSTRING("vpsllvq"), + ZYDIS_MAKE_SHORTSTRING("vpsllvw"), + ZYDIS_MAKE_SHORTSTRING("vpsllw"), + ZYDIS_MAKE_SHORTSTRING("vpsrad"), + ZYDIS_MAKE_SHORTSTRING("vpsraq"), + ZYDIS_MAKE_SHORTSTRING("vpsravd"), + ZYDIS_MAKE_SHORTSTRING("vpsravq"), + ZYDIS_MAKE_SHORTSTRING("vpsravw"), + ZYDIS_MAKE_SHORTSTRING("vpsraw"), + ZYDIS_MAKE_SHORTSTRING("vpsrld"), + ZYDIS_MAKE_SHORTSTRING("vpsrldq"), + ZYDIS_MAKE_SHORTSTRING("vpsrlq"), + ZYDIS_MAKE_SHORTSTRING("vpsrlvd"), + ZYDIS_MAKE_SHORTSTRING("vpsrlvq"), + ZYDIS_MAKE_SHORTSTRING("vpsrlvw"), + ZYDIS_MAKE_SHORTSTRING("vpsrlw"), + ZYDIS_MAKE_SHORTSTRING("vpsubb"), + ZYDIS_MAKE_SHORTSTRING("vpsubd"), + ZYDIS_MAKE_SHORTSTRING("vpsubq"), + ZYDIS_MAKE_SHORTSTRING("vpsubrd"), + ZYDIS_MAKE_SHORTSTRING("vpsubrsetbd"), + ZYDIS_MAKE_SHORTSTRING("vpsubsb"), + ZYDIS_MAKE_SHORTSTRING("vpsubsetbd"), + ZYDIS_MAKE_SHORTSTRING("vpsubsw"), + ZYDIS_MAKE_SHORTSTRING("vpsubusb"), + ZYDIS_MAKE_SHORTSTRING("vpsubusw"), + ZYDIS_MAKE_SHORTSTRING("vpsubw"), + ZYDIS_MAKE_SHORTSTRING("vpternlogd"), + ZYDIS_MAKE_SHORTSTRING("vpternlogq"), + ZYDIS_MAKE_SHORTSTRING("vptest"), + ZYDIS_MAKE_SHORTSTRING("vptestmb"), + ZYDIS_MAKE_SHORTSTRING("vptestmd"), + ZYDIS_MAKE_SHORTSTRING("vptestmq"), + ZYDIS_MAKE_SHORTSTRING("vptestmw"), + ZYDIS_MAKE_SHORTSTRING("vptestnmb"), + ZYDIS_MAKE_SHORTSTRING("vptestnmd"), + ZYDIS_MAKE_SHORTSTRING("vptestnmq"), + ZYDIS_MAKE_SHORTSTRING("vptestnmw"), + ZYDIS_MAKE_SHORTSTRING("vpunpckhbw"), + ZYDIS_MAKE_SHORTSTRING("vpunpckhdq"), + ZYDIS_MAKE_SHORTSTRING("vpunpckhqdq"), + ZYDIS_MAKE_SHORTSTRING("vpunpckhwd"), + ZYDIS_MAKE_SHORTSTRING("vpunpcklbw"), + ZYDIS_MAKE_SHORTSTRING("vpunpckldq"), + ZYDIS_MAKE_SHORTSTRING("vpunpcklqdq"), + ZYDIS_MAKE_SHORTSTRING("vpunpcklwd"), + ZYDIS_MAKE_SHORTSTRING("vpxor"), + ZYDIS_MAKE_SHORTSTRING("vpxord"), + ZYDIS_MAKE_SHORTSTRING("vpxorq"), + ZYDIS_MAKE_SHORTSTRING("vrangepd"), + ZYDIS_MAKE_SHORTSTRING("vrangeps"), + ZYDIS_MAKE_SHORTSTRING("vrangesd"), + ZYDIS_MAKE_SHORTSTRING("vrangess"), + ZYDIS_MAKE_SHORTSTRING("vrcp14pd"), + ZYDIS_MAKE_SHORTSTRING("vrcp14ps"), + ZYDIS_MAKE_SHORTSTRING("vrcp14sd"), + ZYDIS_MAKE_SHORTSTRING("vrcp14ss"), + ZYDIS_MAKE_SHORTSTRING("vrcp23ps"), + ZYDIS_MAKE_SHORTSTRING("vrcp28pd"), + ZYDIS_MAKE_SHORTSTRING("vrcp28ps"), + ZYDIS_MAKE_SHORTSTRING("vrcp28sd"), + ZYDIS_MAKE_SHORTSTRING("vrcp28ss"), + ZYDIS_MAKE_SHORTSTRING("vrcpps"), + ZYDIS_MAKE_SHORTSTRING("vrcpss"), + ZYDIS_MAKE_SHORTSTRING("vreducepd"), + ZYDIS_MAKE_SHORTSTRING("vreduceps"), + ZYDIS_MAKE_SHORTSTRING("vreducesd"), + ZYDIS_MAKE_SHORTSTRING("vreducess"), + ZYDIS_MAKE_SHORTSTRING("vrndfxpntpd"), + ZYDIS_MAKE_SHORTSTRING("vrndfxpntps"), + ZYDIS_MAKE_SHORTSTRING("vrndscalepd"), + ZYDIS_MAKE_SHORTSTRING("vrndscaleps"), + ZYDIS_MAKE_SHORTSTRING("vrndscalesd"), + ZYDIS_MAKE_SHORTSTRING("vrndscaless"), + ZYDIS_MAKE_SHORTSTRING("vroundpd"), + ZYDIS_MAKE_SHORTSTRING("vroundps"), + ZYDIS_MAKE_SHORTSTRING("vroundsd"), + ZYDIS_MAKE_SHORTSTRING("vroundss"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt14pd"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt14ps"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt14sd"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt14ss"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt23ps"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt28pd"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt28ps"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt28sd"), + ZYDIS_MAKE_SHORTSTRING("vrsqrt28ss"), + ZYDIS_MAKE_SHORTSTRING("vrsqrtps"), + ZYDIS_MAKE_SHORTSTRING("vrsqrtss"), + ZYDIS_MAKE_SHORTSTRING("vscalefpd"), + ZYDIS_MAKE_SHORTSTRING("vscalefps"), + ZYDIS_MAKE_SHORTSTRING("vscalefsd"), + ZYDIS_MAKE_SHORTSTRING("vscalefss"), + ZYDIS_MAKE_SHORTSTRING("vscaleps"), + ZYDIS_MAKE_SHORTSTRING("vscatterdpd"), + ZYDIS_MAKE_SHORTSTRING("vscatterdps"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf0dpd"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf0dps"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf0hintdpd"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf0hintdps"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf0qpd"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf0qps"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf1dpd"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf1dps"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf1qpd"), + ZYDIS_MAKE_SHORTSTRING("vscatterpf1qps"), + ZYDIS_MAKE_SHORTSTRING("vscatterqpd"), + ZYDIS_MAKE_SHORTSTRING("vscatterqps"), + ZYDIS_MAKE_SHORTSTRING("vshuff32x4"), + ZYDIS_MAKE_SHORTSTRING("vshuff64x2"), + ZYDIS_MAKE_SHORTSTRING("vshufi32x4"), + ZYDIS_MAKE_SHORTSTRING("vshufi64x2"), + ZYDIS_MAKE_SHORTSTRING("vshufpd"), + ZYDIS_MAKE_SHORTSTRING("vshufps"), + ZYDIS_MAKE_SHORTSTRING("vsqrtpd"), + ZYDIS_MAKE_SHORTSTRING("vsqrtps"), + ZYDIS_MAKE_SHORTSTRING("vsqrtsd"), + ZYDIS_MAKE_SHORTSTRING("vsqrtss"), + ZYDIS_MAKE_SHORTSTRING("vstmxcsr"), + ZYDIS_MAKE_SHORTSTRING("vsubpd"), + ZYDIS_MAKE_SHORTSTRING("vsubps"), + ZYDIS_MAKE_SHORTSTRING("vsubrpd"), + ZYDIS_MAKE_SHORTSTRING("vsubrps"), + ZYDIS_MAKE_SHORTSTRING("vsubsd"), + ZYDIS_MAKE_SHORTSTRING("vsubss"), + ZYDIS_MAKE_SHORTSTRING("vtestpd"), + ZYDIS_MAKE_SHORTSTRING("vtestps"), + ZYDIS_MAKE_SHORTSTRING("vucomisd"), + ZYDIS_MAKE_SHORTSTRING("vucomiss"), + ZYDIS_MAKE_SHORTSTRING("vunpckhpd"), + ZYDIS_MAKE_SHORTSTRING("vunpckhps"), + ZYDIS_MAKE_SHORTSTRING("vunpcklpd"), + ZYDIS_MAKE_SHORTSTRING("vunpcklps"), + ZYDIS_MAKE_SHORTSTRING("vxorpd"), + ZYDIS_MAKE_SHORTSTRING("vxorps"), + ZYDIS_MAKE_SHORTSTRING("vzeroall"), + ZYDIS_MAKE_SHORTSTRING("vzeroupper"), + ZYDIS_MAKE_SHORTSTRING("wbinvd"), + ZYDIS_MAKE_SHORTSTRING("wrfsbase"), + ZYDIS_MAKE_SHORTSTRING("wrgsbase"), + ZYDIS_MAKE_SHORTSTRING("wrmsr"), + ZYDIS_MAKE_SHORTSTRING("wrpkru"), + ZYDIS_MAKE_SHORTSTRING("wrssd"), + ZYDIS_MAKE_SHORTSTRING("wrssq"), + ZYDIS_MAKE_SHORTSTRING("wrussd"), + ZYDIS_MAKE_SHORTSTRING("wrussq"), + ZYDIS_MAKE_SHORTSTRING("xabort"), + ZYDIS_MAKE_SHORTSTRING("xadd"), + ZYDIS_MAKE_SHORTSTRING("xbegin"), + ZYDIS_MAKE_SHORTSTRING("xchg"), + ZYDIS_MAKE_SHORTSTRING("xcrypt_cbc"), + ZYDIS_MAKE_SHORTSTRING("xcrypt_cfb"), + ZYDIS_MAKE_SHORTSTRING("xcrypt_ctr"), + ZYDIS_MAKE_SHORTSTRING("xcrypt_ecb"), + ZYDIS_MAKE_SHORTSTRING("xcrypt_ofb"), + ZYDIS_MAKE_SHORTSTRING("xend"), + ZYDIS_MAKE_SHORTSTRING("xgetbv"), + ZYDIS_MAKE_SHORTSTRING("xlat"), + ZYDIS_MAKE_SHORTSTRING("xor"), + ZYDIS_MAKE_SHORTSTRING("xorpd"), + ZYDIS_MAKE_SHORTSTRING("xorps"), + ZYDIS_MAKE_SHORTSTRING("xresldtrk"), + ZYDIS_MAKE_SHORTSTRING("xrstor"), + ZYDIS_MAKE_SHORTSTRING("xrstor64"), + ZYDIS_MAKE_SHORTSTRING("xrstors"), + ZYDIS_MAKE_SHORTSTRING("xrstors64"), + ZYDIS_MAKE_SHORTSTRING("xsave"), + ZYDIS_MAKE_SHORTSTRING("xsave64"), + ZYDIS_MAKE_SHORTSTRING("xsavec"), + ZYDIS_MAKE_SHORTSTRING("xsavec64"), + ZYDIS_MAKE_SHORTSTRING("xsaveopt"), + ZYDIS_MAKE_SHORTSTRING("xsaveopt64"), + ZYDIS_MAKE_SHORTSTRING("xsaves"), + ZYDIS_MAKE_SHORTSTRING("xsaves64"), + ZYDIS_MAKE_SHORTSTRING("xsetbv"), + ZYDIS_MAKE_SHORTSTRING("xsha1"), + ZYDIS_MAKE_SHORTSTRING("xsha256"), + ZYDIS_MAKE_SHORTSTRING("xstore"), + ZYDIS_MAKE_SHORTSTRING("xsusldtrk"), + ZYDIS_MAKE_SHORTSTRING("xtest") +}; diff --git a/externals/dynarmic/externals/zydis/src/Generated/EnumRegister.inc b/externals/dynarmic/externals/zydis/src/Generated/EnumRegister.inc new file mode 100755 index 000000000..2bf7d9dc5 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/EnumRegister.inc @@ -0,0 +1,289 @@ +static const ZydisShortString STR_REGISTER[] = +{ + ZYDIS_MAKE_SHORTSTRING("none"), + + // General purpose registers 8-bit + ZYDIS_MAKE_SHORTSTRING("al"), + ZYDIS_MAKE_SHORTSTRING("cl"), + ZYDIS_MAKE_SHORTSTRING("dl"), + ZYDIS_MAKE_SHORTSTRING("bl"), + ZYDIS_MAKE_SHORTSTRING("ah"), + ZYDIS_MAKE_SHORTSTRING("ch"), + ZYDIS_MAKE_SHORTSTRING("dh"), + ZYDIS_MAKE_SHORTSTRING("bh"), + ZYDIS_MAKE_SHORTSTRING("spl"), + ZYDIS_MAKE_SHORTSTRING("bpl"), + ZYDIS_MAKE_SHORTSTRING("sil"), + ZYDIS_MAKE_SHORTSTRING("dil"), + ZYDIS_MAKE_SHORTSTRING("r8b"), + ZYDIS_MAKE_SHORTSTRING("r9b"), + ZYDIS_MAKE_SHORTSTRING("r10b"), + ZYDIS_MAKE_SHORTSTRING("r11b"), + ZYDIS_MAKE_SHORTSTRING("r12b"), + ZYDIS_MAKE_SHORTSTRING("r13b"), + ZYDIS_MAKE_SHORTSTRING("r14b"), + ZYDIS_MAKE_SHORTSTRING("r15b"), + // General purpose registers 16-bit + ZYDIS_MAKE_SHORTSTRING("ax"), + ZYDIS_MAKE_SHORTSTRING("cx"), + ZYDIS_MAKE_SHORTSTRING("dx"), + ZYDIS_MAKE_SHORTSTRING("bx"), + ZYDIS_MAKE_SHORTSTRING("sp"), + ZYDIS_MAKE_SHORTSTRING("bp"), + ZYDIS_MAKE_SHORTSTRING("si"), + ZYDIS_MAKE_SHORTSTRING("di"), + ZYDIS_MAKE_SHORTSTRING("r8w"), + ZYDIS_MAKE_SHORTSTRING("r9w"), + ZYDIS_MAKE_SHORTSTRING("r10w"), + ZYDIS_MAKE_SHORTSTRING("r11w"), + ZYDIS_MAKE_SHORTSTRING("r12w"), + ZYDIS_MAKE_SHORTSTRING("r13w"), + ZYDIS_MAKE_SHORTSTRING("r14w"), + ZYDIS_MAKE_SHORTSTRING("r15w"), + // General purpose registers 32-bit + ZYDIS_MAKE_SHORTSTRING("eax"), + ZYDIS_MAKE_SHORTSTRING("ecx"), + ZYDIS_MAKE_SHORTSTRING("edx"), + ZYDIS_MAKE_SHORTSTRING("ebx"), + ZYDIS_MAKE_SHORTSTRING("esp"), + ZYDIS_MAKE_SHORTSTRING("ebp"), + ZYDIS_MAKE_SHORTSTRING("esi"), + ZYDIS_MAKE_SHORTSTRING("edi"), + ZYDIS_MAKE_SHORTSTRING("r8d"), + ZYDIS_MAKE_SHORTSTRING("r9d"), + ZYDIS_MAKE_SHORTSTRING("r10d"), + ZYDIS_MAKE_SHORTSTRING("r11d"), + ZYDIS_MAKE_SHORTSTRING("r12d"), + ZYDIS_MAKE_SHORTSTRING("r13d"), + ZYDIS_MAKE_SHORTSTRING("r14d"), + ZYDIS_MAKE_SHORTSTRING("r15d"), + // General purpose registers 64-bit + ZYDIS_MAKE_SHORTSTRING("rax"), + ZYDIS_MAKE_SHORTSTRING("rcx"), + ZYDIS_MAKE_SHORTSTRING("rdx"), + ZYDIS_MAKE_SHORTSTRING("rbx"), + ZYDIS_MAKE_SHORTSTRING("rsp"), + ZYDIS_MAKE_SHORTSTRING("rbp"), + ZYDIS_MAKE_SHORTSTRING("rsi"), + ZYDIS_MAKE_SHORTSTRING("rdi"), + ZYDIS_MAKE_SHORTSTRING("r8"), + ZYDIS_MAKE_SHORTSTRING("r9"), + ZYDIS_MAKE_SHORTSTRING("r10"), + ZYDIS_MAKE_SHORTSTRING("r11"), + ZYDIS_MAKE_SHORTSTRING("r12"), + ZYDIS_MAKE_SHORTSTRING("r13"), + ZYDIS_MAKE_SHORTSTRING("r14"), + ZYDIS_MAKE_SHORTSTRING("r15"), + // Floating point legacy registers + ZYDIS_MAKE_SHORTSTRING("st0"), + ZYDIS_MAKE_SHORTSTRING("st1"), + ZYDIS_MAKE_SHORTSTRING("st2"), + ZYDIS_MAKE_SHORTSTRING("st3"), + ZYDIS_MAKE_SHORTSTRING("st4"), + ZYDIS_MAKE_SHORTSTRING("st5"), + ZYDIS_MAKE_SHORTSTRING("st6"), + ZYDIS_MAKE_SHORTSTRING("st7"), + ZYDIS_MAKE_SHORTSTRING("x87control"), + ZYDIS_MAKE_SHORTSTRING("x87status"), + ZYDIS_MAKE_SHORTSTRING("x87tag"), + // Floating point multimedia registers + ZYDIS_MAKE_SHORTSTRING("mm0"), + ZYDIS_MAKE_SHORTSTRING("mm1"), + ZYDIS_MAKE_SHORTSTRING("mm2"), + ZYDIS_MAKE_SHORTSTRING("mm3"), + ZYDIS_MAKE_SHORTSTRING("mm4"), + ZYDIS_MAKE_SHORTSTRING("mm5"), + ZYDIS_MAKE_SHORTSTRING("mm6"), + ZYDIS_MAKE_SHORTSTRING("mm7"), + // Floating point vector registers 128-bit + ZYDIS_MAKE_SHORTSTRING("xmm0"), + ZYDIS_MAKE_SHORTSTRING("xmm1"), + ZYDIS_MAKE_SHORTSTRING("xmm2"), + ZYDIS_MAKE_SHORTSTRING("xmm3"), + ZYDIS_MAKE_SHORTSTRING("xmm4"), + ZYDIS_MAKE_SHORTSTRING("xmm5"), + ZYDIS_MAKE_SHORTSTRING("xmm6"), + ZYDIS_MAKE_SHORTSTRING("xmm7"), + ZYDIS_MAKE_SHORTSTRING("xmm8"), + ZYDIS_MAKE_SHORTSTRING("xmm9"), + ZYDIS_MAKE_SHORTSTRING("xmm10"), + ZYDIS_MAKE_SHORTSTRING("xmm11"), + ZYDIS_MAKE_SHORTSTRING("xmm12"), + ZYDIS_MAKE_SHORTSTRING("xmm13"), + ZYDIS_MAKE_SHORTSTRING("xmm14"), + ZYDIS_MAKE_SHORTSTRING("xmm15"), + ZYDIS_MAKE_SHORTSTRING("xmm16"), + ZYDIS_MAKE_SHORTSTRING("xmm17"), + ZYDIS_MAKE_SHORTSTRING("xmm18"), + ZYDIS_MAKE_SHORTSTRING("xmm19"), + ZYDIS_MAKE_SHORTSTRING("xmm20"), + ZYDIS_MAKE_SHORTSTRING("xmm21"), + ZYDIS_MAKE_SHORTSTRING("xmm22"), + ZYDIS_MAKE_SHORTSTRING("xmm23"), + ZYDIS_MAKE_SHORTSTRING("xmm24"), + ZYDIS_MAKE_SHORTSTRING("xmm25"), + ZYDIS_MAKE_SHORTSTRING("xmm26"), + ZYDIS_MAKE_SHORTSTRING("xmm27"), + ZYDIS_MAKE_SHORTSTRING("xmm28"), + ZYDIS_MAKE_SHORTSTRING("xmm29"), + ZYDIS_MAKE_SHORTSTRING("xmm30"), + ZYDIS_MAKE_SHORTSTRING("xmm31"), + // Floating point vector registers 256-bit + ZYDIS_MAKE_SHORTSTRING("ymm0"), + ZYDIS_MAKE_SHORTSTRING("ymm1"), + ZYDIS_MAKE_SHORTSTRING("ymm2"), + ZYDIS_MAKE_SHORTSTRING("ymm3"), + ZYDIS_MAKE_SHORTSTRING("ymm4"), + ZYDIS_MAKE_SHORTSTRING("ymm5"), + ZYDIS_MAKE_SHORTSTRING("ymm6"), + ZYDIS_MAKE_SHORTSTRING("ymm7"), + ZYDIS_MAKE_SHORTSTRING("ymm8"), + ZYDIS_MAKE_SHORTSTRING("ymm9"), + ZYDIS_MAKE_SHORTSTRING("ymm10"), + ZYDIS_MAKE_SHORTSTRING("ymm11"), + ZYDIS_MAKE_SHORTSTRING("ymm12"), + ZYDIS_MAKE_SHORTSTRING("ymm13"), + ZYDIS_MAKE_SHORTSTRING("ymm14"), + ZYDIS_MAKE_SHORTSTRING("ymm15"), + ZYDIS_MAKE_SHORTSTRING("ymm16"), + ZYDIS_MAKE_SHORTSTRING("ymm17"), + ZYDIS_MAKE_SHORTSTRING("ymm18"), + ZYDIS_MAKE_SHORTSTRING("ymm19"), + ZYDIS_MAKE_SHORTSTRING("ymm20"), + ZYDIS_MAKE_SHORTSTRING("ymm21"), + ZYDIS_MAKE_SHORTSTRING("ymm22"), + ZYDIS_MAKE_SHORTSTRING("ymm23"), + ZYDIS_MAKE_SHORTSTRING("ymm24"), + ZYDIS_MAKE_SHORTSTRING("ymm25"), + ZYDIS_MAKE_SHORTSTRING("ymm26"), + ZYDIS_MAKE_SHORTSTRING("ymm27"), + ZYDIS_MAKE_SHORTSTRING("ymm28"), + ZYDIS_MAKE_SHORTSTRING("ymm29"), + ZYDIS_MAKE_SHORTSTRING("ymm30"), + ZYDIS_MAKE_SHORTSTRING("ymm31"), + // Floating point vector registers 512-bit + ZYDIS_MAKE_SHORTSTRING("zmm0"), + ZYDIS_MAKE_SHORTSTRING("zmm1"), + ZYDIS_MAKE_SHORTSTRING("zmm2"), + ZYDIS_MAKE_SHORTSTRING("zmm3"), + ZYDIS_MAKE_SHORTSTRING("zmm4"), + ZYDIS_MAKE_SHORTSTRING("zmm5"), + ZYDIS_MAKE_SHORTSTRING("zmm6"), + ZYDIS_MAKE_SHORTSTRING("zmm7"), + ZYDIS_MAKE_SHORTSTRING("zmm8"), + ZYDIS_MAKE_SHORTSTRING("zmm9"), + ZYDIS_MAKE_SHORTSTRING("zmm10"), + ZYDIS_MAKE_SHORTSTRING("zmm11"), + ZYDIS_MAKE_SHORTSTRING("zmm12"), + ZYDIS_MAKE_SHORTSTRING("zmm13"), + ZYDIS_MAKE_SHORTSTRING("zmm14"), + ZYDIS_MAKE_SHORTSTRING("zmm15"), + ZYDIS_MAKE_SHORTSTRING("zmm16"), + ZYDIS_MAKE_SHORTSTRING("zmm17"), + ZYDIS_MAKE_SHORTSTRING("zmm18"), + ZYDIS_MAKE_SHORTSTRING("zmm19"), + ZYDIS_MAKE_SHORTSTRING("zmm20"), + ZYDIS_MAKE_SHORTSTRING("zmm21"), + ZYDIS_MAKE_SHORTSTRING("zmm22"), + ZYDIS_MAKE_SHORTSTRING("zmm23"), + ZYDIS_MAKE_SHORTSTRING("zmm24"), + ZYDIS_MAKE_SHORTSTRING("zmm25"), + ZYDIS_MAKE_SHORTSTRING("zmm26"), + ZYDIS_MAKE_SHORTSTRING("zmm27"), + ZYDIS_MAKE_SHORTSTRING("zmm28"), + ZYDIS_MAKE_SHORTSTRING("zmm29"), + ZYDIS_MAKE_SHORTSTRING("zmm30"), + ZYDIS_MAKE_SHORTSTRING("zmm31"), + // Matrix registers + ZYDIS_MAKE_SHORTSTRING("tmm0"), + ZYDIS_MAKE_SHORTSTRING("tmm1"), + ZYDIS_MAKE_SHORTSTRING("tmm2"), + ZYDIS_MAKE_SHORTSTRING("tmm3"), + ZYDIS_MAKE_SHORTSTRING("tmm4"), + ZYDIS_MAKE_SHORTSTRING("tmm5"), + ZYDIS_MAKE_SHORTSTRING("tmm6"), + ZYDIS_MAKE_SHORTSTRING("tmm7"), + // Flags registers + ZYDIS_MAKE_SHORTSTRING("flags"), + ZYDIS_MAKE_SHORTSTRING("eflags"), + ZYDIS_MAKE_SHORTSTRING("rflags"), + // Instruction-pointer registers + ZYDIS_MAKE_SHORTSTRING("ip"), + ZYDIS_MAKE_SHORTSTRING("eip"), + ZYDIS_MAKE_SHORTSTRING("rip"), + // Segment registers + ZYDIS_MAKE_SHORTSTRING("es"), + ZYDIS_MAKE_SHORTSTRING("cs"), + ZYDIS_MAKE_SHORTSTRING("ss"), + ZYDIS_MAKE_SHORTSTRING("ds"), + ZYDIS_MAKE_SHORTSTRING("fs"), + ZYDIS_MAKE_SHORTSTRING("gs"), + // Table registers + ZYDIS_MAKE_SHORTSTRING("gdtr"), + ZYDIS_MAKE_SHORTSTRING("ldtr"), + ZYDIS_MAKE_SHORTSTRING("idtr"), + ZYDIS_MAKE_SHORTSTRING("tr"), + // Test registers + ZYDIS_MAKE_SHORTSTRING("tr0"), + ZYDIS_MAKE_SHORTSTRING("tr1"), + ZYDIS_MAKE_SHORTSTRING("tr2"), + ZYDIS_MAKE_SHORTSTRING("tr3"), + ZYDIS_MAKE_SHORTSTRING("tr4"), + ZYDIS_MAKE_SHORTSTRING("tr5"), + ZYDIS_MAKE_SHORTSTRING("tr6"), + ZYDIS_MAKE_SHORTSTRING("tr7"), + // Control registers + ZYDIS_MAKE_SHORTSTRING("cr0"), + ZYDIS_MAKE_SHORTSTRING("cr1"), + ZYDIS_MAKE_SHORTSTRING("cr2"), + ZYDIS_MAKE_SHORTSTRING("cr3"), + ZYDIS_MAKE_SHORTSTRING("cr4"), + ZYDIS_MAKE_SHORTSTRING("cr5"), + ZYDIS_MAKE_SHORTSTRING("cr6"), + ZYDIS_MAKE_SHORTSTRING("cr7"), + ZYDIS_MAKE_SHORTSTRING("cr8"), + ZYDIS_MAKE_SHORTSTRING("cr9"), + ZYDIS_MAKE_SHORTSTRING("cr10"), + ZYDIS_MAKE_SHORTSTRING("cr11"), + ZYDIS_MAKE_SHORTSTRING("cr12"), + ZYDIS_MAKE_SHORTSTRING("cr13"), + ZYDIS_MAKE_SHORTSTRING("cr14"), + ZYDIS_MAKE_SHORTSTRING("cr15"), + // Debug registers + ZYDIS_MAKE_SHORTSTRING("dr0"), + ZYDIS_MAKE_SHORTSTRING("dr1"), + ZYDIS_MAKE_SHORTSTRING("dr2"), + ZYDIS_MAKE_SHORTSTRING("dr3"), + ZYDIS_MAKE_SHORTSTRING("dr4"), + ZYDIS_MAKE_SHORTSTRING("dr5"), + ZYDIS_MAKE_SHORTSTRING("dr6"), + ZYDIS_MAKE_SHORTSTRING("dr7"), + ZYDIS_MAKE_SHORTSTRING("dr8"), + ZYDIS_MAKE_SHORTSTRING("dr9"), + ZYDIS_MAKE_SHORTSTRING("dr10"), + ZYDIS_MAKE_SHORTSTRING("dr11"), + ZYDIS_MAKE_SHORTSTRING("dr12"), + ZYDIS_MAKE_SHORTSTRING("dr13"), + ZYDIS_MAKE_SHORTSTRING("dr14"), + ZYDIS_MAKE_SHORTSTRING("dr15"), + // Mask registers + ZYDIS_MAKE_SHORTSTRING("k0"), + ZYDIS_MAKE_SHORTSTRING("k1"), + ZYDIS_MAKE_SHORTSTRING("k2"), + ZYDIS_MAKE_SHORTSTRING("k3"), + ZYDIS_MAKE_SHORTSTRING("k4"), + ZYDIS_MAKE_SHORTSTRING("k5"), + ZYDIS_MAKE_SHORTSTRING("k6"), + ZYDIS_MAKE_SHORTSTRING("k7"), + // Bound registers + ZYDIS_MAKE_SHORTSTRING("bnd0"), + ZYDIS_MAKE_SHORTSTRING("bnd1"), + ZYDIS_MAKE_SHORTSTRING("bnd2"), + ZYDIS_MAKE_SHORTSTRING("bnd3"), + ZYDIS_MAKE_SHORTSTRING("bndcfg"), + ZYDIS_MAKE_SHORTSTRING("bndstatus"), + // Uncategorized + ZYDIS_MAKE_SHORTSTRING("mxcsr"), + ZYDIS_MAKE_SHORTSTRING("pkru"), + ZYDIS_MAKE_SHORTSTRING("xcr0") +}; diff --git a/externals/dynarmic/externals/zydis/src/Generated/FormatterStrings.inc b/externals/dynarmic/externals/zydis/src/Generated/FormatterStrings.inc new file mode 100755 index 000000000..46209333c --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/FormatterStrings.inc @@ -0,0 +1,694 @@ +#pragma pack(push, 1) +static const ZydisShortString STR_ADD = ZYDIS_MAKE_SHORTSTRING("+"); +static const struct ZydisPredefinedTokenADD_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_ADD = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, '+', '\0' } }; +static const ZydisPredefinedToken* const TOK_ADD = (const ZydisPredefinedToken* const)&TOK_DATA_ADD; +static const ZydisShortString STR_ADDR_RELATIVE = ZYDIS_MAKE_SHORTSTRING("$"); +static const struct ZydisPredefinedTokenADDR_RELATIVE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_ADDR_RELATIVE = { 4, 2, { ZYDIS_TOKEN_ADDRESS_REL, 0, '$', '\0' } }; +static const ZydisPredefinedToken* const TOK_ADDR_RELATIVE = (const ZydisPredefinedToken* const)&TOK_DATA_ADDR_RELATIVE; +static const ZydisShortString STR_DECO_1TO2 = ZYDIS_MAKE_SHORTSTRING(" {1to2}"); +static const struct ZydisPredefinedTokenDECO_1TO2_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_1TO2 = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, '1', 't', 'o', '2', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_1TO2 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_1TO2; +static const ZydisShortString STR_DECO_1TO4 = ZYDIS_MAKE_SHORTSTRING(" {1to4}"); +static const struct ZydisPredefinedTokenDECO_1TO4_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_1TO4 = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, '1', 't', 'o', '4', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_1TO4 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_1TO4; +static const ZydisShortString STR_DECO_1TO8 = ZYDIS_MAKE_SHORTSTRING(" {1to8}"); +static const struct ZydisPredefinedTokenDECO_1TO8_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_1TO8 = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, '1', 't', 'o', '8', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_1TO8 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_1TO8; +static const ZydisShortString STR_DECO_1TO16 = ZYDIS_MAKE_SHORTSTRING(" {1to16}"); +static const struct ZydisPredefinedTokenDECO_1TO16_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[20]; +} TOK_DATA_DECO_1TO16 = { 20, 18, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 6, '1', 't', 'o', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_1TO16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_1TO16; +static const ZydisShortString STR_DECO_4TO8 = ZYDIS_MAKE_SHORTSTRING(" {4to8}"); +static const struct ZydisPredefinedTokenDECO_4TO8_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_4TO8 = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, '4', 't', 'o', '8', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_4TO8 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_4TO8; +static const ZydisShortString STR_DECO_4TO16 = ZYDIS_MAKE_SHORTSTRING(" {4to16}"); +static const struct ZydisPredefinedTokenDECO_4TO16_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[20]; +} TOK_DATA_DECO_4TO16 = { 20, 18, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 6, '4', 't', 'o', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_4TO16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_4TO16; +static const ZydisShortString STR_DECO_AAAA = ZYDIS_MAKE_SHORTSTRING(" {aaaa}"); +static const struct ZydisPredefinedTokenDECO_AAAA_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_AAAA = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'a', 'a', 'a', 'a', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_AAAA = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_AAAA; +static const ZydisShortString STR_DECO_BADC = ZYDIS_MAKE_SHORTSTRING(" {badc}"); +static const struct ZydisPredefinedTokenDECO_BADC_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_BADC = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'b', 'a', 'd', 'c', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_BADC = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_BADC; +static const ZydisShortString STR_DECO_BBBB = ZYDIS_MAKE_SHORTSTRING(" {bbbb}"); +static const struct ZydisPredefinedTokenDECO_BBBB_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_BBBB = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'b', 'b', 'b', 'b', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_BBBB = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_BBBB; +static const ZydisShortString STR_DECO_BEGIN = ZYDIS_MAKE_SHORTSTRING(" {"); +static const struct ZydisPredefinedTokenDECO_BEGIN_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[8]; +} TOK_DATA_DECO_BEGIN = { 8, 6, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 0, '{', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_BEGIN = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_BEGIN; +static const ZydisShortString STR_DECO_CCCC = ZYDIS_MAKE_SHORTSTRING(" {cccc}"); +static const struct ZydisPredefinedTokenDECO_CCCC_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_CCCC = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'c', 'c', 'c', 'c', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_CCCC = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_CCCC; +static const ZydisShortString STR_DECO_CDAB = ZYDIS_MAKE_SHORTSTRING(" {cdab}"); +static const struct ZydisPredefinedTokenDECO_CDAB_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_CDAB = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'c', 'd', 'a', 'b', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_CDAB = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_CDAB; +static const ZydisShortString STR_DECO_DACB = ZYDIS_MAKE_SHORTSTRING(" {dacb}"); +static const struct ZydisPredefinedTokenDECO_DACB_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_DACB = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'd', 'a', 'c', 'b', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_DACB = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_DACB; +static const ZydisShortString STR_DECO_DDDD = ZYDIS_MAKE_SHORTSTRING(" {dddd}"); +static const struct ZydisPredefinedTokenDECO_DDDD_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_DDDD = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'd', 'd', 'd', 'd', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_DDDD = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_DDDD; +static const ZydisShortString STR_DECO_EH = ZYDIS_MAKE_SHORTSTRING(" {cdab}"); +static const struct ZydisPredefinedTokenDECO_EH_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[19]; +} TOK_DATA_DECO_EH = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'c', 'd', 'a', 'b', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_EH = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_EH; +static const ZydisShortString STR_DECO_END = ZYDIS_MAKE_SHORTSTRING("}"); +static const struct ZydisPredefinedTokenDECO_END_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_DECO_END = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_END = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_END; +static const ZydisShortString STR_DECO_FLOAT16 = ZYDIS_MAKE_SHORTSTRING(" {float16}"); +static const struct ZydisPredefinedTokenDECO_FLOAT16_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[22]; +} TOK_DATA_DECO_FLOAT16 = { 22, 20, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 8, 'f', 'l', 'o', 'a', 't', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_FLOAT16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_FLOAT16; +static const ZydisShortString STR_DECO_RD = ZYDIS_MAKE_SHORTSTRING(" {rd}"); +static const struct ZydisPredefinedTokenDECO_RD_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[17]; +} TOK_DATA_DECO_RD = { 17, 15, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 3, 'r', 'd', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_RD = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RD; +static const ZydisShortString STR_DECO_RD_SAE = ZYDIS_MAKE_SHORTSTRING(" {rd-sae}"); +static const struct ZydisPredefinedTokenDECO_RD_SAE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[21]; +} TOK_DATA_DECO_RD_SAE = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'r', 'd', '-', 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_RD_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RD_SAE; +static const ZydisShortString STR_DECO_RN = ZYDIS_MAKE_SHORTSTRING(" {rn}"); +static const struct ZydisPredefinedTokenDECO_RN_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[17]; +} TOK_DATA_DECO_RN = { 17, 15, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 3, 'r', 'n', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_RN = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RN; +static const ZydisShortString STR_DECO_RN_SAE = ZYDIS_MAKE_SHORTSTRING(" {rn-sae}"); +static const struct ZydisPredefinedTokenDECO_RN_SAE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[21]; +} TOK_DATA_DECO_RN_SAE = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'r', 'n', '-', 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_RN_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RN_SAE; +static const ZydisShortString STR_DECO_RU = ZYDIS_MAKE_SHORTSTRING(" {ru}"); +static const struct ZydisPredefinedTokenDECO_RU_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[17]; +} TOK_DATA_DECO_RU = { 17, 15, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 3, 'r', 'u', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_RU = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RU; +static const ZydisShortString STR_DECO_RU_SAE = ZYDIS_MAKE_SHORTSTRING(" {ru-sae}"); +static const struct ZydisPredefinedTokenDECO_RU_SAE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[21]; +} TOK_DATA_DECO_RU_SAE = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'r', 'u', '-', 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_RU_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RU_SAE; +static const ZydisShortString STR_DECO_RZ = ZYDIS_MAKE_SHORTSTRING(" {rz}"); +static const struct ZydisPredefinedTokenDECO_RZ_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[17]; +} TOK_DATA_DECO_RZ = { 17, 15, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 3, 'r', 'z', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_RZ = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RZ; +static const ZydisShortString STR_DECO_RZ_SAE = ZYDIS_MAKE_SHORTSTRING(" {rz-sae}"); +static const struct ZydisPredefinedTokenDECO_RZ_SAE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[21]; +} TOK_DATA_DECO_RZ_SAE = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'r', 'z', '-', 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_RZ_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RZ_SAE; +static const ZydisShortString STR_DECO_SAE = ZYDIS_MAKE_SHORTSTRING(" {sae}"); +static const struct ZydisPredefinedTokenDECO_SAE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[18]; +} TOK_DATA_DECO_SAE = { 18, 16, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 4, 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_SAE; +static const ZydisShortString STR_DECO_SINT8 = ZYDIS_MAKE_SHORTSTRING(" {sint8}"); +static const struct ZydisPredefinedTokenDECO_SINT8_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[20]; +} TOK_DATA_DECO_SINT8 = { 20, 18, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 6, 's', 'i', 'n', 't', '8', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_SINT8 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_SINT8; +static const ZydisShortString STR_DECO_SINT16 = ZYDIS_MAKE_SHORTSTRING(" {sint16}"); +static const struct ZydisPredefinedTokenDECO_SINT16_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[21]; +} TOK_DATA_DECO_SINT16 = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 's', 'i', 'n', 't', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_SINT16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_SINT16; +static const ZydisShortString STR_DECO_UINT8 = ZYDIS_MAKE_SHORTSTRING(" {uint8}"); +static const struct ZydisPredefinedTokenDECO_UINT8_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[20]; +} TOK_DATA_DECO_UINT8 = { 20, 18, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 6, 'u', 'i', 'n', 't', '8', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_UINT8 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_UINT8; +static const ZydisShortString STR_DECO_UINT16 = ZYDIS_MAKE_SHORTSTRING(" {uint16}"); +static const struct ZydisPredefinedTokenDECO_UINT16_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[21]; +} TOK_DATA_DECO_UINT16 = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'u', 'i', 'n', 't', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_UINT16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_UINT16; +static const ZydisShortString STR_DECO_ZERO = ZYDIS_MAKE_SHORTSTRING(" {z}"); +static const struct ZydisPredefinedTokenDECO_ZERO_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[16]; +} TOK_DATA_DECO_ZERO = { 16, 14, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 2, 'z', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } }; +static const ZydisPredefinedToken* const TOK_DECO_ZERO = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_ZERO; +static const ZydisShortString STR_DELIM_MEMORY = ZYDIS_MAKE_SHORTSTRING(","); +static const struct ZydisPredefinedTokenDELIM_MEMORY_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_DELIM_MEMORY = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, ',', '\0' } }; +static const ZydisPredefinedToken* const TOK_DELIM_MEMORY = (const ZydisPredefinedToken* const)&TOK_DATA_DELIM_MEMORY; +static const ZydisShortString STR_DELIM_MNEMONIC = ZYDIS_MAKE_SHORTSTRING(" "); +static const struct ZydisPredefinedTokenDELIM_MNEMONIC_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_DELIM_MNEMONIC = { 4, 2, { ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_DELIM_MNEMONIC = (const ZydisPredefinedToken* const)&TOK_DATA_DELIM_MNEMONIC; +static const ZydisShortString STR_DELIM_OPERAND = ZYDIS_MAKE_SHORTSTRING(", "); +static const struct ZydisPredefinedTokenDELIM_OPERAND_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[8]; +} TOK_DATA_DELIM_OPERAND = { 8, 6, { ZYDIS_TOKEN_DELIMITER, 2, ',', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_DELIM_OPERAND = (const ZydisPredefinedToken* const)&TOK_DATA_DELIM_OPERAND; +static const ZydisShortString STR_DELIM_SEGMENT = ZYDIS_MAKE_SHORTSTRING(":"); +static const struct ZydisPredefinedTokenDELIM_SEGMENT_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_DELIM_SEGMENT = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, ':', '\0' } }; +static const ZydisPredefinedToken* const TOK_DELIM_SEGMENT = (const ZydisPredefinedToken* const)&TOK_DATA_DELIM_SEGMENT; +static const ZydisShortString STR_FAR = ZYDIS_MAKE_SHORTSTRING(" far"); +static const ZydisShortString STR_FAR_ATT = ZYDIS_MAKE_SHORTSTRING("l"); +static const ZydisShortString STR_IMMEDIATE = ZYDIS_MAKE_SHORTSTRING("$"); +static const struct ZydisPredefinedTokenIMMEDIATE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_IMMEDIATE = { 4, 2, { ZYDIS_TOKEN_IMMEDIATE, 0, '$', '\0' } }; +static const ZydisPredefinedToken* const TOK_IMMEDIATE = (const ZydisPredefinedToken* const)&TOK_DATA_IMMEDIATE; +static const ZydisShortString STR_INVALID_MNEMONIC = ZYDIS_MAKE_SHORTSTRING("invalid"); +static const struct ZydisPredefinedTokenINVALID_MNEMONIC_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[10]; +} TOK_DATA_INVALID_MNEMONIC = { 10, 2, { ZYDIS_TOKEN_MNEMONIC, 0, 'i', 'n', 'v', 'a', 'l', 'i', 'd', '\0' } }; +static const ZydisPredefinedToken* const TOK_INVALID_MNEMONIC = (const ZydisPredefinedToken* const)&TOK_DATA_INVALID_MNEMONIC; +static const ZydisShortString STR_INVALID_REG = ZYDIS_MAKE_SHORTSTRING("invalid"); +static const struct ZydisPredefinedTokenINVALID_REG_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[10]; +} TOK_DATA_INVALID_REG = { 10, 2, { ZYDIS_TOKEN_REGISTER, 0, 'i', 'n', 'v', 'a', 'l', 'i', 'd', '\0' } }; +static const ZydisPredefinedToken* const TOK_INVALID_REG = (const ZydisPredefinedToken* const)&TOK_DATA_INVALID_REG; +static const ZydisShortString STR_MEMORY_BEGIN_ATT = ZYDIS_MAKE_SHORTSTRING("("); +static const struct ZydisPredefinedTokenMEMORY_BEGIN_ATT_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_MEMORY_BEGIN_ATT = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_OPEN, 0, '(', '\0' } }; +static const ZydisPredefinedToken* const TOK_MEMORY_BEGIN_ATT = (const ZydisPredefinedToken* const)&TOK_DATA_MEMORY_BEGIN_ATT; +static const ZydisShortString STR_MEMORY_BEGIN_INTEL = ZYDIS_MAKE_SHORTSTRING("["); +static const struct ZydisPredefinedTokenMEMORY_BEGIN_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_MEMORY_BEGIN_INTEL = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_OPEN, 0, '[', '\0' } }; +static const ZydisPredefinedToken* const TOK_MEMORY_BEGIN_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_MEMORY_BEGIN_INTEL; +static const ZydisShortString STR_MEMORY_END_ATT = ZYDIS_MAKE_SHORTSTRING(")"); +static const struct ZydisPredefinedTokenMEMORY_END_ATT_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_MEMORY_END_ATT = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, ')', '\0' } }; +static const ZydisPredefinedToken* const TOK_MEMORY_END_ATT = (const ZydisPredefinedToken* const)&TOK_DATA_MEMORY_END_ATT; +static const ZydisShortString STR_MEMORY_END_INTEL = ZYDIS_MAKE_SHORTSTRING("]"); +static const struct ZydisPredefinedTokenMEMORY_END_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_MEMORY_END_INTEL = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, ']', '\0' } }; +static const ZydisPredefinedToken* const TOK_MEMORY_END_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_MEMORY_END_INTEL; +static const ZydisShortString STR_MUL = ZYDIS_MAKE_SHORTSTRING("*"); +static const struct ZydisPredefinedTokenMUL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_MUL = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, '*', '\0' } }; +static const ZydisPredefinedToken* const TOK_MUL = (const ZydisPredefinedToken* const)&TOK_DATA_MUL; +static const ZydisShortString STR_NEAR = ZYDIS_MAKE_SHORTSTRING(" near"); +static const ZydisShortString STR_PREF_BND = ZYDIS_MAKE_SHORTSTRING("bnd "); +static const struct ZydisPredefinedTokenPREF_BND_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[10]; +} TOK_DATA_PREF_BND = { 10, 8, { ZYDIS_TOKEN_PREFIX, 4, 'b', 'n', 'd', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_BND = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_BND; +static const ZydisShortString STR_PREF_LOCK = ZYDIS_MAKE_SHORTSTRING("lock "); +static const struct ZydisPredefinedTokenPREF_LOCK_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[11]; +} TOK_DATA_PREF_LOCK = { 11, 9, { ZYDIS_TOKEN_PREFIX, 5, 'l', 'o', 'c', 'k', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_LOCK = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_LOCK; +static const ZydisShortString STR_PREF_REP = ZYDIS_MAKE_SHORTSTRING("rep "); +static const struct ZydisPredefinedTokenPREF_REP_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[10]; +} TOK_DATA_PREF_REP = { 10, 8, { ZYDIS_TOKEN_PREFIX, 4, 'r', 'e', 'p', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REP = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REP; +static const ZydisShortString STR_PREF_REPE = ZYDIS_MAKE_SHORTSTRING("repe "); +static const struct ZydisPredefinedTokenPREF_REPE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[11]; +} TOK_DATA_PREF_REPE = { 11, 9, { ZYDIS_TOKEN_PREFIX, 5, 'r', 'e', 'p', 'e', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REPE = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REPE; +static const ZydisShortString STR_PREF_REPNE = ZYDIS_MAKE_SHORTSTRING("repne "); +static const struct ZydisPredefinedTokenPREF_REPNE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[12]; +} TOK_DATA_PREF_REPNE = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'p', 'n', 'e', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REPNE = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REPNE; +static const ZydisShortString STR_PREF_REX_4A = ZYDIS_MAKE_SHORTSTRING("rex.wx "); +static const struct ZydisPredefinedTokenPREF_REX_4A_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[13]; +} TOK_DATA_PREF_REX_4A = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'w', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_4A = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4A; +static const ZydisShortString STR_PREF_REX_4B = ZYDIS_MAKE_SHORTSTRING("rex.wxb "); +static const struct ZydisPredefinedTokenPREF_REX_4B_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[14]; +} TOK_DATA_PREF_REX_4B = { 14, 12, { ZYDIS_TOKEN_PREFIX, 8, 'r', 'e', 'x', '.', 'w', 'x', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_4B = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4B; +static const ZydisShortString STR_PREF_REX_4C = ZYDIS_MAKE_SHORTSTRING("rex.wr "); +static const struct ZydisPredefinedTokenPREF_REX_4C_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[13]; +} TOK_DATA_PREF_REX_4C = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'w', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_4C = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4C; +static const ZydisShortString STR_PREF_REX_4D = ZYDIS_MAKE_SHORTSTRING("rex.wrb "); +static const struct ZydisPredefinedTokenPREF_REX_4D_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[14]; +} TOK_DATA_PREF_REX_4D = { 14, 12, { ZYDIS_TOKEN_PREFIX, 8, 'r', 'e', 'x', '.', 'w', 'r', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_4D = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4D; +static const ZydisShortString STR_PREF_REX_4E = ZYDIS_MAKE_SHORTSTRING("rex.wrx "); +static const struct ZydisPredefinedTokenPREF_REX_4E_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[14]; +} TOK_DATA_PREF_REX_4E = { 14, 12, { ZYDIS_TOKEN_PREFIX, 8, 'r', 'e', 'x', '.', 'w', 'r', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_4E = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4E; +static const ZydisShortString STR_PREF_REX_4F = ZYDIS_MAKE_SHORTSTRING("rex.wrxb "); +static const struct ZydisPredefinedTokenPREF_REX_4F_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[15]; +} TOK_DATA_PREF_REX_4F = { 15, 13, { ZYDIS_TOKEN_PREFIX, 9, 'r', 'e', 'x', '.', 'w', 'r', 'x', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_4F = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4F; +static const ZydisShortString STR_PREF_REX_40 = ZYDIS_MAKE_SHORTSTRING("rex "); +static const struct ZydisPredefinedTokenPREF_REX_40_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[10]; +} TOK_DATA_PREF_REX_40 = { 10, 8, { ZYDIS_TOKEN_PREFIX, 4, 'r', 'e', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_40 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_40; +static const ZydisShortString STR_PREF_REX_41 = ZYDIS_MAKE_SHORTSTRING("rex.b "); +static const struct ZydisPredefinedTokenPREF_REX_41_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[12]; +} TOK_DATA_PREF_REX_41 = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'x', '.', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_41 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_41; +static const ZydisShortString STR_PREF_REX_42 = ZYDIS_MAKE_SHORTSTRING("rex.x "); +static const struct ZydisPredefinedTokenPREF_REX_42_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[12]; +} TOK_DATA_PREF_REX_42 = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'x', '.', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_42 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_42; +static const ZydisShortString STR_PREF_REX_43 = ZYDIS_MAKE_SHORTSTRING("rex.xb "); +static const struct ZydisPredefinedTokenPREF_REX_43_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[13]; +} TOK_DATA_PREF_REX_43 = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'x', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_43 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_43; +static const ZydisShortString STR_PREF_REX_44 = ZYDIS_MAKE_SHORTSTRING("rex.r "); +static const struct ZydisPredefinedTokenPREF_REX_44_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[12]; +} TOK_DATA_PREF_REX_44 = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'x', '.', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_44 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_44; +static const ZydisShortString STR_PREF_REX_45 = ZYDIS_MAKE_SHORTSTRING("rex.rb "); +static const struct ZydisPredefinedTokenPREF_REX_45_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[13]; +} TOK_DATA_PREF_REX_45 = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'r', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_45 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_45; +static const ZydisShortString STR_PREF_REX_46 = ZYDIS_MAKE_SHORTSTRING("rex.rx "); +static const struct ZydisPredefinedTokenPREF_REX_46_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[13]; +} TOK_DATA_PREF_REX_46 = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'r', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_46 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_46; +static const ZydisShortString STR_PREF_REX_47 = ZYDIS_MAKE_SHORTSTRING("rex.rxb "); +static const struct ZydisPredefinedTokenPREF_REX_47_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[14]; +} TOK_DATA_PREF_REX_47 = { 14, 12, { ZYDIS_TOKEN_PREFIX, 8, 'r', 'e', 'x', '.', 'r', 'x', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_47 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_47; +static const ZydisShortString STR_PREF_REX_48 = ZYDIS_MAKE_SHORTSTRING("rex.w "); +static const struct ZydisPredefinedTokenPREF_REX_48_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[12]; +} TOK_DATA_PREF_REX_48 = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'x', '.', 'w', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_48 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_48; +static const ZydisShortString STR_PREF_REX_49 = ZYDIS_MAKE_SHORTSTRING("rex.wb "); +static const struct ZydisPredefinedTokenPREF_REX_49_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[13]; +} TOK_DATA_PREF_REX_49 = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'w', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_REX_49 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_49; +static const ZydisShortString STR_PREF_SEG_CS = ZYDIS_MAKE_SHORTSTRING("cs "); +static const struct ZydisPredefinedTokenPREF_SEG_CS_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[9]; +} TOK_DATA_PREF_SEG_CS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'c', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_SEG_CS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_CS; +static const ZydisShortString STR_PREF_SEG_DS = ZYDIS_MAKE_SHORTSTRING("ds "); +static const struct ZydisPredefinedTokenPREF_SEG_DS_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[9]; +} TOK_DATA_PREF_SEG_DS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'd', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_SEG_DS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_DS; +static const ZydisShortString STR_PREF_SEG_ES = ZYDIS_MAKE_SHORTSTRING("es "); +static const struct ZydisPredefinedTokenPREF_SEG_ES_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[9]; +} TOK_DATA_PREF_SEG_ES = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'e', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_SEG_ES = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_ES; +static const ZydisShortString STR_PREF_SEG_FS = ZYDIS_MAKE_SHORTSTRING("fs "); +static const struct ZydisPredefinedTokenPREF_SEG_FS_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[9]; +} TOK_DATA_PREF_SEG_FS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'f', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_SEG_FS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_FS; +static const ZydisShortString STR_PREF_SEG_GS = ZYDIS_MAKE_SHORTSTRING("gs "); +static const struct ZydisPredefinedTokenPREF_SEG_GS_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[9]; +} TOK_DATA_PREF_SEG_GS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'g', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_SEG_GS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_GS; +static const ZydisShortString STR_PREF_SEG_SS = ZYDIS_MAKE_SHORTSTRING("ss "); +static const struct ZydisPredefinedTokenPREF_SEG_SS_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[9]; +} TOK_DATA_PREF_SEG_SS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 's', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_SEG_SS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_SS; +static const ZydisShortString STR_PREF_XACQUIRE = ZYDIS_MAKE_SHORTSTRING("xacquire "); +static const struct ZydisPredefinedTokenPREF_XACQUIRE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[15]; +} TOK_DATA_PREF_XACQUIRE = { 15, 13, { ZYDIS_TOKEN_PREFIX, 9, 'x', 'a', 'c', 'q', 'u', 'i', 'r', 'e', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_XACQUIRE = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_XACQUIRE; +static const ZydisShortString STR_PREF_XRELEASE = ZYDIS_MAKE_SHORTSTRING("xrelease "); +static const struct ZydisPredefinedTokenPREF_XRELEASE_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[15]; +} TOK_DATA_PREF_XRELEASE = { 15, 13, { ZYDIS_TOKEN_PREFIX, 9, 'x', 'r', 'e', 'l', 'e', 'a', 's', 'e', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_PREF_XRELEASE = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_XRELEASE; +static const ZydisShortString STR_REGISTER = ZYDIS_MAKE_SHORTSTRING("%"); +static const struct ZydisPredefinedTokenREGISTER_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_REGISTER = { 4, 2, { ZYDIS_TOKEN_REGISTER, 0, '%', '\0' } }; +static const ZydisPredefinedToken* const TOK_REGISTER = (const ZydisPredefinedToken* const)&TOK_DATA_REGISTER; +static const ZydisShortString STR_SHORT = ZYDIS_MAKE_SHORTSTRING(" short"); +static const ZydisShortString STR_SIZE_8_ATT = ZYDIS_MAKE_SHORTSTRING("b"); +static const ZydisShortString STR_SIZE_8_INTEL = ZYDIS_MAKE_SHORTSTRING("byte ptr "); +static const struct ZydisPredefinedTokenSIZE_8_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[15]; +} TOK_DATA_SIZE_8_INTEL = { 15, 13, { ZYDIS_TOKEN_TYPECAST, 9, 'b', 'y', 't', 'e', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_8_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_8_INTEL; +static const ZydisShortString STR_SIZE_16_ATT = ZYDIS_MAKE_SHORTSTRING("w"); +static const ZydisShortString STR_SIZE_16_INTEL = ZYDIS_MAKE_SHORTSTRING("word ptr "); +static const struct ZydisPredefinedTokenSIZE_16_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[15]; +} TOK_DATA_SIZE_16_INTEL = { 15, 13, { ZYDIS_TOKEN_TYPECAST, 9, 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_16_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_16_INTEL; +static const ZydisShortString STR_SIZE_32_ATT = ZYDIS_MAKE_SHORTSTRING("l"); +static const ZydisShortString STR_SIZE_32_INTEL = ZYDIS_MAKE_SHORTSTRING("dword ptr "); +static const struct ZydisPredefinedTokenSIZE_32_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[16]; +} TOK_DATA_SIZE_32_INTEL = { 16, 14, { ZYDIS_TOKEN_TYPECAST, 10, 'd', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_32_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_32_INTEL; +static const ZydisShortString STR_SIZE_48 = ZYDIS_MAKE_SHORTSTRING("fword ptr "); +static const struct ZydisPredefinedTokenSIZE_48_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[16]; +} TOK_DATA_SIZE_48 = { 16, 14, { ZYDIS_TOKEN_TYPECAST, 10, 'f', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_48 = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_48; +static const ZydisShortString STR_SIZE_64_ATT = ZYDIS_MAKE_SHORTSTRING("q"); +static const ZydisShortString STR_SIZE_64_INTEL = ZYDIS_MAKE_SHORTSTRING("qword ptr "); +static const struct ZydisPredefinedTokenSIZE_64_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[16]; +} TOK_DATA_SIZE_64_INTEL = { 16, 14, { ZYDIS_TOKEN_TYPECAST, 10, 'q', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_64_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_64_INTEL; +static const ZydisShortString STR_SIZE_80 = ZYDIS_MAKE_SHORTSTRING("tbyte ptr "); +static const struct ZydisPredefinedTokenSIZE_80_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[16]; +} TOK_DATA_SIZE_80 = { 16, 14, { ZYDIS_TOKEN_TYPECAST, 10, 't', 'b', 'y', 't', 'e', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_80 = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_80; +static const ZydisShortString STR_SIZE_128_ATT = ZYDIS_MAKE_SHORTSTRING("x"); +static const ZydisShortString STR_SIZE_128_INTEL = ZYDIS_MAKE_SHORTSTRING("xmmword ptr "); +static const struct ZydisPredefinedTokenSIZE_128_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[18]; +} TOK_DATA_SIZE_128_INTEL = { 18, 16, { ZYDIS_TOKEN_TYPECAST, 12, 'x', 'm', 'm', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_128_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_128_INTEL; +static const ZydisShortString STR_SIZE_256_ATT = ZYDIS_MAKE_SHORTSTRING("y"); +static const ZydisShortString STR_SIZE_256_INTEL = ZYDIS_MAKE_SHORTSTRING("ymmword ptr "); +static const struct ZydisPredefinedTokenSIZE_256_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[18]; +} TOK_DATA_SIZE_256_INTEL = { 18, 16, { ZYDIS_TOKEN_TYPECAST, 12, 'y', 'm', 'm', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_256_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_256_INTEL; +static const ZydisShortString STR_SIZE_512_ATT = ZYDIS_MAKE_SHORTSTRING("z"); +static const ZydisShortString STR_SIZE_512_INTEL = ZYDIS_MAKE_SHORTSTRING("zmmword ptr "); +static const struct ZydisPredefinedTokenSIZE_512_INTEL_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[18]; +} TOK_DATA_SIZE_512_INTEL = { 18, 16, { ZYDIS_TOKEN_TYPECAST, 12, 'z', 'm', 'm', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } }; +static const ZydisPredefinedToken* const TOK_SIZE_512_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_512_INTEL; +static const ZydisShortString STR_SUB = ZYDIS_MAKE_SHORTSTRING("-"); +static const struct ZydisPredefinedTokenSUB_ +{ + ZyanU8 size; + ZyanU8 next; + ZyanU8 data[4]; +} TOK_DATA_SUB = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, '-', '\0' } }; +static const ZydisPredefinedToken* const TOK_SUB = (const ZydisPredefinedToken* const)&TOK_DATA_SUB; +static const ZydisShortString STR_WHITESPACE = ZYDIS_MAKE_SHORTSTRING(" "); +#pragma pack(pop) diff --git a/externals/dynarmic/externals/zydis/src/Generated/InstructionDefinitions.inc b/externals/dynarmic/externals/zydis/src/Generated/InstructionDefinitions.inc new file mode 100755 index 000000000..851cc66ce --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/InstructionDefinitions.inc @@ -0,0 +1,7255 @@ +const ZydisInstructionDefinitionLEGACY ISTR_DEFINITIONS_LEGACY[] = +{ + { ZYDIS_MNEMONIC_AAA ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB6C), 0, 0 ZYDIS_NOTMIN(0x39), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DECIMAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4AC), 0, 0 ZYDIS_NOTMIN(0x45), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DECIMAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AAM ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4B0), 0, 0 ZYDIS_NOTMIN(0x45), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DECIMAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AAS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB6C), 0, 0 ZYDIS_NOTMIN(0x39), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DECIMAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB6F), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB72), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB75), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB78), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB7B), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB7E), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB81), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB84), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB87), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB8A), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB8D), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB90), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB93), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB96), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB8D), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB90), 1, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB99), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB9C), 0, 0 ZYDIS_NOTMIN(0x24), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADCX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB9F), 6, 0 ZYDIS_NOTMIN(0x21), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADCX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBA2), 6, 0 ZYDIS_NOTMIN(0x21), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADCX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBA5), 6, 0 ZYDIS_NOTMIN(0x21), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADCX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBA8), 6, 0 ZYDIS_NOTMIN(0x21), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAB), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAE), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB1), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB4), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB7), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBA), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBD), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC0), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC3), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC6), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC9), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCC), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCF), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD2), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD5), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCC), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD8), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDB), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADDPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADDPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADDPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADDPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADDSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC56), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADDSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC59), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADDSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC5F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADDSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC62), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADDSUBPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADDSUBPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADDSUBPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADDSUBPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADOX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB9F), 6, 0 ZYDIS_NOTMIN(0x9), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADOX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBA2), 6, 0 ZYDIS_NOTMIN(0x9), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ADOX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBA5), 6, 0 ZYDIS_NOTMIN(0x9), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ADOX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBA8), 6, 0 ZYDIS_NOTMIN(0x9), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ADOX_ADCX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AESDEC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AESDEC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AESDECLAST ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AESDECLAST ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AESENC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AESENC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AESENCLAST ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AESENCLAST ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AESIMC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AESIMC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AESKEYGENASSIST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AESKEYGENASSIST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAB), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAE), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB1), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB4), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB7), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBA), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBD), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC0), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC3), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC6), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCF), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD2), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD8), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_AND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDB), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ANDNPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ANDNPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ANDNPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ANDNPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ANDPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ANDPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ANDPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ANDPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ARPL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBEA), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ARPL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBED), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BLENDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BLENDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BLENDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BLENDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BLENDVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBFC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BLENDVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBFF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BLENDVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC02), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BLENDVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC05), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDCL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BNDCL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D5), 0, 1 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDCL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BNDCL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDCN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BNDCN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D5), 0, 1 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDCN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BNDCN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDCU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BNDCU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D5), 0, 1 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDCU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BNDCU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDLDX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16D9), 0, 1 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NO_REL ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDLDX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16DB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NO_REL ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDMK ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16DD), 0, 1 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDMK ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16DD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_BND ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BNDMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16E1), 0, 1 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_BND ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BNDMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16E7), 0, 1 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDSTX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16EB), 0, 1 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NO_REL ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BNDSTX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MPX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MPX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_BND, ZYDIS_REG_CONSTRAINTS_NO_REL ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BOUND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_INTERRUPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BOUND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16F1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_INTERRUPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BSF ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC08), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BSF ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC0B), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BSF ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC08), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BSF ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC0B), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC08), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC0B), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC08), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC0B), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BSWAP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x175B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC11), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC14), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC17), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BTC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BTC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BTC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB1), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BTC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB4), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BTR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB1), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BTR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB4), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BTR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BTR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BTS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB1), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BTS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB4), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_BTS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_BTS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x3A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CALL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_FAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CALL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4B8), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CALL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4BC), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CALL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CALL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4C4), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CALL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4C8), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CALL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_FAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CDQE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16F7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CLAC ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0x5), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SMAP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SMAP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SMAP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CLC ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0x3F), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CLD ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0xC), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CLDEMOTE ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x528), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CLDEMOTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CLDEMOTE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CLDEMOTE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CLFLUSH ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CLFSH) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CLFSH) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CLFLUSHOPT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CLFLUSHOPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CLFLUSHOPT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CLFLUSHOPT) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CLGI ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SVM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SVM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CLI ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x547), 0, 0 ZYDIS_NOTMIN(0xE), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CLRSSBSY ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CLTS ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CLWB ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CLWB) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CLWB) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CLWB) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CLZERO ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CLZERO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CLZERO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CLZERO) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMC ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0xAF), 0, 0 ZYDIS_NOTMIN(0x21), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVNBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVNBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVNL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVNL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVNLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVNLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVNO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVNO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVNP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVNP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVNS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVNS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVNZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVNZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMOVZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC20), 0, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMOVZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC23), 0, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC26), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC29), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC11), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC2C), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC2F), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC32), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC35), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC38), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC3B), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC3E), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC41), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x515), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x519), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC3E), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC41), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x51D), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x521), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC47), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC4A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC4D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC50), 1, 0 ZYDIS_NOTMIN(0x2C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4D0), 1, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4D0), 1, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC53), 0, 0 ZYDIS_NOTMIN(0x2C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4D4), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4D4), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC56), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMPSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC59), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC5C), 0, 0 ZYDIS_NOTMIN(0x2C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4D8), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4D8), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC5F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMPSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC62), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC65), 0, 0 ZYDIS_NOTMIN(0x2C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4DC), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4DC), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPXCHG ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4E0), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMPXCHG ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4E4), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPXCHG ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4E8), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CMPXCHG ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4EC), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPXCHG16B ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0x76), 6, 0 ZYDIS_NOTMIN(0x17), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CMPXCHG16B) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPXCHG8B ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0x7C), 6, 0 ZYDIS_NOTMIN(0x17), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMREAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CMPXCHG8B ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0x7C), 6, 0 ZYDIS_NOTMIN(0x17), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMREAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_COMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC68), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_COMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC6B), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_COMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC6E), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_COMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC71), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CPUID ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CQO ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CRC32 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CRC32 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CRC32 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CRC32 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1701), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTDQ2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1703), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTDQ2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1705), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTDQ2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1707), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTDQ2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1709), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170B), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTPD2PI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTPD2PI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1711), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTPD2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1713), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTPD2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1715), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTPI2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1717), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTPI2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1705), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTPI2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1719), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTPI2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTPS2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1721), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTPS2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1723), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTPS2PI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1725), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTPS2PI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1727), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1729), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172B), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSD2SS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1731), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSD2SS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1733), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSI2SD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1735), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSI2SD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1737), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSI2SD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1739), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSI2SD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x173B), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSI2SS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x173D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSI2SS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x173F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSI2SS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1741), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSI2SS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1743), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSS2SD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1745), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSS2SD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1747), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1749), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174B), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTTPD2PI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTTPD2PI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1711), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTTPS2PI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1751), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTTPS2PI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1753), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1729), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172B), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1749), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174B), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_CWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1755), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_CWDE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1757), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DAA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1759), 0, 0 ZYDIS_NOTMIN(0x23), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DECIMAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DAS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1759), 0, 0 ZYDIS_NOTMIN(0x23), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DECIMAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DEC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x175B), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DEC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x175D), 1, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DEC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x175F), 1, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DEC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1761), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DEC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1763), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC74), 1, 0 ZYDIS_NOTMIN(0x47), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC77), 1, 0 ZYDIS_NOTMIN(0x47), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DIV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4F4), 0, 0 ZYDIS_NOTMIN(0x47), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DIV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4F8), 0, 0 ZYDIS_NOTMIN(0x47), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DIVPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DIVPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DIVPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DIVPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DIVSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC56), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DIVSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC59), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DIVSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC5F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DIVSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC62), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_DPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_DPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_EMMS ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENCLS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4FC), 7, 2 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SGX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENCLS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x500), 7, 2 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SGX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENCLU ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4FC), 7, 2 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SGX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENCLU ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x500), 7, 2 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SGX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENCLV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x504), 7, 2 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SGX_ENCLV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SGX_ENCLV) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENCLV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x508), 7, 2 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SGX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SGX_ENCLV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SGX_ENCLV) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENDBR32 ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENDBR64 ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ENQCMD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC7A), 0, 0 ZYDIS_NOTMIN(0x41), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ENQCMD) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ENQCMD) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ENQCMD) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ENQCMDS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC7A), 0, 0 ZYDIS_NOTMIN(0x41), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ENQCMD) ZYDIS_NOTMIN(ZYDIS_ISA_SET_ENQCMD) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_ENQCMD) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ENTER ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xA6), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_EXTRACTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC7D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_EXTRACTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC80), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_EXTRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC83), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4A) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4A) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_EXTRQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1765), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4A) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4A) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_F2XM1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FABS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC86), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC89), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8F), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FADDP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FBLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC92), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FBSTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC95), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FCHS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCMOVB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x50C), 0, 0 ZYDIS_NOTMIN(0x1C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCMOVBE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x50C), 0, 0 ZYDIS_NOTMIN(0x1E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCMOVE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x50C), 0, 0 ZYDIS_NOTMIN(0x15), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCMOVNB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x50C), 0, 0 ZYDIS_NOTMIN(0x1C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCMOVNBE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x50C), 0, 0 ZYDIS_NOTMIN(0x1E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCMOVNE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x50C), 0, 0 ZYDIS_NOTMIN(0x15), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCMOVNU ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x50C), 0, 0 ZYDIS_NOTMIN(0x19), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCMOVU ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x50C), 0, 0 ZYDIS_NOTMIN(0x19), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FCMOV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOM ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC98), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOM ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC9B), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FCOM ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC98), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOM ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC9E), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FCOMI ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x510), 0, 0 ZYDIS_NOTMIN(0x34), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOMIP ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x510), 0, 0 ZYDIS_NOTMIN(0x34), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC98), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC9B), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FCOMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC98), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC9E), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FCOMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC98), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOMPP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA1), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FCOS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x2), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FDECSTP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x50F), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FDISI8087_NOP ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FDIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC86), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FDIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC89), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FDIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FDIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8F), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FDIVP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FDIVR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC86), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FDIVR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC89), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FDIVR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FDIVR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8F), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FDIVRP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FEMMS ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FENI8087_NOP ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FFREE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC87), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FFREEP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC87), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FIADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA4), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FIADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA7), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FICOM ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCAA), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FICOM ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCAD), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FICOMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCAA), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FICOMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCAD), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FIDIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA4), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FIDIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA7), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FIDIVR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA4), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FIDIVR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA7), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FILD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCB0), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FILD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCB3), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FILD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCB6), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FIMUL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA4), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FIMUL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA7), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FINCSTP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x50F), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FIST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCB9), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FIST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCBC), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCB9), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCBC), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCBF), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISTTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCB9), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISTTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCBF), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISTTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCBC), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA4), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA7), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISUBR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA4), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FISUBR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA7), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCC2), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCC5), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCC8), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCCB), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FLD1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1769), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FLDCW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x176B), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FLDENV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x176D), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FLDENV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x176F), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FLDL2E ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1769), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FLDL2T ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1769), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FLDLG2 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1769), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FLDLN2 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1769), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FLDPI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1769), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FLDZ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1769), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FMUL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC86), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FMUL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC89), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FMUL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FMUL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8F), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FMULP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FNCLEX ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x50F), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FNINIT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x50F), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FNOP ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FNSAVE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1771), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READWRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FNSAVE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1773), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READWRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FNSTCW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1775), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FNSTENV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1777), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FNSTENV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1779), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FNSTSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1775), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FNSTSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x177B), 0, 0 ZYDIS_NOTMIN(0x4), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FPATAN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCCE), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FPREM ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCD1), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FPREM1 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCD1), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FPTAN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCD4), 0, 0 ZYDIS_NOTMIN(0x2), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FRNDINT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FRSTOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x177D), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FRSTOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x177F), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSCALE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCD1), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSETPM287_NOP ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSIN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x2), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSINCOS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCD4), 0, 0 ZYDIS_NOTMIN(0x2), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSQRT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCD7), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCDA), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCDD), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCD7), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCE0), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCDA), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCDD), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCDA), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSTP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCDA), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSTPNCE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCDA), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC86), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC89), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8F), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSUBP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSUBR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC86), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSUBR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC89), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSUBR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FSUBR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8F), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FSUBRP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC8C), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FTST ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FUCOM ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC98), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FUCOMI ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x510), 0, 0 ZYDIS_NOTMIN(0x34), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FUCOMIP ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x510), 0, 0 ZYDIS_NOTMIN(0x34), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FUCOMP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC98), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FUCOMPP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCA1), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FWAIT ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FXAM ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1767), 0, 0 ZYDIS_NOTMIN(0x1), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FXCH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCE3), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FXCH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCE3), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FXCH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCE3), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FXRSTOR ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FXSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FXRSTOR64 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FXSAVE64) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FXSAVE ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FXSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FXSAVE64 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FXSAVE64) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_FXTRACT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCD4), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FYL2X ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCCE), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_FYL2XP1 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCCE), 0, 0 ZYDIS_NOTMIN(0x3), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_X87_ALU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_X87) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_X87) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_GETSEC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1781), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_GF2P8AFFINEINVQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCE6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_GF2P8AFFINEINVQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCE9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_GF2P8AFFINEQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCE6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_GF2P8AFFINEQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCE9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_GF2P8MULB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD73), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_GF2P8MULB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD76), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_HADDPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_HADDPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_HADDPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_HADDPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_HLT ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_HSUBPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_HSUBPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_HSUBPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_HSUBPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IDIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC74), 1, 0 ZYDIS_NOTMIN(0x47), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IDIV ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC77), 1, 0 ZYDIS_NOTMIN(0x47), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IDIV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4F4), 0, 0 ZYDIS_NOTMIN(0x47), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IDIV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x4F8), 0, 0 ZYDIS_NOTMIN(0x47), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x514), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x518), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x51C), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x520), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x524), 1, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x528), 1, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x52C), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x530), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBD), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IMUL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC0), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCEC), 1, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCEF), 3, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCF2), 3, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCF5), 1, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCF8), 3, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_IN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCFB), 3, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x175B), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x175D), 1, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x175F), 1, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1761), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1763), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INCSSPD ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x7C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INCSSPQ ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xCFE), 1, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x534), 1, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x534), 1, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD01), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD01), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x538), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x538), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x538), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x538), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSERTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSERTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD04), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INSERTQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x53C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4A) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4A) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSERTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1765), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BITBYTE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4A) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4A) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD07), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x540), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x540), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD0A), 0, 0 ZYDIS_NOTMIN(0x11), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_INTERRUPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INT1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x88), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_INTERRUPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INT3 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD0B), 0, 0 ZYDIS_NOTMIN(0x11), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_INTERRUPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INTO ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1783), 0, 0 ZYDIS_NOTMIN(0x10), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_INTERRUPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INVD ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INVEPT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD0D), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INVEPT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD10), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INVLPG ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x528), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INVLPGA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1785), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SVM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SVM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INVLPGB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD13), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVALID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD_INVLPGB) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INVLPGB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD16), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVALID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD_INVLPGB) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_INVPCID ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD0D), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVPCID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_INVPCID) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INVPCID ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD10), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVPCID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_INVPCID) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INVVPID ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD0D), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_INVVPID ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD10), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IRET ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x544), 0, 0 ZYDIS_NOTMIN(0x2D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READWRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IRETD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x544), 0, 0 ZYDIS_NOTMIN(0x2D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READWRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_IRETQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x548), 0, 0 ZYDIS_NOTMIN(0x2D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READWRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_JB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JCXZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JECXZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD2B), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JECXZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD2E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x4B8), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x4BC), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x4C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x4B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_FAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1787), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1789), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_JMP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x4CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_FAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_JNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNBE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNLE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JNZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JO ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JRCXZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD31), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD19), 5, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1C), 0, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD1F), 5, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD22), 4, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_JZ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD25), 0, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LAHF ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x178B), 0, 0 ZYDIS_NOTMIN(0x1F), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LAHF) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC08), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD34), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LDDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x178D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LDMXCSR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x178F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSEMXCSR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LDS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD37), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LEA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1791), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LEAVE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD3A), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LES ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD3D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LFENCE ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LFS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LGDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1793), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LGDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1795), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LGS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD43), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LIDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1797), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LIDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1799), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LLDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x179B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LLDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x179D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LMSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x179F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LMSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17A1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x54C), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xAB), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xAB), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x550), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xB0), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xB0), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x554), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xB5), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xB5), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x558), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xBA), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LODSW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xBA), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LOOP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x55C), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LOOPE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x55C), 5, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LOOPNE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x55C), 5, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LSL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD46), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LSL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD49), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LTR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LTR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17A5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_LZCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD4F), 0, 0 ZYDIS_NOTMIN(0x3C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LZCNT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LZCNT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LZCNT) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_LZCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD52), 0, 0 ZYDIS_NOTMIN(0x3C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LZCNT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LZCNT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LZCNT) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MASKMOVDQU ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD55), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MASKMOVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MAXPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MAXPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MAXPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MAXPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MAXSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC56), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MAXSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC59), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MAXSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC5F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MAXSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC62), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MCOMMIT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0x26), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MCOMMIT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MCOMMIT) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MFENCE ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MINPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MINPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MINPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MINPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MINSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC56), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MINSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC59), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MINSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC5F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MINSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC62), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MONITOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD5B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MONITOR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MONITOR) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MONITOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD5E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MONITOR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MONITOR) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MONITORX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD5B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MONITORX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MONITORX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MONITORX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD5E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MONITORX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MONITORX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MONTMUL ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_PMM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17A7), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17A9), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17AB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17AF), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17B1), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x514), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x518), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_SR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_SR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_SR_DEST, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17B9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_SR_DEST, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17BB), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17BD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17BF), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17C3), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17C5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17C7), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17C9), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17CF), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_CR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17D1), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_CR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17D3), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_DR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17D5), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_DR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17D7), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_CR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17D9), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_CR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17DB), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_DR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17DD), 7, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_DR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVBE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x518), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MOVBE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MOVBE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVBE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MOVBE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MOVBE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17EB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17EB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F7), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVDDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F9), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDIR64B ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD61), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MOVDIR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MOVDIR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MOVDIR) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDIR64B ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MOVDIR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MOVDIR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MOVDIR) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDIRI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MOVDIR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MOVDIR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MOVDIR) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDIRI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MOVDIR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MOVDIR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MOVDIR) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDQ2Q ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17FF), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1801), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1803), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1801), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1803), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVHLPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1805), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVHPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x173B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVHPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1807), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVHPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1809), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVHPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x180B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVLHPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1805), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVLPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x173B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVLPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1807), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVLPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1809), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVLPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x180B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVMSKPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x180D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVMSKPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x180F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVNTDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1803), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVNTDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVNTI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xEBD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVNTI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xEC3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVNTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1811), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVNTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1813), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVNTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1815), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVNTSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1817), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4A) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4A) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVNTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4A) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4A) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1819), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1821), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1815), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1823), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1817), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F7), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F9), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1825), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1815), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1827), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1817), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVQ2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1829), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD67), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x560), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x560), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD6A), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x564), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x564), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x182B), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x182D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x182F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1831), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSHDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSHDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSLDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSLDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD6D), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x568), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x568), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1833), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1835), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1837), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1839), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD70), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x56C), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x56C), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x183B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x183D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x183F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1841), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVSXD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1843), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVSXD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1845), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVZX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x183B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVZX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x183D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MOVZX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x183F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MOVZX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1841), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD73), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD76), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x524), 1, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x528), 1, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x52C), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MUL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x530), 0, 0 ZYDIS_NOTMIN(0x3E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MULPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MULPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MULPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MULPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MULSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC56), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MULSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC59), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MULSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC5F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MULSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC62), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_MWAIT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1847), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MONITOR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MONITOR) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MWAIT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MONITOR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MONITOR) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MWAITX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1847), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MONITORX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MONITORX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_MWAITX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_MONITORX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MONITORX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NEG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x175D), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NEG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x175F), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NEG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1761), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NEG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1763), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PREFETCH_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC11), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1849), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1849), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC11), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC11), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC11), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNC_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC11), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FAT_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WIDENOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNC_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0xB6F), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0xB72), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_NOT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0xB75), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_NOT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0xB78), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAB), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAE), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB1), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB4), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB7), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBA), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBD), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC0), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD79), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC6), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD5), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCC), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCF), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD2), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD5), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCC), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD8), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDB), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ORPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ORPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ORPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ORPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD7C), 1, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OUT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD7F), 3, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OUT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD82), 3, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OUT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD85), 1, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OUT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD88), 3, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OUT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD8B), 3, 0 ZYDIS_NOTMIN(0x7), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IO) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_OUTSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD8E), 1, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x570), 1, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x570), 1, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD91), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD91), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x574), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x574), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x574), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x574), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD94), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x578), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_OUTSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x578), 0, 0 ZYDIS_NOTMIN(0xB), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IOSTRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PABSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PABSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PABSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PABSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PABSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PABSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PABSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PABSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PABSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PABSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x181B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PABSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PABSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PACKSSDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PACKSSDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PACKSSDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PACKSSDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PACKSSWB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PACKSSWB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1851), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PACKSSWB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1853), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PACKSSWB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1855), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PACKUSDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PACKUSDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PACKUSWB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PACKUSWB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1851), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PACKUSWB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1853), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PACKUSWB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1855), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1857), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1859), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDUSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDUSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDUSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDUSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PADDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1853), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PADDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1855), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PALIGNR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PALIGNR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PALIGNR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PALIGNR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PAND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PAND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PAND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PAND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PANDN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PANDN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PANDN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PANDN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PAUSE ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PAUSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PAUSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PAVGB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x185B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PAVGB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PAVGB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD73), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PAVGB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD76), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PAVGW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PAVGW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1851), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PAVGW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x185D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PAVGW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x185F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PBLENDVB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDA3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PBLENDVB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDA6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PBLENDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PBLENDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCLMULQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCLMULQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPEQB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x185B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPEQB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1861), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPEQB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1863), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPEQB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1865), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPEQD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPEQD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPEQD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPEQD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPEQQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPEQQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPEQW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPEQW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1851), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPEQW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1853), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPEQW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1855), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x37), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x3E), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x45), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x4C), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x53), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x5A), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x61), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x68), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPGTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x185B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPGTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1861), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPGTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1863), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPGTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1865), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPGTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPGTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPGTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPGTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPGTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPGTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPGTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPGTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1851), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPGTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1853), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPGTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1855), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xC4), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xC9), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xCE), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xD3), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCMPISTRM ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xD8), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PCMPISTRM ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xDD), 6, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE42) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PCONFIG ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xE2), 0, 0 ZYDIS_NOTMIN(0x41), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PCONFIG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PCONFIG) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PCONFIG) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PEXTRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC7D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PEXTRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDA9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC7D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDAC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PEXTRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDAF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PEXTRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDB2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDB5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDB8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDBB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDBE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHADDD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHADDD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHADDD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHADDD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHADDSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHADDSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHADDSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHADDSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHADDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHADDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHADDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHADDW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHMINPOSUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHMINPOSUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHSUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHSUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHSUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHSUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHSUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHSUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHSUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHSUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHSUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHSUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PHSUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PHSUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PINSRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDC1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PINSRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDC4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PINSRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDC1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PINSRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDC7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PINSRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDCA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PINSRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDCD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PINSRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDD0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PINSRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDD3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PINSRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDD6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PINSRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDD9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMADDUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x185B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMADDUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1861), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMADDUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1863), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMADDUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1865), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMADDWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMADDWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1851), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMADDWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1853), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMADDWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1855), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMAXSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMAXSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMAXSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMAXSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMAXSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMAXSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMAXSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMAXSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMAXUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMAXUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMAXUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMAXUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMAXUD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMAXUD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMAXUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMAXUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMINSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMINSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMINSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMINSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMINSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMINSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMINSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMINSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMINUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMINUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMINUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMINUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMINUD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMINUD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMINUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMINUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVMSKB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1867), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVMSKB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1869), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVSXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x186B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVSXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x186D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVSXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x186F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVSXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1871), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVSXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1873), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVSXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1875), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVSXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1877), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVSXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1879), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVSXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x187B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVSXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x187D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVSXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x187F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVSXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1881), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVZXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1883), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVZXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1885), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVZXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1887), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVZXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1889), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVZXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x188B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVZXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x188D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVZXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x188F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVZXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1891), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVZXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1893), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVZXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1895), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMOVZXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1897), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMOVZXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1899), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULHRSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULHRSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULHRSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULHRSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULHUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x189B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULHUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x189D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULHUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x185D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULHUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x185F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULHW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULHW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1851), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULHW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1853), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULHW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1855), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x184F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1851), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULUDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x189F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULUDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PMULUDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PMULUDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDDC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDDF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDE2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDE5), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDE8), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDEB), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDEE), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDF1), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POPA ZYDIS_NOTMIN(9) ZYDIS_NOTMIN(0x14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POPAD ZYDIS_NOTMIN(9) ZYDIS_NOTMIN(0x1D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POPCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD4F), 0, 0 ZYDIS_NOTMIN(0x41), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_POPCNT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_POPCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD52), 0, 0 ZYDIS_NOTMIN(0x41), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_POPCNT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POPF ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDF4), 4, 0 ZYDIS_NOTMIN(0x2F), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POPFD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDF7), 4, 0 ZYDIS_NOTMIN(0x2F), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POPFQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDFA), 4, 0 ZYDIS_NOTMIN(0x2F), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_POP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_POR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_POR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_POR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PREFETCH ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PREFETCH_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW_PREFETCH) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PREFETCHNTA ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PREFETCHT0 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PREFETCHT1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PREFETCHT2 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PREFETCHW ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PREFETCH_NOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW_PREFETCH) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PREFETCHWT1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x528), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCHWT1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PREFETCHWT1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PREFETCHWT1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSADBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSADBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSADBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSADBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSHUFB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSHUFB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSHUFB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSHUFB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSHUFD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDFD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSHUFD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSHUFHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE03), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSHUFHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE06), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSHUFLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE03), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSHUFLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE06), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSHUFW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE09), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSHUFW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSIGNB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSIGNB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSIGNB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSIGNB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSIGND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSIGND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSIGND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSIGND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSIGNW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSIGNW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSIGNW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSIGNW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSSE3) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSSE3) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSLLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSLLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSLLDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18AB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18B1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSLLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSLLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18B9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18BD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18BF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSLLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSLLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18C3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSMASH ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18C5), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVALID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SNP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18C9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRAD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRAW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18D9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRAW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18DB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRAW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18DD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRLDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18AB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18B1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18B9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18BD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18BF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSRLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSRLW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2MMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBUSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBUSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBUSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBUSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PSUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PSUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PTEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE0F), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PTEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE12), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PTWRITE ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PT) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PTWRITE ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x5F1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PT) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKHBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKHBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKHBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKHBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKHDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKHDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKHDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKHDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKHQDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKHQDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKHWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKHWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKHWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKHWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKLBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKLBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKLBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKLBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKLDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKLDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKLDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKLDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKLQDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKLQDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKLWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18EB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKLWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MMX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUNPCKLWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PUNPCKLWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE15), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE18), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE1B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE1E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE21), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE24), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE27), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE2A), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE2D), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE30), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE33), 4, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSHA ZYDIS_NOTMIN(10) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSHAD ZYDIS_NOTMIN(10) ZYDIS_NOTMIN(0xA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSHF ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE36), 4, 0 ZYDIS_NOTMIN(0x20), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSHFD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE39), 4, 0 ZYDIS_NOTMIN(0x20), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PUSHFQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE3C), 4, 0 ZYDIS_NOTMIN(0x20), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PUSH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PVALIDATE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x57C), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVALID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SNP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PXOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PXOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMMMX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_MMX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_PXOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_PXOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE3F), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE42), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE45), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE48), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE4B), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE4E), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE51), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE54), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE57), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE5A), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE5D), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE60), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCPPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCPPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCPSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1833), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCPSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18EF), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE3F), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE42), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE45), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE48), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE4B), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE4E), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE51), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE54), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE57), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE5A), 1, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE5D), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RCR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE60), 0, 0 ZYDIS_NOTMIN(0x22), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RDFSBASE ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDGSBASE ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDMSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE63), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMREAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDPID ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x14D2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDPID) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDPID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDPID) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDPID ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x14CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDPID) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDPID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDPID) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDPKRU ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x580), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PKU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PKU) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PKU) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDPMC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE63), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDPMC) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDPRU ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE66), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDPRU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDPRU) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDPRU) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDRAND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F1), 0, 0 ZYDIS_NOTMIN(0x38), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDRAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDRAND) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDRAND) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDSEED ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F1), 0, 0 ZYDIS_NOTMIN(0x38), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDSEED) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDSEED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDSEED) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDSSPD ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x14CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDSSPQ ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x14D2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDTSC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE63), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMREAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RDTSCP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE69), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDTSCP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDTSCP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RET ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x584), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RET ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x585), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NEAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RET ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x588), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_FAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RET ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x589), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_FAR) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RMPADJUST ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x58C), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVALID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SNP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RMPUPDATE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE6C), 0, 0 ZYDIS_NOTMIN(0x1A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVALID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SNP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE6F), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE72), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE75), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE78), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7B), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7E), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE81), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE84), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE6F), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE72), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE75), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE78), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7B), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7E), 1, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE81), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE84), 0, 0 ZYDIS_NOTMIN(0x27), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_ROTATE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROUNDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROUNDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROUNDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROUNDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROUNDSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x53C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROUNDSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE93), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_ROUNDSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE96), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_ROUNDSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE99), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RSM ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F3), 0, 0 ZYDIS_NOTMIN(0x30), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSRET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RSQRTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1833), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_RSQRTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18EF), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_RSTORSSP ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SAHF ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F5), 0, 0 ZYDIS_NOTMIN(0x2A), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LAHF) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SALC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F7), 0, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE6F), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE72), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE75), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE78), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7B), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7E), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE81), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SAR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE84), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SAVEPREVSSP ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB6F), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB72), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB75), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB78), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB7B), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB7E), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB81), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB84), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB87), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB8A), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB8D), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB90), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB93), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB96), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB8D), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB90), 1, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB99), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB9C), 0, 0 ZYDIS_NOTMIN(0x25), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SCASB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE9C), 1, 0 ZYDIS_NOTMIN(0x2C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x590), 1, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x590), 1, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE9F), 0, 0 ZYDIS_NOTMIN(0x2C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x594), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x594), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEA2), 0, 0 ZYDIS_NOTMIN(0x2C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x598), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x598), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEA5), 0, 0 ZYDIS_NOTMIN(0x2C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x59C), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SCASW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x59C), 0, 0 ZYDIS_NOTMIN(0x29), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SERIALIZE ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SERIALIZE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SERIALIZE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SERIALIZE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETBE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETBE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETLE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETLE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETNB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETNB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x1B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETNBE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETNBE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x1D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETNL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETNL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x13), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETNLE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETNLE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x16), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETNO ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETNO ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETNP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETNP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETNS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETNS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETNZ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETNZ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETO ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETO ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x8), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x18), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x12), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SETSSBSY ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETZ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18F9), 1, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SETZ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FB), 1, 0 ZYDIS_NOTMIN(0x14), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SETCC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SFENCE ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SGDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FD), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SGDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHA1MSG1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHA1MSG1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHA1MSG2 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHA1MSG2 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHA1NEXTE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHA1NEXTE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHA1RNDS4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHA1RNDS4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHA256MSG1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHA256MSG1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHA256MSG2 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHA256MSG2 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xDA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHA256RNDS2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHA256RNDS2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEAB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SHA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SHA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE6F), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE6F), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE72), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE72), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE75), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE75), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE78), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE78), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7B), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7B), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7E), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7E), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE81), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE81), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE84), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE84), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5A0), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5A4), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5A8), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5AC), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1A), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC1D), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I186) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE6F), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE72), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE75), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE78), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7B), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE7E), 1, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE81), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE84), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5A0), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5A4), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5A8), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5AC), 0, 0 ZYDIS_NOTMIN(0x35), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SHIFT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHUFPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHUFPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SHUFPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SHUFPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SIDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1901), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SIDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1903), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SKINIT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0xD13), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SVM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SVM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SLDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1905), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SLDT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1907), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SMSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1909), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SMSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x190B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SQRTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SQRTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SQRTSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x182B), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SQRTSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x190D), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SQRTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1833), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SQRTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x18EF), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_STAC ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0x6), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SMAP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SMAP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SMAP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STC ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0x44), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STD ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0xD), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STGI ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SVM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SVM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STI ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x547), 0, 0 ZYDIS_NOTMIN(0xE), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FLAGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STMXCSR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x190F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSEMXCSR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE5), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_STOSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5B0), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xE7), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xE7), 1, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5B4), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xEC), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xEC), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I386) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5B8), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xF1), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xF1), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5BC), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xF6), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STOSW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xF6), 0, 0 ZYDIS_NOTMIN(0xA), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STRINGOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1911), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_STR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1913), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAB), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAE), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB1), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB4), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB7), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBA), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBD), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC0), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC3), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC6), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD5), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCC), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCF), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD2), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD5), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCC), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD8), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDB), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BINARY) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUBPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUBPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUBPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUBPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUBSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC56), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUBSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC59), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SUBSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC5F), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SUBSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xC62), 2, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_SWAPGS ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSCALL ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0x82), 5, 0 ZYDIS_NOTMIN(0x32), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSCALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSCALL ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0x88), 2, 0 ZYDIS_NOTMIN(0x32), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSCALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSENTER ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEAE), 0, 0 ZYDIS_NOTMIN(0xF), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSCALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSENTER ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEB1), 0, 0 ZYDIS_NOTMIN(0xF), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSCALL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSEXIT ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSRET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSEXIT ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSRET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSRET ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0x8E), 0, 0 ZYDIS_NOTMIN(0x31), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSRET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSRET ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0x94), 0, 0 ZYDIS_NOTMIN(0x31), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSRET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_LONGMODE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_LONGMODE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_SYSRET ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0x9A), 0, 0 ZYDIS_NOTMIN(0x31), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSRET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC26), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC29), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC0E), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC11), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC38), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC3B), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC3E), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC3E), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC41), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC41), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x515), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x515), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x519), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_TEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x519), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_TLBSYNC ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_INVALID) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD_INVLPGB) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TPAUSE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5C8), 0, 0 ZYDIS_NOTMIN(0x38), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_WAITPKG) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TPAUSE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5CC), 0, 0 ZYDIS_NOTMIN(0x38), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_WAITPKG) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TZCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEB4), 0, 0 ZYDIS_NOTMIN(0x3C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_TZCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEB7), 0, 0 ZYDIS_NOTMIN(0x3C), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_UCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC68), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC6B), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_UCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC6E), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC71), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_UD0 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xECC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UD0 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xECF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_UD1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xECC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UD1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xECF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_UD2 ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PPRO) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UMONITOR ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1ABA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_WAITPKG) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UMWAIT ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5C8), 0, 0 ZYDIS_NOTMIN(0x38), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_WAITPKG) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UMWAIT ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5CC), 0, 0 ZYDIS_NOTMIN(0x38), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_WAITPKG) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_WAITPKG) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UNPCKHPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1915), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UNPCKHPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1917), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_UNPCKHPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1919), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UNPCKHPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x191B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_UNPCKLPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1915), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UNPCKLPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1917), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_UNPCKLPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x191D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_UNPCKLPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x191B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VERR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x191F), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VERR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD35), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VERW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x191F), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VERW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD35), 0, 0 ZYDIS_NOTMIN(0x17), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I286PROTECTED) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VMCALL ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4D3), 0, 0 ZYDIS_NOTMIN(0x2E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMCLEAR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x69A), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VMFUNC ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0xA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VMFUNC) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VMFUNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMLAUNCH ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4D3), 0, 0 ZYDIS_NOTMIN(0x2E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMLOAD ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SVM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SVM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMMCALL ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SVM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SVM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMPTRLD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x69A), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VMPTRST ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1921), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VMREAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEBA), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMREAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEBD), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VMREAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEC0), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMREAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEC3), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VMRESUME ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x4D3), 0, 0 ZYDIS_NOTMIN(0x2E), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMRUN ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0xC3B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SVM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SVM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMSAVE ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SVM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SVM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMWRITE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEC6), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMWRITE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEC9), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VMWRITE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xECC), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMWRITE ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xECF), 7, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_VMXOFF ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_VMXON ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x69A), 2, 0 ZYDIS_NOTMIN(0x37), ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VTX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VTX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_WBINVD ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_WRFSBASE ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_WRGSBASE ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RDWRFSGS) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_WRMSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xED2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SYSTEM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PENTIUMREAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_WRPKRU ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PKU) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PKU) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PKU) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_WRSSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_WRSSQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_WRUSSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_WRUSSQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CET) ZYDIS_NOTMIN(ZYDIS_ISA_SET_CET) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_CET) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XABORT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1923), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UNCOND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RTM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RTM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xED5), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xED8), 1, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEDB), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XADD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEDE), 0, 0 ZYDIS_NOTMIN(0x2B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SEMAPHORE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I486REAL) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XBEGIN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RTM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RTM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCHG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xED5), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCHG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xED8), 1, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XCHG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xEDB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCHG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xEDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XCHG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1925), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCHG ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1925), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCRYPT_CBC ZYDIS_NOTMIN(8) ZYDIS_NOTMIN(0x2F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_ACE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCRYPT_CFB ZYDIS_NOTMIN(8) ZYDIS_NOTMIN(0x2F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_ACE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCRYPT_CTR ZYDIS_NOTMIN(9) ZYDIS_NOTMIN(0x26), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_ACE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCRYPT_ECB ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x6F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_ACE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XCRYPT_OFB ZYDIS_NOTMIN(9) ZYDIS_NOTMIN(0x26), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_ACE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XEND ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RTM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RTM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XGETBV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XLAT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1927), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_MISC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAB), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBAE), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB1), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB4), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBB7), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBA), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBBD), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC0), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xD79), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBC6), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBCF), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD2), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE4), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE7), 1, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBD8), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDB), 0, 0 ZYDIS_NOTMIN(0x40), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_I86) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BASE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_TRUE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XORPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XORPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XORPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XORPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_SSE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_SSE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_SSE4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XRESLDTRK ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TSX_LDTRK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TSX_LDTRK) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TSX_LDTRK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XRSTOR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XRSTOR64 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XRSTORS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XRSTORS64 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSAVE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSAVE64 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSAVEC ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVEC) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVEC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSAVEC64 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVEC) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVEC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSAVEOPT ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVEOPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVEOPT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVEOPT) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSAVEOPT64 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVEOPT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVEOPT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVEOPT) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSAVES ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSAVES64 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_READ) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_TRUE) }, + { ZYDIS_MNEMONIC_XSETBV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XSAVE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XSAVE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_TRUE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XSHA1 ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0xA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_PHE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XSHA256 ZYDIS_NOTMIN(6) ZYDIS_NOTMIN(0xA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_PHE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XSTORE ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_RNG) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XSTORE ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xFB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PADLOCK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_PADLOCK_RNG) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_PADLOCK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XSUSLDTRK ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TSX_LDTRK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TSX_LDTRK) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TSX_LDTRK) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) }, + { ZYDIS_MNEMONIC_XTEST ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x3D), 0, 0 ZYDIS_NOTMIN(0x41), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_RTM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_RTM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYAN_FALSE), ZYAN_FALSE ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYAN_FALSE) } +}; + +const ZydisInstructionDefinition3DNOW ISTR_DEFINITIONS_3DNOW[] = +{ + { ZYDIS_MNEMONIC_PAVGUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PAVGUSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PF2ID ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PF2ID ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PF2IW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PF2IW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFACC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFACC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFADD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFADD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFCMPEQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFCMPEQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFCMPGE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFCMPGE ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFCMPGT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFCMPGT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFCPIT1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFCPIT1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFMAX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFMAX ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFMIN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFMIN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFMUL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFMUL ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFNACC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFNACC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFPNACC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFPNACC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFRCP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFRCP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFRCPIT2 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFRCPIT2 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFRSQIT1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFRSQIT1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFSQRT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFSQRT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFSUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFSUB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFSUBR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PFSUBR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PI2FD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PI2FD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PI2FW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PI2FW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PMULHRW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PMULHRW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PSWAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) }, + { ZYDIS_MNEMONIC_PSWAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xD9A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMD3DNOW) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) } +}; + +const ZydisInstructionDefinitionXOP ISTR_DEFINITIONS_XOP[] = +{ + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5EC), 0, 0 ZYDIS_NOTMIN(0x43), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5F0), 0, 0 ZYDIS_NOTMIN(0x43), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5F4), 0, 0 ZYDIS_NOTMIN(0x43), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5F8), 0, 0 ZYDIS_NOTMIN(0x43), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_BLCFILL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCFILL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCFILL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCFILL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEF0), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCIC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCIC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCIC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCIC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEF0), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLCS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLSFILL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLSFILL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLSFILL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLSFILL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLSIC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLSIC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLSIC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_BLSIC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_LLWPCB ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1ABB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_LWPINS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x5FC), 0, 0 ZYDIS_NOTMIN(0x26), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_LWPINS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x600), 0, 0 ZYDIS_NOTMIN(0x26), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_LWPVAL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x5FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_LWPVAL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x600), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_SLWPCB ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1ABB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_T1MSKC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_T1MSKC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_T1MSKC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEF0), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_T1MSKC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_TZMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_TZMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEE7), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_TZMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_TZMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_SET_TBM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_TBM) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VFRCZPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1929), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x182D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x192B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VFRCZSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1835), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPCMOV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x604), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCMOV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x608), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCMOV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x60C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCMOV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x610), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCMOV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x614), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCMOV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x618), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCMOV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x61C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCMOV ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x620), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x634), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x638), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPCOMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPHADDBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x192D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x192F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1931), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1933), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xF17), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xF1A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1935), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1937), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1939), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x193B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x193D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x193F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1941), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1943), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1945), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1947), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1949), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x194B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x194D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDUWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x194F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1951), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1953), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1955), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHADDWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1957), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHSUBBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1959), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHSUBBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x195B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHSUBDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1935), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHSUBDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1937), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHSUBWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1951), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPHSUBWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1953), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPMACSDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x664), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x668), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSDQH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x66C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSDQH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x670), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSDQL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x66C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSDQL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x670), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x664), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x668), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSDQH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x66C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSDQH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x670), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSDQL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x66C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSDQL ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x670), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x674), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x678), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSWW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x67C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSSWW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x680), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x674), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x678), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSWW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x67C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMACSWW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x680), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMADCSSWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x674), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMADCSSWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x678), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMADCSWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x674), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPMADCSWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x678), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPPERM ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x67C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPPERM ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x684), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPPERM ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x680), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPPERM ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x688), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEF3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPROTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEF6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPROTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEFC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xDFD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPROTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPROTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEFF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF02), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF05), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPROTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPROTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF0B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE03), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPROTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE06), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED }, + { ZYDIS_MNEMONIC_VPROTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF11), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPROTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF17), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF1A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF1D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF23), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x634), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF26), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x638), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF29), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF2C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEF9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEFC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEFF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF02), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF0B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF0E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF11), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE }, + { ZYDIS_MNEMONIC_VPSHLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE } +}; + +const ZydisInstructionDefinitionVEX ISTR_DEFINITIONS_VEX[] = +{ + { ZYDIS_MNEMONIC_ANDN ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x68C), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_ANDN ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x690), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_ANDN ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x694), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_ANDN ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x698), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_ANDN ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x68C), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_ANDN ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x694), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6A0), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6A8), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BEXTR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x46), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF2F), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF32), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x42), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF2F), 0, 0 ZYDIS_NOTMIN(0x3D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF32), 0, 0 ZYDIS_NOTMIN(0x3D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSMSK ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3D), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF2F), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF32), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEEA), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BLSR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xEED), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI1) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI1) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BZHI ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BZHI ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6A0), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BZHI ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BZHI ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6A8), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BZHI ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_BZHI ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x3B), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_CLEVICT0 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_CLEVICT1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_DELAY ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x5F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_DELAY ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x692), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_JKNZD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x195D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCJKBR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCV) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_JKNZD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x195F), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCJKBR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCV) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_JKZD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x195D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCJKBR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCV) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_JKZD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x195F), 5, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COND_BR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCJKBR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCV) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_SHORT) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KADDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KADDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KAND ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDN ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDNQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDNR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDNW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KANDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KCONCATH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF38), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KCONCATL ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF38), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KEXTRACT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF3B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMERGE2L1H ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMERGE2L1L ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1963), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOV ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1965), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1967), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1969), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1971), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1973), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1975), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1977), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1979), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x197B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x197D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x197F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1981), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1983), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1985), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K21), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KMOVW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x196F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KNOT ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KNOTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KNOTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KNOTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KNOTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORTEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF3E), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORTESTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF41), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORTESTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF41), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORTESTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF41), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORTESTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF41), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KORW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KSHIFTLB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KSHIFTLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KSHIFTLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KSHIFTLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KSHIFTRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KSHIFTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KSHIFTRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KSHIFTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KTESTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF41), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KTESTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF41), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KTESTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF41), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KTESTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF41), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KUNPCKBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KUNPCKDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KUNPCKWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXNOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXNORB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXNORD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXNORQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXNORW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXOR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1961), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXORB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXORD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXORQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_KXORW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KMASK) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_KOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512VEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_K20), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_LDTILECFG ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x482), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE1), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_LZCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF47), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_LZCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF4A), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_MULX ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_MULX ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_MULX ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_MULX ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_MULX ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_MULX ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PDEP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x68C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PDEP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x690), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PDEP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x694), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PDEP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x698), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PDEP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x68C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PDEP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x694), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PEXT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x68C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PEXT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x690), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PEXT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x694), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PEXT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x698), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PEXT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x68C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_PEXT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x694), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_POPCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF47), 0, 0 ZYDIS_NOTMIN(0x41), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_POPCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF4A), 0, 0 ZYDIS_NOTMIN(0x41), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_RORX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF4D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_RORX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_RORX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_RORX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF56), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_RORX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF4D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_RORX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SARX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SARX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SARX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SARX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SARX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SARX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHLX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHLX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHLX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHLX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHLX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHLX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHRX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHRX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHRX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHRX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHRX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x69C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SHRX ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x6A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_BMI2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_BMI2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SPFLT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x5F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_SPFLT ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x692), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_STTILECFG ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1ABC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE2), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TDPBF16PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF59), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_BF16) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_BF16) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TDPBSSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_INT8) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_INT8) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TDPBSUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_INT8) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_INT8) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TDPBUSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_INT8) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_INT8) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TDPBUUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF5F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_INT8) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_INT8) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TILELOADD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1987), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE3), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TILELOADDT1 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1987), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE3), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TILERELEASE ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE6), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TILESTORED ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1989), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE3), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TILEZERO ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1987), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AMX_TILE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AMXE5), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TZCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF47), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TZCNT ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF4A), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TZCNTI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF62), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_TZCNTI ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF65), 0, 0 ZYDIS_NOTMIN(0x37), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNCSCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESIMC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESIMC ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESKEYGENASSIST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESKEYGENASSIST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVXAES) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVXAES) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBROADCASTF128 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x198B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_2_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTI128 ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x198D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_2_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x198F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1991), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1993), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1835), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1995), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x700), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x704), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x708), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x70C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x710), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x714), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x718), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC68), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC6B), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC6E), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xC71), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1703), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1997), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1705), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1999), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1707), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x199B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1709), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x199D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x199F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19A1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1713), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1715), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19A5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19A7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_F16C) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_F16C) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_F16C) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_F16C) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19AB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_F16C) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_F16C) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_F16C) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_F16C) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1721), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1723), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF74), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_F16C) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_F16C) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF77), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_F16C) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_F16C) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF7A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_F16C) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_F16C) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF7D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_F16C) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_F16C) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1729), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1729), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF80), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF83), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF86), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF89), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF8F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF86), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF92), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF95), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF98), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF9B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF92), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF98), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF9E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFA1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1749), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1749), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x199F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x170D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19A1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x171F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1729), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1729), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1749), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1749), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF128 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFA4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF128 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFA7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI128 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFAA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI128 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFAD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x105), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x119), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x123), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x12D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x137), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x141), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x14B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x72C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x730), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x734), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x738), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x73C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x740), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x744), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x748), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x105), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x119), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x123), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x12D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x137), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x141), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x14B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x105), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x119), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x123), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x12D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x137), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x141), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x14B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x105), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x119), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x123), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x12D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x137), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x141), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x14B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x72C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x730), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x734), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x738), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x73C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x740), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x744), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x748), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x105), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x119), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x123), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x12D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x137), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x141), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x14B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x72C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x730), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x734), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x738), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x73C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x740), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x744), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x748), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFBF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFCE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFD7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x105), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x10F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x119), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x123), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x12D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x137), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x141), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x14B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x72C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x730), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x734), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x738), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x73C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x740), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x744), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x748), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_SET_FMA4) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_FMA4) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFDA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFDD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFE0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFE3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFDA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFE6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFE9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFEC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x74C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x750), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x754), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x758), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x74C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x750), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x754), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x758), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_GFNI) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHADDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHADDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHADDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHADDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHADDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHADDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHADDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHADDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VHSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF128 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x75C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_2_TO_4) }, + { ZYDIS_MNEMONIC_VINSERTF128 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x760), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_2_TO_4) }, + { ZYDIS_MNEMONIC_VINSERTI128 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x764), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI128 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x768), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x76C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLDDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLDDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLDMXCSR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x178F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVDQU ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFEF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFF2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFF5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFF8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFFB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFFE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1001), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1004), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMASKMOVPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1007), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x182D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1801), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1803), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1801), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1803), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x180B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1010), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1831), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1013), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVMSKPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVMSKPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVMSKPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVMSKPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1803), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19C9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1817), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1827), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1817), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x182D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1016), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1831), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1835), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1019), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1839), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19B9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMPSADBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x770), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMPSADBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x774), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMPSADBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x778), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMPSADBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x77C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x788), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19DB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19DD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19E7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19EB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19F1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x101C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x101F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1022), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1025), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1028), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x102B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x102E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1031), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1034), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1037), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x103A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x103D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1040), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1043), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1046), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1049), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x634), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1052), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x638), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1055), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1061), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1064), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1067), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1061), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1064), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDN ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1067), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x788), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDVB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x790), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDVB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x794), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDVB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x798), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDVB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x79C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_32) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19F7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_32) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A01), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A03), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_2) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A05), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A07), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_2) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A09), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A0B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A0D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A0F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A11), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x788), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x37), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x3E), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x45), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x4C), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x37), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRI ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x45), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x53), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x5A), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x61), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x68), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x53), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPESTRM ZYDIS_NOTMIN(7) ZYDIS_NOTMIN(0x61), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x106A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1052), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x106D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1055), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xC4), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xC9), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xCE), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xD3), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xC4), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPISTRI ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xCE), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPISTRM ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xD8), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPISTRM ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0xDD), 0, 0 ZYDIS_NOTMIN(0x36), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_STTNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERM2F128 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERM2F128 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERM2I128 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERM2I128 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x788), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x105), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x10F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x119), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x123), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x12D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x137), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x141), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMIL2PS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x14B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_XOP) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_XOP) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1070), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1073), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1076), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1079), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x107C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x107F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1082), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1085), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1088), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x108B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x107C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x107F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1094), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1097), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x109A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x109D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10BE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2GATHER) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHADDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHMINPOSUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE03), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHMINPOSUW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE06), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPHSUBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10CA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x674), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10D6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x678), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10D9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMASKMOVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMASKMOVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMASKMOVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMASKMOVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMASKMOVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMASKMOVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMASKMOVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10E2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMASKMOVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x788), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x788), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVMSKB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A13), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVMSKB ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A15), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x186B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A17), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x186D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A19), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x186F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A1B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1871), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A1D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1873), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A1F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1875), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A21), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1877), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A23), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1879), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A25), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x187B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A27), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x187D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A29), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x187F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A2B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1881), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A2D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1883), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A2F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1885), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A31), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1887), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A33), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1889), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A35), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x188B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A37), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x188D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A39), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x188F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A3B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1891), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A3D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1893), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A3F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1895), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A41), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1897), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A43), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1899), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A45), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x66C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x670), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10EB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10F1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10F7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1061), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1064), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1067), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCH0 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCH1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCH2 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHE0 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHE1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHE2 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHENTA ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHNTA ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCV) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNC) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x770), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x774), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x778), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x77C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1103), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBDE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xBE1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1103), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGNB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGND ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGNW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGNW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGNW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSIGNW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1106), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1109), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x110C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x110F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1112), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1115), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1118), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x111B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x111E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1121), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1124), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1127), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x112A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x112D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1130), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1133), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1136), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1139), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x113C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x113F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1142), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1145), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1148), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1151), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1154), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1157), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x115A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x115D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1106), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1109), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x110C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x110F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1112), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1115), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1118), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x111B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x111E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1121), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1124), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1127), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x112A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x112D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1130), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1133), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1136), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX7), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1139), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x634), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1052), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x638), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1055), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x624), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x104F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x65C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1058), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x660), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE0F), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1160), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE12), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTEST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1163), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x788), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x63C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x780), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x784), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x644), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x788), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x648), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x78C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x654), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1061), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1064), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXOR ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1067), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX2) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX2) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCPPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCPPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCPPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCPPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCPSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCPSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x107C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x107F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VROUNDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x76C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x107F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x108E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1091), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSTMXCSR ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x190F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX5), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x71C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x724), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x728), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VTESTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1166), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VTESTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1169), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VTESTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x116C), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VTESTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x116F), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VTESTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1172), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VTESTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1175), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VTESTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1178), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VTESTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x117B), 0, 0 ZYDIS_NOTMIN(0x28), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x117E), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1181), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1184), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1187), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x10A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x114), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x64C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x650), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x62C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF6E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x630), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VZEROALL ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX8), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VZEROUPPER ZYDIS_NOTMIN(0) ZYDIS_NOTMIN(0x0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_AVX8), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_UNUSED ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_WRITE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_VEX_STATIC_BROADCAST_NONE) } +}; + +#ifndef ZYDIS_DISABLE_AVX512 +const ZydisInstructionDefinitionEVEX ISTR_DEFINITIONS_EVEX[] = +{ + { ZYDIS_MNEMONIC_V4FMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_4FMAPS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_4FMAPS_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1_4X) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_V4FMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_4FMAPS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_4FMAPS_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1_4X) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_V4FNMADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_4FMAPS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_4FMAPS_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1_4X) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_V4FNMADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_4FMAPS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_4FMAPS_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1_4X) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x118A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1064), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDEC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x118D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x118A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1064), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESDECLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x118D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x118A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1064), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENC ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x118D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x105E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x118A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1064), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x7BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VAESENCLAST ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x118D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VAES) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VAES_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_128) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGND ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGND ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGND ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGND ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGND ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGND ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGNQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGNQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGNQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGNQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGNQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGNQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VANDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBROADCASTF32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1190), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTF32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1193), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTF32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1196), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTF32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1199), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTF32X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x119C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_4_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTF32X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x119F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_4_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTF32X8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11A2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T8) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_8_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTF64X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11A5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTF64X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTF64X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11AB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_4_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11AE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11B1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11BA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11BD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_4_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_4_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11C3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T8) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_8_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTI64X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTI64X2 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11C9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTI64X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_4_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11D2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1190), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1193), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11DB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11DE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x18C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x191), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x196), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x18C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x19B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1A5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1AA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1AA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1B9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1BE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1C3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x191), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x191), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1166), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1166), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1181), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1172), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1172), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1187), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1202), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCOMPRESSPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1205), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1208), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x120B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x120E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1211), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1214), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1217), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x121A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x121D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1220), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x121A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1223), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1226), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1229), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNE2PS2BF16 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNE2PS2BF16 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNE2PS2BF16 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNE2PS2BF16 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x800), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNE2PS2BF16 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x804), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNE2PS2BF16 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x808), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNEPS2BF16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x122C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNEPS2BF16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x122F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNEPS2BF16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1232), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNEPS2BF16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1235), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNEPS2BF16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1235), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTNEPS2BF16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1238), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x123B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x123E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1241), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x123B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1244), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1244), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1247), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x124A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x124D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1250), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x124A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1253), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1253), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1256), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x125C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x125F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1262), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1265), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1268), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x126B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x126E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1271), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x126B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1274), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1274), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1277), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x127A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x127D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1280), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x127A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1283), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1286), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1289), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1292), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1295), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1298), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPH2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x129B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x129E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12A1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x129E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12A7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12AA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12B6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12B9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12BF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x80C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x810), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x814), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x80C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x818), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x81C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PH ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x820), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E11), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12C5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12CE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12DA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12DD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12F2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x125C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x125F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1262), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1265), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1268), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12FE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1301), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1301), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1304), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A47), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A47), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x824), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x824), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x828), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A49), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A49), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A49), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A49), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF86), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF89), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF89), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF8F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF86), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF92), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF92), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF98), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF95), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF95), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF9B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF92), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF92), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xF98), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x82C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x82C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x830), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A51), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A51), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A55), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A57), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A57), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A59), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A55), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x123B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x123E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1241), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x123B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1244), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1244), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1247), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x125C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x125F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1262), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1265), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1268), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x126B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x126E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1271), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x126B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1274), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1274), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1277), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x127A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x127D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1280), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x127A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1283), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1286), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPD2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1289), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x129E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12A1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x129E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12A7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12AA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2DQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12C5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12CE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2QQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12DA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12DD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12E6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12F2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTPS2UQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A47), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A47), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x172D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A49), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A49), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A49), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A49), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSD2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A4B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A51), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A51), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2SI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x174D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A55), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A57), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A57), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A59), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A53), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTTSS2USI ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A55), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1307), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x130A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x130D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1310), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1313), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1316), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1319), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x131C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x131F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1319), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1322), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1325), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1328), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1331), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x132B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1334), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1337), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x133A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12FE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x12F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1301), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1301), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUQQ2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1304), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x133D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1340), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1343), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1343), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1346), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x133D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1340), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1349), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1349), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x134C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x134F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x134F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1352), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1349), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1349), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUSI2SS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x134C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDBPSADBW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1D2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDBPSADBW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDBPSADBW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDBPSADBW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDBPSADBW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1E6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDBPSADBW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1EB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDIVSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPBF16PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x834), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPBF16PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x838), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPBF16PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x83C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPBF16PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x840), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPBF16PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x844), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VDPBF16PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x848), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BF16_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1355), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1361), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXPANDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1364), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x84C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x850), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x854), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x858), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF32X8 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x85C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF32X8 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x860), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T8) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF64X2 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x864), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF64X2 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x868), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF64X2 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x86C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF64X2 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x870), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF64X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x874), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTF64X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x878), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x87C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x880), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x884), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x888), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI32X8 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x88C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI32X8 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x890), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T8) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI64X2 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x894), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI64X2 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x898), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI64X2 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x89C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI64X2 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI64X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTI64X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1367), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXTRACTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xFB3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPIMMSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADDSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUBADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x22C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x231), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFPCLASSSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x136A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x136D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1370), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1373), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1376), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1379), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF0DPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF0DPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF0QPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF0QPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF1DPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF1DPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF1QPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF1QPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x136A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x137C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x137F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1373), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1382), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERQPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1385), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTSD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTSS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x24A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x24F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x254), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x25E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x263), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x24A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x24F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x254), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x25E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8AFFINEQB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x263), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGF2P8MULB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GFNI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_GFNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x268), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x26D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x272), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x277), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF32X8 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x27C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF32X8 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x281), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T8) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x286), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x28B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x290), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x295), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF64X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x29A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTF64X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x29F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2AE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI32X8 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI32X8 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2BD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T8) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI64X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2D6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTI64X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2DB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T4) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x6CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VINSERTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x76C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMAXSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMINSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1355), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1361), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1364), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1202), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1205), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A61), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A61), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x14CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x14CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x14CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x14CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1388), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_DUP) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_DUP) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_DUP) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAAC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x138B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x138E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1391), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1394), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1397), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x139A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x139D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13BE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xACC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAD0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13CA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU16 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAAC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x138B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x138E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1391), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1394), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1397), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x139A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x139D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13BE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13E2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13EB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13F1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQU8 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13F7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x128), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM128), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x100D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVHPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x180B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1010), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM128), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x720), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1831), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1013), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVLPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T2) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A63), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A65), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A67), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xE00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x10FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTDQA ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A69), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A6B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x17E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x19BF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNTPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A6D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E1NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A6F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A07), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x14D2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x14D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0xF05), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A07), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A71), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVQ ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x14D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1388), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x904), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1361), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSHDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1364), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1361), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSLDUP ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1364), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11DB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x908), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1355), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11E7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x135E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1361), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1364), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1202), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVUPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1205), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1400), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1403), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1406), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1409), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x140C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x140F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1412), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1415), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1418), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x141B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x141E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP2INTERSECTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1421), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VP2INTERSECT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VP2INTERSECT_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP4DPWSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x90C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_4VNNIW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_4VNNIW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1_4X) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VP4DPWSSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x90C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_4VNNIW) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_4VNNIW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1_4X) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1424), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1427), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x142A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x142D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1430), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1433), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1436), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1439), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x143C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x143F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1442), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1445), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x144B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x144E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1451), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1454), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x145A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x145D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1460), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1463), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPABSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1469), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x910), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x914), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x918), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x91C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x920), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x924), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x928), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x92C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x930), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x934), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x938), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x93C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x940), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x944), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x948), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x94C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x950), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x954), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x958), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x95C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x960), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x964), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x968), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKUSWB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x96C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x970), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x974), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x978), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x97C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x980), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x984), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x988), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x98C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x990), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x994), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x998), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x99C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPALIGNR ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPAVGW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_CONTROL) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x146F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_64) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1472), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1478), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_64) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x147B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x147E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32) }, + { ZYDIS_MNEMONIC_VPBROADCASTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1481), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_64) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11AE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x11B1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1484), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1487), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x148A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x148D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1490), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1493), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x148D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1490), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1493), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTMB2Q ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A73), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_2) }, + { ZYDIS_MNEMONIC_VPBROADCASTMB2Q ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A75), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTMB2Q ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A77), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTMW2D ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A79), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTMW2D ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A7B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTMW2D ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A7D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_2) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1496), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1499), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x149C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_2) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x149F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14A2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1F) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14A5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_2) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14AB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14AE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14B1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14BA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14BD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14C3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCLMULQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VPCLMULQDQ) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x2FE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x303), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x308), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x30D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x312), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x317), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x31C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x321), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x326), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x32B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x330), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x335), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x35D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x362), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x367), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x36C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x371), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x376), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x37B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x380), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x385), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x38A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x38F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x394), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x399), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x39E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x35D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x362), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x367), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x36C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x371), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x31C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x321), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x326), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x32B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x330), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x335), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x33A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x33F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x344), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x349), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x34E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x353), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x33A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x33F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x344), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x349), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x34E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x353), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x35D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x362), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x367), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x36C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUB ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x371), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x376), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x37B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x380), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x385), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x38A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x38F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x394), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x399), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x39E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3DA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13EB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13F1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13F7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1394), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1397), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x139A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x139D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13BE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13CA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCOMPRESSW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_COMPRESS) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAAC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xABC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCONFLICTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9B4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPBUSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPDPWSSDS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VNNI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x40C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x411), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x416), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x41B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x420), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x425), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x434), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x439), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x43E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x443), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMI2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA04), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMILPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2B ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x40C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x411), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x416), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x41B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x420), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x425), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x1FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x204), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x209), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x213), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x218), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x20E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x21D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x222), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x227), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x434), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x439), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x43E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2Q ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x443), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMT2W ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA04), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13E2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAAC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x138B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x138E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1391), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xACC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAD0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXPANDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_EXPAND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14C9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x109D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14CF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14D2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14D5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_GPR, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14DB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPEXTRW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14DE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14E7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14ED), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14E1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14F6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_GATHER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7C0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPINSRW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x7DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128N) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E9NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAAC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xABC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPLZCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONFLICT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512CD_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52HUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52HUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52HUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x434), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52HUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x439), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52HUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x43E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52HUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x443), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52LUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52LUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52LUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x434), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52LUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x439), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52LUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x43E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD52LUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x443), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_IFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_IFMA_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x988), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x98C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x990), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x994), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x998), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x99C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA18), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA1C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA24), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADDWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA2C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x970), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x974), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x978), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x97C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x980), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x984), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA30), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA34), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA38), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA3C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x988), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x98C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x990), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x994), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x998), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x99C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x970), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x974), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x978), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x97C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x980), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x984), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA30), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA34), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA38), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA3C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x988), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x98C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x990), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x994), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x998), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x99C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVB2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A7F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVB2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A81), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVB2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A83), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVD2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A85), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVD2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A87), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVD2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A89), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1502), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1505), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1508), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x150B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x150E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1511), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1514), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1517), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x151A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x151D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1520), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2B ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A8B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2B ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A8D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2B ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A8F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2D ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A91), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2D ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A93), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2D ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A95), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2Q ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A97), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2Q ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A99), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2Q ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A9B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2W ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A9D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2W ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A9F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVM2W ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AA1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQ2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AA3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQ2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AA5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQ2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AA7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1523), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1526), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1529), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x152C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x152F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1532), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1535), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1538), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x153B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x153E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1541), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1544), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1547), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x154A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x154D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1550), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1553), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1556), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1559), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x155C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x155F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1562), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1565), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1568), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x156B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x156E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1571), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1574), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1577), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x157A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x157D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1580), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1583), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1586), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1589), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x158C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x158F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1592), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1595), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1598), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x159B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x159E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15A1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15A7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15AA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15B0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15B6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15B9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15BF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15C5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15CE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15DA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15DD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15E6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15F2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15FE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1601), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1604), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1607), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x160A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x160D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1610), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1613), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1616), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1619), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x161C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x161F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1622), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1625), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x162B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVSXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x162E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14FF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1502), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1505), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1508), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x150B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x150E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1511), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1514), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1517), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x151A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x151D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSDW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1520), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1523), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1526), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1529), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x152C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x152F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1532), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1535), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1538), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x153B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x153E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1541), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1544), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1547), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x154A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x154D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1550), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1553), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSQW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1556), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1631), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1634), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1637), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x163A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x163D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVUSWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVW2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AA9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVW2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AAB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVW2M ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AAD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E7NM), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1631), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1634), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1637), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x163A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x163D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVWB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1640), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E6), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15C5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15C8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15CE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15D7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15DA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15DD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15E3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15E6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_OVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15E9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15F2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15F5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15FB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x15FE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1601), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1604), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1607), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x160A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x160D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1610), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1613), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1616), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1619), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x161C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_HVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x161F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1622), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1625), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1628), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x162B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMOVZXWQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x162E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E5), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_QVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x988), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x98C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x990), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x994), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x998), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHRSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x99C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULTISHIFTQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x24A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULTISHIFTQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x24F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULTISHIFTQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x254), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULTISHIFTQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x259), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULTISHIFTQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x25E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULTISHIFTQB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x263), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_VBMI) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULUDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13D9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_BITALG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13DF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13E2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTB ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_BITALG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAAC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAB8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xABC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x13A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x14C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xA14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_BITALG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xACC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAD0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPOPCNTW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xAD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_BITALG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA60), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA6C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA70), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA74), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA78), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA7C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA80), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA84), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA88), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPROLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA60), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA6C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA70), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA74), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA78), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA7C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA80), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA84), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA88), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPRORVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x770), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x774), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1643), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x778), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x77C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSADBW ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1646), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1649), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x164C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x164F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1652), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1655), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1658), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1649), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x165B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERQD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x165E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1652), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1661), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERQQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1664), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x40C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x411), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x416), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x41B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x420), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x425), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x434), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x439), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x43E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x443), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA04), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHLDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x40C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x411), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x416), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x41B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x420), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x425), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x42F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x434), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x439), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x43E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x443), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x9FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA04), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHRDW ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_VBMI2) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_VBMI2_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFBITQMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA90), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFBITQMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA94), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFBITQMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA98), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_BITALG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFBITQMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA9C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFBITQMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAA0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFBITQMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAA4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512_BITALG) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512_BITALG_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAA8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAAC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAB0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAB4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAB8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xABC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAC0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAC4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xACC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAD0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFHW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAC0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAC4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAC8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xACC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAD0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAD4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA60), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA6C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA70), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA74), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAD8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2AE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1667), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x166A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x166D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1670), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1673), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1676), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA78), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA7C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA80), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA84), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA88), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xADC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAEC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAFC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB04), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA60), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA6C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA70), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA74), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAD8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2AE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA78), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA7C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA80), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA84), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA88), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xADC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAEC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAFC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB04), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA60), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA6C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA70), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA74), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2A4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAD8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2AE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2B3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1667), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x166A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x166D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1670), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1673), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1676), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA78), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA7C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA80), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA84), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA88), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xA8C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2C2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xADC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2CC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2D1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAE8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAEC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAF8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xAFC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB00), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB04), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_M128) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x970), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x974), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x978), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x97C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x980), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x984), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x988), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x98C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x990), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x994), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x998), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x99C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBUSW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x40C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x411), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x416), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x41B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x420), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x425), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x42A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x42F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x434), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x439), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x43E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTERNLOGQ ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x443), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x35D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x362), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x367), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x36C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x371), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x376), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x37B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x380), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x385), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x38A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x38F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x394), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x399), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x39E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x358), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x35D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x362), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x367), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x36C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMB ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x371), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x376), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x37B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x380), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x385), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x38A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x38F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x394), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x399), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x39E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3A8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3AD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3B7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3BC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3C6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTNMW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3CB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_ZEROING) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKHWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2E5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2EF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLBW ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x2F9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_8) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLQDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3EE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x3FD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x402), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPUNPCKLWD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x407), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512BW_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FVM) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_16) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x150), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x15F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x16E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x17D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGEPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRANGESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP14SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP28SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VREDUCESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x8FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALESD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDSCALESS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT14SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E10), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28SD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT28SS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512ER_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEFSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1679), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x167C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x167F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1682), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1685), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1688), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF0DPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF0DPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF0QPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF0QPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF1DPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF1DPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF1QPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF1QPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1A5D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512PF_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12NP), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERQPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1679), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERQPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x168B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERQPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x168E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERQPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1682), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERQPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1691), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERQPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1694), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_SCATTER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E12), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_GSCAT) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_REQUIRED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFF32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFF32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFF32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFF32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFF64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFF64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFF64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFF64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFI32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x155), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFI32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x15A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFI32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x164), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFI32X4 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x169), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFI64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x173), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFI64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x178), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFI64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x182), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFI64X2 ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x187), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSHUFPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8DC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8D4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8E8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8EC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8F8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x8FC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x900), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSQRTSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_512) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E2), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x23B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_RC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBSS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x245), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1166), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1166), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1181), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1172), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1172), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_SAE), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUCOMISS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1187), 0, 0 ZYDIS_NOTMIN(0x33), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_SCALAR) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E3NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_FIXED_128) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_T1S) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_FORBIDDEN, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKHPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VUNPCKLPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_AVX512) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512F_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4NF), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x236), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x44D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x448), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x452), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x457), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x45C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_64) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x240), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x466), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x461), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_INVALID) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_INVALID) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_INVALID), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x46B), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_128) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x470), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_256) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VXORPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x475), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_LOGICAL_FP) ZYDIS_NOTMIN(ZYDIS_ISA_SET_AVX512DQ_512) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_AVX512EVEX) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_E4), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_IVECTOR_LENGTH_DEFAULT) ZYDIS_NOTMIN(ZYDIS_TUPLETYPE_FV) ZYDIS_NOTMIN(ZYDIS_IELEMENT_SIZE_32) ZYDIS_NOTMIN(ZYDIS_EVEX_FUNC_BC), ZYDIS_MASK_POLICY_ALLOWED, ZYAN_TRUE ZYDIS_NOTMIN(ZYDIS_MASK_OVERRIDE_DEFAULT) ZYDIS_NOTMIN(ZYDIS_EVEX_STATIC_BROADCAST_NONE) } +}; +#endif + +#ifndef ZYDIS_DISABLE_KNC +const ZydisInstructionDefinitionMVEX ISTR_DEFINITIONS_MVEX[] = +{ + { ZYDIS_MNEMONIC_CLEVICT0 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_CLEVICT1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDNPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDNPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSETSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSETSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VADDSETSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB18), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGND ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VALIGND ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x47F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBLENDMPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VBROADCASTF32X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTF64X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTI32X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16) }, + { ZYDIS_MNEMONIC_VBROADCASTI64X4 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1697), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTSD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VBROADCASTSS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x484), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x484), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x489), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x48E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x48E), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCMPPS ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x493), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32_BCST, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB1C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB1C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB24), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB24), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB2C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB2C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB30), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB34), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB34), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB38), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB38), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB30), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB3C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB3C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x169A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x169A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPD2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x169D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x169D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTPS2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32_BCST, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VCVTUDQ2PD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32_BCST, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP223PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP223PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VEXP223PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPNANPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPNANPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPNANPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPNANPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPNANPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFIXUPNANPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD233PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD233PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMADD233PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMADD231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB132PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB213PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VFNMSUB231PS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_UFMA) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16A0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VGATHERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16A3), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VGATHERPF0DPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AAF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF0HINTDPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AAF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNC_PF_HINT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF0HINTDPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AAF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNC_PF_HINT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGATHERPF1DPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x1AAF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x169D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x169D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETEXPPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGETMANTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXABSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXABSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXABSPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMAXPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMINPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VGMINPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOADUNPACKHD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOADUNPACKHPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOADUNPACKHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOADUNPACKHQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1697), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOADUNPACKLD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOADUNPACKLPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOADUNPACKLPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOADUNPACKLQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1697), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOG2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOG2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VLOG2PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16A6), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA32 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16AF), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1697), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVDQA64 ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16B2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNRAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCSTREAM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNRAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCSTREAM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNRNGOAPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16B5), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCSTREAM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMOVNRNGOAPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16B8), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCSTREAM) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VMULPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSTOREHD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSTOREHPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSTOREHPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSTOREHQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16BE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSTORELD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16AC), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSTORELPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16BB), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSTORELPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16A9), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPACKSTORELQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16BE), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_DATAXFER) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_TRUE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADCD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADCD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADCD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSETCD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSETCD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSETCD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSETSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSETSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB14), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPADDSETSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB18), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDND ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDNQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPANDQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBLENDMQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BLEND) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPBROADCASTD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB28), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPBROADCASTQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x1697), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_BROADCAST) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x49D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPEQD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x49D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPGTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x49D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPLTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPLTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPLTD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x49D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x4A2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x4A2), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPCMPUD ZYDIS_NOTMIN(5) ZYDIS_NOTMIN(0x4A7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47F), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMF32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMF32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPERMF32X4 ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPGATHERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16C1), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPGATHERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16C4), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPMADD231D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD231D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD231D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD233D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD233D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMADD233D ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMAXUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINSD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMINUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULHUD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPMULLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCH0 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCH1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCH2 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHE0 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHE1 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHE2 ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHENTA ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPREFETCHNTA ZYDIS_NOTMIN(1) ZYDIS_NOTMIN(0x1AB7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSBBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSBBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSBBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSBBRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSBBRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSBBRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSCATTERDD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VPSCATTERDQ ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16CA), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSHUFD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB60), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSLLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB60), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRAVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB5C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB60), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB64), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSRLVD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB68), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBRD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBRSETBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBRSETBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBRSETBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSETBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSETBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB4C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPSUBSETBD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB50), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x498), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPTESTMD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x49D), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_MASK, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VPXORQ ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP23PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP23PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRCP23PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDFXPNTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDFXPNTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB40), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDFXPNTPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB44), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_CONVERT) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDFXPNTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDFXPNTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB48), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRNDFXPNTPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB20), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT23PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT23PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB54), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VRSQRT23PS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0xB58), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_IGNORED, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCALEPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERDPD ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16CD), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8) }, + { ZYDIS_MNEMONIC_VSCATTERDPS ZYDIS_NOTMIN(3) ZYDIS_NOTMIN(0x16D0), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16) }, + { ZYDIS_MNEMONIC_VSCATTERPF0DPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF0HINTDPD ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNC_PF_HINT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF0HINTDPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNC_PF_HINT) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSCATTERPF1DPS ZYDIS_NOTMIN(2) ZYDIS_NOTMIN(0x16C7), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_PREFETCH) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYDIS_REG_CONSTRAINTS_VSIB ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_UNUSED, ZYAN_FALSE, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBRPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBRPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB08), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBRPD ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB0C), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBRPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBRPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0x47A), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) }, + { ZYDIS_MNEMONIC_VSUBRPS ZYDIS_NOTMIN(4) ZYDIS_NOTMIN(0xB10), 0, 0 ZYDIS_NOTMIN(0x0), ZYAN_FALSE ZYDIS_NOTMIN(ZYDIS_CATEGORY_KNC) ZYDIS_NOTMIN(ZYDIS_ISA_SET_KNCE) ZYDIS_NOTMIN(ZYDIS_ISA_EXT_KNCE) ZYDIS_NOTMIN(ZYDIS_BRANCH_TYPE_NONE) ZYDIS_NOTMIN(ZYDIS_EXCEPTION_CLASS_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYDIS_REG_CONSTRAINTS_NONE ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE) ZYDIS_NOTMIN(ZYDIS_RW_ACTION_NONE), ZYDIS_REG_CONSTRAINTS_NONE, ZYAN_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED ZYDIS_NOTMIN(ZYAN_FALSE) ZYDIS_NOTMIN(ZYDIS_MVEX_STATIC_BROADCAST_NONE) } +}; +#endif diff --git a/externals/dynarmic/externals/zydis/src/Generated/InstructionEncodings.inc b/externals/dynarmic/externals/zydis/src/Generated/InstructionEncodings.inc new file mode 100755 index 000000000..073db67cb --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/InstructionEncodings.inc @@ -0,0 +1,23 @@ +static const ZydisInstructionEncodingInfo INSTR_ENCODINGS[] = +{ + { 0, { { 0, 0, 0 } }, { { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM, { { 0, 0, 0 } }, { { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_DISP, { { 16, 32, 64 } }, { { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 16, 16 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 64 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_TRUE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_TRUE, ZYAN_TRUE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_TRUE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 32, 32, 32 }, ZYAN_TRUE, ZYAN_TRUE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 32, 32, 32 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_TRUE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_TRUE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_FORCE_REG_FORM, { { 0, 0, 0 } }, { { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0 | ZYDIS_INSTR_ENC_FLAG_HAS_IMM1, { { 0, 0, 0 } }, { { { 16, 16, 16 }, ZYAN_FALSE, ZYAN_FALSE }, { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0 | ZYDIS_INSTR_ENC_FLAG_HAS_IMM1, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_TRUE }, { { 16, 16, 16 }, ZYAN_FALSE, ZYAN_FALSE } } }, + { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0 | ZYDIS_INSTR_ENC_FLAG_HAS_IMM1, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE }, { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE } } } +}; diff --git a/externals/dynarmic/externals/zydis/src/Generated/OperandDefinitions.inc b/externals/dynarmic/externals/zydis/src/Generated/OperandDefinitions.inc new file mode 100755 index 000000000..e811b112c --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Generated/OperandDefinitions.inc @@ -0,0 +1,6850 @@ +#ifndef ZYDIS_MINIMAL_MODE +const ZydisOperandDefinition OPERAND_DEFINITIONS[] = +{ + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_BX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_BP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SI } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DI } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 32, 0 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESI } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDI } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 32, 0 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_BX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_BP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SI } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DI } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 32, 0 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESI } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDI } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 32, 0 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_AAX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ABX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_AAX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ABX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ABX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM16 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x5 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_PTR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 6 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 8, 16 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 8, 16 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x2 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x2 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x2 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x2 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 20, 40 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 20, 40 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_PKRU } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM16 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM16 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 8, 16 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RSP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_PKRU } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 576, 576, 576 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 576, 576, 576 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 576, 576, 576 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_TRUE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_TRUE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_TRUE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_BCD80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_BCD80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST1 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 6 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 2, ZYDIS_IMPLMEM_BASE_ABP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x5 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 6 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ES } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_FS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 0, ZYDIS_IMPLMEM_BASE_AGPR_REG } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_AGPR_REG } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ES } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_FS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ES } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_FS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RSP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ADI } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 24, 24, 24 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 12, 12, 12 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 24, 24, 24 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 12, 12, 12 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 14, 14, 14 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 28, 28, 28 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 94, 94, 94 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 108, 108, 108 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 14, 14, 14 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 28, 28, 28 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 94, 94, 94 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 108, 108, 108 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_MXCSR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 6, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 6, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_LDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_LDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_TR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_TR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_SREG, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_SREG, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_SREG, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_SREG, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MOFFS, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_DISP16_32_64 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MOFFS, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_DISP16_32_64 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MOFFS, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_DISP16_32_64 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MOFFS, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_DISP16_32_64 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM16_32_64 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_CR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_CR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_DR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_DR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_CR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_CR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_DR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_DR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 6, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 6, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_LDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_LDTR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CR0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_MXCSR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_TR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_TR } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ABX } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM32 }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_TMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 512, 512, 512 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 512, 512, 512 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE }, + { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM }, ZYAN_FALSE } +}; +#endif diff --git a/externals/dynarmic/externals/zydis/src/MetaInfo.c b/externals/dynarmic/externals/zydis/src/MetaInfo.c new file mode 100755 index 000000000..025d95b78 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/MetaInfo.c @@ -0,0 +1,68 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Enum strings */ +/* ============================================================================================== */ + +#include +#include +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +const char* ZydisCategoryGetString(ZydisInstructionCategory category) +{ + if ((ZyanUSize)category >= ZYAN_ARRAY_LENGTH(STR_INSTRUCTIONCATEGORY)) + { + return ZYAN_NULL; + } + return STR_INSTRUCTIONCATEGORY[category]; +} + +const char* ZydisISASetGetString(ZydisISASet isa_set) +{ + if ((ZyanUSize)isa_set >= ZYAN_ARRAY_LENGTH(STR_ISASET)) + { + return ZYAN_NULL; + } + return STR_ISASET[isa_set]; +} + +const char* ZydisISAExtGetString(ZydisISAExt isa_ext) +{ + if ((ZyanUSize)isa_ext >= ZYAN_ARRAY_LENGTH(STR_ISAEXT)) + { + return ZYAN_NULL; + } + return STR_ISAEXT[isa_ext]; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/Mnemonic.c b/externals/dynarmic/externals/zydis/src/Mnemonic.c new file mode 100755 index 000000000..b9e2eba36 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Mnemonic.c @@ -0,0 +1,52 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +const char* ZydisMnemonicGetString(ZydisMnemonic mnemonic) +{ + if ((ZyanUSize)mnemonic >= ZYAN_ARRAY_LENGTH(STR_MNEMONIC)) + { + return ZYAN_NULL; + } + return (const char*)STR_MNEMONIC[mnemonic].data; +} + +const ZydisShortString* ZydisMnemonicGetStringWrapped(ZydisMnemonic mnemonic) +{ + if ((ZyanUSize)mnemonic >= ZYAN_ARRAY_LENGTH(STR_MNEMONIC)) + { + return ZYAN_NULL; + } + return &STR_MNEMONIC[mnemonic]; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/Register.c b/externals/dynarmic/externals/zydis/src/Register.c new file mode 100755 index 000000000..f9807e242 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Register.c @@ -0,0 +1,303 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Register strings */ +/* ============================================================================================== */ + +#include + +/* ============================================================================================== */ +/* Register-class mapping */ +/* ============================================================================================== */ + +/** + * Defines the `ZydisRegisterMapItem` struct. + */ +typedef struct ZydisRegisterMapItem_ +{ + /** + * The register class. + */ + ZydisRegisterClass class; + /** + * The lowest register of the current class. + */ + ZydisRegister lo; + /** + * The highest register of the current class. + */ + ZydisRegister hi; + /** + * The width of registers of the current class in 16- and 32-bit mode. + */ + ZydisRegisterWidth width; + /** + * The width of registers of the current class in 64-bit mode. + */ + ZydisRegisterWidth width64; +} ZydisRegisterMapItem; + +/** + * Provides register to register-class and register-class + id to register mappings. + */ +static const ZydisRegisterMapItem REGISTER_MAP[] = +{ + { ZYDIS_REGCLASS_INVALID , ZYDIS_REGISTER_NONE , ZYDIS_REGISTER_NONE , 0 , 0 }, + { ZYDIS_REGCLASS_GPR8 , ZYDIS_REGISTER_AL , ZYDIS_REGISTER_R15B , 8 , 8 }, + { ZYDIS_REGCLASS_GPR16 , ZYDIS_REGISTER_AX , ZYDIS_REGISTER_R15W , 16 , 16 }, + { ZYDIS_REGCLASS_GPR32 , ZYDIS_REGISTER_EAX , ZYDIS_REGISTER_R15D , 32 , 32 }, + { ZYDIS_REGCLASS_GPR64 , ZYDIS_REGISTER_RAX , ZYDIS_REGISTER_R15 , 0 , 64 }, + { ZYDIS_REGCLASS_X87 , ZYDIS_REGISTER_ST0 , ZYDIS_REGISTER_ST7 , 80 , 80 }, + { ZYDIS_REGCLASS_MMX , ZYDIS_REGISTER_MM0 , ZYDIS_REGISTER_MM7 , 64 , 64 }, + { ZYDIS_REGCLASS_XMM , ZYDIS_REGISTER_XMM0 , ZYDIS_REGISTER_XMM31 , 128 , 128 }, + { ZYDIS_REGCLASS_YMM , ZYDIS_REGISTER_YMM0 , ZYDIS_REGISTER_YMM31 , 256 , 256 }, + { ZYDIS_REGCLASS_ZMM , ZYDIS_REGISTER_ZMM0 , ZYDIS_REGISTER_ZMM31 , 512 , 512 }, + { ZYDIS_REGCLASS_TMM , ZYDIS_REGISTER_TMM0 , ZYDIS_REGISTER_TMM7 , 8192 , 8192 }, + { ZYDIS_REGCLASS_FLAGS , ZYDIS_REGISTER_FLAGS , ZYDIS_REGISTER_RFLAGS , 0 , 0 }, + { ZYDIS_REGCLASS_IP , ZYDIS_REGISTER_IP , ZYDIS_REGISTER_RIP , 0 , 0 }, + { ZYDIS_REGCLASS_SEGMENT , ZYDIS_REGISTER_ES , ZYDIS_REGISTER_GS , 16 , 16 }, + { ZYDIS_REGCLASS_TEST , ZYDIS_REGISTER_TR0 , ZYDIS_REGISTER_TR7 , 32 , 32 }, + { ZYDIS_REGCLASS_CONTROL , ZYDIS_REGISTER_CR0 , ZYDIS_REGISTER_CR15 , 32 , 64 }, + { ZYDIS_REGCLASS_DEBUG , ZYDIS_REGISTER_DR0 , ZYDIS_REGISTER_DR15 , 32 , 64 }, + { ZYDIS_REGCLASS_MASK , ZYDIS_REGISTER_K0 , ZYDIS_REGISTER_K7 , 0 , 0 }, + { ZYDIS_REGCLASS_BOUND , ZYDIS_REGISTER_BND0 , ZYDIS_REGISTER_BND3 , 128 , 128 } +}; + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Register */ +/* ---------------------------------------------------------------------------------------------- */ + +ZydisRegister ZydisRegisterEncode(ZydisRegisterClass register_class, ZyanU8 id) +{ + switch (register_class) + { + case ZYDIS_REGCLASS_INVALID: + case ZYDIS_REGCLASS_FLAGS: + case ZYDIS_REGCLASS_IP: + break; + default: + if (((ZyanUSize)register_class < ZYAN_ARRAY_LENGTH(REGISTER_MAP)) && + (id <= (REGISTER_MAP[register_class].hi - REGISTER_MAP[register_class].lo))) + { + return REGISTER_MAP[register_class].lo + id; + } + } + return ZYDIS_REGISTER_NONE; +} + +ZyanI8 ZydisRegisterGetId(ZydisRegister reg) +{ + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(REGISTER_MAP); ++i) + { + switch (REGISTER_MAP[i].class) + { + case ZYDIS_REGCLASS_INVALID: + case ZYDIS_REGCLASS_FLAGS: + case ZYDIS_REGCLASS_IP: + break; + default: + if ((reg >= REGISTER_MAP[i].lo) && (reg <= REGISTER_MAP[i].hi)) + { + return (ZyanU8)(reg - REGISTER_MAP[i].lo); + } + } + } + return -1; +} + +ZydisRegisterClass ZydisRegisterGetClass(ZydisRegister reg) +{ + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(REGISTER_MAP); ++i) + { + if ((reg >= REGISTER_MAP[i].lo) && (reg <= REGISTER_MAP[i].hi)) + { + return REGISTER_MAP[i].class; + } + } + return ZYDIS_REGCLASS_INVALID; +} + +ZydisRegisterWidth ZydisRegisterGetWidth(ZydisMachineMode mode, ZydisRegister reg) +{ + // Special cases + switch (reg) + { + case ZYDIS_REGISTER_X87CONTROL: + case ZYDIS_REGISTER_X87STATUS: + case ZYDIS_REGISTER_X87TAG: + return 16; + case ZYDIS_REGISTER_IP: + case ZYDIS_REGISTER_FLAGS: + return 16; + case ZYDIS_REGISTER_EIP: + case ZYDIS_REGISTER_EFLAGS: + return 32; + case ZYDIS_REGISTER_RIP: + case ZYDIS_REGISTER_RFLAGS: + return (mode == ZYDIS_MACHINE_MODE_LONG_64) ? 64 : 0; + case ZYDIS_REGISTER_BNDCFG: + case ZYDIS_REGISTER_BNDSTATUS: + return 64; + case ZYDIS_REGISTER_XCR0: + return 64; + case ZYDIS_REGISTER_PKRU: + case ZYDIS_REGISTER_MXCSR: + return 32; + default: + break; + } + + // Register classes + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(REGISTER_MAP); ++i) + { + if ((reg >= REGISTER_MAP[i].lo) && (reg <= REGISTER_MAP[i].hi)) + { + return (mode == ZYDIS_MACHINE_MODE_LONG_64) ? + REGISTER_MAP[i].width64 : REGISTER_MAP[i].width; + } + } + return 0; +} + +ZydisRegister ZydisRegisterGetLargestEnclosing(ZydisMachineMode mode, ZydisRegister reg) +{ + static const ZyanU8 GPR8_MAPPING[20] = + { + /* AL */ 0, + /* CL */ 1, + /* DL */ 2, + /* BL */ 3, + /* AH */ 0, + /* CH */ 1, + /* DH */ 2, + /* BH */ 3, + /* SPL */ 4, + /* BPL */ 5, + /* SIL */ 6, + /* DIL */ 7, + /* R8B */ 8, + /* R9B */ 9, + /* R10B */ 10, + /* R11B */ 11, + /* R12B */ 12, + /* R13B */ 13, + /* R14B */ 14, + /* R15B */ 15, + }; + + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(REGISTER_MAP); ++i) + { + if ((reg >= REGISTER_MAP[i].lo) && (reg <= REGISTER_MAP[i].hi)) + { + const ZydisRegisterClass reg_class = REGISTER_MAP[i].class; + if ((reg_class == ZYDIS_REGCLASS_GPR64) && (mode != ZYDIS_MACHINE_MODE_LONG_64)) + { + return ZYDIS_REGISTER_NONE; + } + + ZyanU8 reg_id = (ZyanU8)(reg - REGISTER_MAP[reg_class].lo); + switch (reg_class) + { + case ZYDIS_REGCLASS_GPR8: + reg_id = GPR8_MAPPING[reg_id]; + ZYAN_FALLTHROUGH; + case ZYDIS_REGCLASS_GPR16: + case ZYDIS_REGCLASS_GPR32: + case ZYDIS_REGCLASS_GPR64: + switch (mode) + { + case ZYDIS_MACHINE_MODE_LONG_64: + return REGISTER_MAP[ZYDIS_REGCLASS_GPR64].lo + reg_id; + case ZYDIS_MACHINE_MODE_LONG_COMPAT_32: + case ZYDIS_MACHINE_MODE_LEGACY_32: + return REGISTER_MAP[ZYDIS_REGCLASS_GPR32].lo + reg_id; + case ZYDIS_MACHINE_MODE_LONG_COMPAT_16: + case ZYDIS_MACHINE_MODE_LEGACY_16: + case ZYDIS_MACHINE_MODE_REAL_16: + return REGISTER_MAP[ZYDIS_REGCLASS_GPR16].lo + reg_id; + default: + return ZYDIS_REGISTER_NONE; + } + case ZYDIS_REGCLASS_XMM: + case ZYDIS_REGCLASS_YMM: + case ZYDIS_REGCLASS_ZMM: +#if defined(ZYDIS_DISABLE_AVX512) && defined(ZYDIS_DISABLE_KNC) + return REGISTER_MAP[ZYDIS_REGCLASS_YMM].lo + reg_id; +#else + return REGISTER_MAP[ZYDIS_REGCLASS_ZMM].lo + reg_id; +#endif + default: + return ZYDIS_REGISTER_NONE; + } + } + } + + return ZYDIS_REGISTER_NONE; +} + +const char* ZydisRegisterGetString(ZydisRegister reg) +{ + if ((ZyanUSize)reg >= ZYAN_ARRAY_LENGTH(STR_REGISTER)) + { + return ZYAN_NULL; + } + return STR_REGISTER[reg].data; +} + +const ZydisShortString* ZydisRegisterGetStringWrapped(ZydisRegister reg) +{ + if ((ZyanUSize)reg >= ZYAN_ARRAY_LENGTH(STR_REGISTER)) + { + return ZYAN_NULL; + } + return &STR_REGISTER[reg]; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Register class */ +/* ---------------------------------------------------------------------------------------------- */ + +ZydisRegisterWidth ZydisRegisterClassGetWidth(ZydisMachineMode mode, + ZydisRegisterClass register_class) +{ + if ((ZyanUSize)register_class < ZYAN_ARRAY_LENGTH(REGISTER_MAP)) + { + return (mode == ZYDIS_MACHINE_MODE_LONG_64) ? + REGISTER_MAP[register_class].width64 : REGISTER_MAP[register_class].width; + } + return 0; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/SharedData.c b/externals/dynarmic/externals/zydis/src/SharedData.c new file mode 100755 index 000000000..fd4b45aa1 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/SharedData.c @@ -0,0 +1,187 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Data tables */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction definitions */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifdef ZYDIS_MINIMAL_MODE +# define ZYDIS_NOTMIN(x) +#else +# define ZYDIS_NOTMIN(x) , x +#endif + +#include + +#undef ZYDIS_NOTMIN + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand definitions */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYDIS_OPERAND_DEFINITION(type, encoding, access) \ + { type, encoding, access } + +#include + +#undef ZYDIS_OPERAND_DEFINITION + +/* ---------------------------------------------------------------------------------------------- */ +/* Accessed CPU flags */ +/* ---------------------------------------------------------------------------------------------- */ + +#include + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction definition */ +/* ---------------------------------------------------------------------------------------------- */ + +void ZydisGetInstructionDefinition(ZydisInstructionEncoding encoding, ZyanU16 id, + const ZydisInstructionDefinition** definition) +{ + switch (encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_LEGACY: + *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_LEGACY[id]; + break; + case ZYDIS_INSTRUCTION_ENCODING_3DNOW: + *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_3DNOW[id]; + break; + case ZYDIS_INSTRUCTION_ENCODING_XOP: + *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_XOP[id]; + break; + case ZYDIS_INSTRUCTION_ENCODING_VEX: + *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_VEX[id]; + break; +#ifndef ZYDIS_DISABLE_AVX512 + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_EVEX[id]; + break; +#endif +#ifndef ZYDIS_DISABLE_KNC + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_MVEX[id]; + break; +#endif + default: + ZYAN_UNREACHABLE; + } +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Operand definition */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYDIS_MINIMAL_MODE +ZyanU8 ZydisGetOperandDefinitions(const ZydisInstructionDefinition* definition, + const ZydisOperandDefinition** operand) +{ + if (definition->operand_count == 0) + { + *operand = ZYAN_NULL; + return 0; + } + ZYAN_ASSERT(definition->operand_reference != 0xFFFF); + *operand = &OPERAND_DEFINITIONS[definition->operand_reference]; + return definition->operand_count; +} +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Element info */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYDIS_MINIMAL_MODE +void ZydisGetElementInfo(ZydisInternalElementType element, ZydisElementType* type, + ZydisElementSize* size) +{ + static const struct + { + ZydisElementType type; + ZydisElementSize size; + } lookup[ZYDIS_IELEMENT_TYPE_MAX_VALUE + 1] = + { + { ZYDIS_ELEMENT_TYPE_INVALID , 0 }, + { ZYDIS_ELEMENT_TYPE_INVALID , 0 }, + { ZYDIS_ELEMENT_TYPE_STRUCT , 0 }, + { ZYDIS_ELEMENT_TYPE_INT , 0 }, + { ZYDIS_ELEMENT_TYPE_UINT , 0 }, + { ZYDIS_ELEMENT_TYPE_INT , 1 }, + { ZYDIS_ELEMENT_TYPE_INT , 8 }, + { ZYDIS_ELEMENT_TYPE_INT , 16 }, + { ZYDIS_ELEMENT_TYPE_INT , 32 }, + { ZYDIS_ELEMENT_TYPE_INT , 64 }, + { ZYDIS_ELEMENT_TYPE_UINT , 8 }, + { ZYDIS_ELEMENT_TYPE_UINT , 16 }, + { ZYDIS_ELEMENT_TYPE_UINT , 32 }, + { ZYDIS_ELEMENT_TYPE_UINT , 64 }, + { ZYDIS_ELEMENT_TYPE_UINT , 128 }, + { ZYDIS_ELEMENT_TYPE_UINT , 256 }, + { ZYDIS_ELEMENT_TYPE_FLOAT16 , 16 }, + { ZYDIS_ELEMENT_TYPE_FLOAT32 , 32 }, + { ZYDIS_ELEMENT_TYPE_FLOAT64 , 64 }, + { ZYDIS_ELEMENT_TYPE_FLOAT80 , 80 }, + { ZYDIS_ELEMENT_TYPE_LONGBCD , 80 }, + { ZYDIS_ELEMENT_TYPE_CC , 3 }, + { ZYDIS_ELEMENT_TYPE_CC , 5 } + }; + + ZYAN_ASSERT(element < ZYAN_ARRAY_LENGTH(lookup)); + + *type = lookup[element].type; + *size = lookup[element].size; +} +#endif + +/* ---------------------------------------------------------------------------------------------- */ +/* Accessed CPU flags */ +/* ---------------------------------------------------------------------------------------------- */ + +#ifndef ZYDIS_MINIMAL_MODE +ZyanBool ZydisGetAccessedFlags(const ZydisInstructionDefinition* definition, + const ZydisAccessedFlags** flags) +{ + ZYAN_ASSERT(definition->flags_reference < ZYAN_ARRAY_LENGTH(ACCESSED_FLAGS)); + *flags = &ACCESSED_FLAGS[definition->flags_reference]; + return (definition->flags_reference != 0); +} +#endif + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/String.c b/externals/dynarmic/externals/zydis/src/String.c new file mode 100755 index 000000000..ad78df630 --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/String.c @@ -0,0 +1,362 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Constants */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Defines */ +/* ---------------------------------------------------------------------------------------------- */ + +#define ZYDIS_MAXCHARS_DEC_32 10 +#define ZYDIS_MAXCHARS_DEC_64 20 +#define ZYDIS_MAXCHARS_HEX_32 8 +#define ZYDIS_MAXCHARS_HEX_64 16 + +/* ---------------------------------------------------------------------------------------------- */ +/* Lookup Tables */ +/* ---------------------------------------------------------------------------------------------- */ + +static const char* const DECIMAL_LOOKUP = + "00010203040506070809" + "10111213141516171819" + "20212223242526272829" + "30313233343536373839" + "40414243444546474849" + "50515253545556575859" + "60616263646566676869" + "70717273747576777879" + "80818283848586878889" + "90919293949596979899"; + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Internal Functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Decimal */ +/* ---------------------------------------------------------------------------------------------- */ + +#if defined(ZYAN_X86) || defined(ZYAN_ARM) || defined(ZYAN_EMSCRIPTEN) +ZyanStatus ZydisStringAppendDecU32(ZyanString* string, ZyanU32 value, ZyanU8 padding_length) +{ + ZYAN_ASSERT(string); + ZYAN_ASSERT(!string->vector.allocator); + + char buffer[ZYDIS_MAXCHARS_DEC_32]; + char *buffer_end = &buffer[ZYDIS_MAXCHARS_DEC_32]; + char *buffer_write_pointer = buffer_end; + while (value >= 100) + { + const ZyanU32 value_old = value; + buffer_write_pointer -= 2; + value /= 100; + ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[(value_old - (value * 100)) * 2], 2); + } + buffer_write_pointer -= 2; + ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[value * 2], 2); + + const ZyanUSize offset_odd = (ZyanUSize)(value < 10); + const ZyanUSize length_number = buffer_end - buffer_write_pointer - offset_odd; + const ZyanUSize length_total = ZYAN_MAX(length_number, padding_length); + const ZyanUSize length_target = string->vector.size; + + if (string->vector.size + length_total > string->vector.capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZyanUSize offset_write = 0; + if (padding_length > length_number) + { + offset_write = padding_length - length_number; + ZYAN_MEMSET((char*)string->vector.data + length_target - 1, '0', offset_write); + } + + ZYAN_MEMCPY((char*)string->vector.data + length_target + offset_write - 1, + buffer_write_pointer + offset_odd, length_number); + string->vector.size = length_target + length_total; + ZYDIS_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} +#endif + +ZyanStatus ZydisStringAppendDecU64(ZyanString* string, ZyanU64 value, ZyanU8 padding_length) +{ + ZYAN_ASSERT(string); + ZYAN_ASSERT(!string->vector.allocator); + + char buffer[ZYDIS_MAXCHARS_DEC_64]; + char *buffer_end = &buffer[ZYDIS_MAXCHARS_DEC_64]; + char *buffer_write_pointer = buffer_end; + while (value >= 100) + { + const ZyanU64 value_old = value; + buffer_write_pointer -= 2; + value /= 100; + ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[(value_old - (value * 100)) * 2], 2); + } + buffer_write_pointer -= 2; + ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[value * 2], 2); + + const ZyanUSize offset_odd = (ZyanUSize)(value < 10); + const ZyanUSize length_number = buffer_end - buffer_write_pointer - offset_odd; + const ZyanUSize length_total = ZYAN_MAX(length_number, padding_length); + const ZyanUSize length_target = string->vector.size; + + if (string->vector.size + length_total > string->vector.capacity) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZyanUSize offset_write = 0; + if (padding_length > length_number) + { + offset_write = padding_length - length_number; + ZYAN_MEMSET((char*)string->vector.data + length_target - 1, '0', offset_write); + } + + ZYAN_MEMCPY((char*)string->vector.data + length_target + offset_write - 1, + buffer_write_pointer + offset_odd, length_number); + string->vector.size = length_target + length_total; + ZYDIS_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Hexadecimal */ +/* ---------------------------------------------------------------------------------------------- */ + +#if defined(ZYAN_X86) || defined(ZYAN_ARM) || defined(ZYAN_EMSCRIPTEN) +ZyanStatus ZydisStringAppendHexU32(ZyanString* string, ZyanU32 value, ZyanU8 padding_length, + ZyanBool uppercase) +{ + ZYAN_ASSERT(string); + ZYAN_ASSERT(!string->vector.allocator); + + const ZyanUSize len = string->vector.size; + const ZyanUSize remaining = string->vector.capacity - string->vector.size; + + if (remaining < (ZyanUSize)padding_length) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + if (!value) + { + const ZyanU8 n = (padding_length ? padding_length : 1); + + if (remaining < (ZyanUSize)n) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_MEMSET((char*)string->vector.data + len - 1, '0', n); + string->vector.size = len + n; + ZYDIS_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; + } + + ZyanU8 n = 0; + char* buffer = ZYAN_NULL; + for (ZyanI8 i = ZYDIS_MAXCHARS_HEX_32 - 1; i >= 0; --i) + { + const ZyanU8 v = (value >> i * 4) & 0x0F; + if (!n) + { + if (!v) + { + continue; + } + if (remaining <= (ZyanU8)i) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + buffer = (char*)string->vector.data + len - 1; + if (padding_length > i) + { + n = padding_length - i - 1; + ZYAN_MEMSET(buffer, '0', n); + } + } + ZYAN_ASSERT(buffer); + if (uppercase) + { + buffer[n++] = "0123456789ABCDEF"[v]; + } else + { + buffer[n++] = "0123456789abcdef"[v]; + } + } + string->vector.size = len + n; + ZYDIS_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} +#endif + +ZyanStatus ZydisStringAppendHexU64(ZyanString* string, ZyanU64 value, ZyanU8 padding_length, + ZyanBool uppercase) +{ + ZYAN_ASSERT(string); + ZYAN_ASSERT(!string->vector.allocator); + + const ZyanUSize len = string->vector.size; + const ZyanUSize remaining = string->vector.capacity - string->vector.size; + + if (remaining < (ZyanUSize)padding_length) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + if (!value) + { + const ZyanU8 n = (padding_length ? padding_length : 1); + + if (remaining < (ZyanUSize)n) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + + ZYAN_MEMSET((char*)string->vector.data + len - 1, '0', n); + string->vector.size = len + n; + ZYDIS_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; + } + + ZyanU8 n = 0; + char* buffer = ZYAN_NULL; + for (ZyanI8 i = ((value & 0xFFFFFFFF00000000) ? + ZYDIS_MAXCHARS_HEX_64 : ZYDIS_MAXCHARS_HEX_32) - 1; i >= 0; --i) + { + const ZyanU8 v = (value >> i * 4) & 0x0F; + if (!n) + { + if (!v) + { + continue; + } + if (remaining <= (ZyanU8)i) + { + return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE; + } + buffer = (char*)string->vector.data + len - 1; + if (padding_length > i) + { + n = padding_length - i - 1; + ZYAN_MEMSET(buffer, '0', n); + } + } + ZYAN_ASSERT(buffer); + if (uppercase) + { + buffer[n++] = "0123456789ABCDEF"[v]; + } else + { + buffer[n++] = "0123456789abcdef"[v]; + } + } + string->vector.size = len + n; + ZYDIS_STRING_NULLTERMINATE(string); + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Public Functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Formatting */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisStringAppendDecU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length, + const ZyanStringView* prefix, const ZyanStringView* suffix) +{ + if (prefix) + { + ZYAN_CHECK(ZydisStringAppend(string, prefix)); + } + +#if defined(ZYAN_X64) || defined(ZYAN_AARCH64) + ZYAN_CHECK(ZydisStringAppendDecU64(string, value, padding_length)); +#else + if (value & 0xFFFFFFFF00000000) + { + ZYAN_CHECK(ZydisStringAppendDecU64(string, value, padding_length)); + } + ZYAN_CHECK(ZydisStringAppendDecU32(string, (ZyanU32)value, padding_length)); +#endif + + if (suffix) + { + return ZydisStringAppend(string, suffix); + } + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisStringAppendHexU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length, + ZyanBool uppercase, const ZyanStringView* prefix, const ZyanStringView* suffix) +{ + if (prefix) + { + ZYAN_CHECK(ZydisStringAppend(string, prefix)); + } + +#if defined(ZYAN_X64) || defined(ZYAN_AARCH64) + ZYAN_CHECK(ZydisStringAppendHexU64(string, value, padding_length, uppercase)); +#else + if (value & 0xFFFFFFFF00000000) + { + ZYAN_CHECK(ZydisStringAppendHexU64(string, value, padding_length, uppercase)); + } + else + { + ZYAN_CHECK(ZydisStringAppendHexU32(string, (ZyanU32)value, padding_length, uppercase)); + } +#endif + + if (suffix) + { + return ZydisStringAppend(string, suffix); + } + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/Utils.c b/externals/dynarmic/externals/zydis/src/Utils.c new file mode 100755 index 000000000..6c185b96e --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Utils.c @@ -0,0 +1,368 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Address calculation */ +/* ---------------------------------------------------------------------------------------------- */ + +// Signed integer overflow is expected behavior in this function, for wrapping around the +// instruction pointer on jumps right at the end of the address space. +ZYAN_NO_SANITIZE("signed-integer-overflow") +ZyanStatus ZydisCalcAbsoluteAddress(const ZydisDecodedInstruction* instruction, + const ZydisDecodedOperand* operand, ZyanU64 runtime_address, ZyanU64* result_address) +{ + if (!instruction || !operand || !result_address) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + switch (operand->type) + { + case ZYDIS_OPERAND_TYPE_MEMORY: + if (!operand->mem.disp.has_displacement) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if (operand->mem.base == ZYDIS_REGISTER_EIP) + { + *result_address = ((ZyanU32)runtime_address + instruction->length + + (ZyanU32)operand->mem.disp.value); + return ZYAN_STATUS_SUCCESS; + } + if (operand->mem.base == ZYDIS_REGISTER_RIP) + { + *result_address = (ZyanU64)(runtime_address + instruction->length + + operand->mem.disp.value); + return ZYAN_STATUS_SUCCESS; + } + if ((operand->mem.base == ZYDIS_REGISTER_NONE) && + (operand->mem.index == ZYDIS_REGISTER_NONE)) + { + switch (instruction->address_width) + { + case 16: + *result_address = (ZyanU64)operand->mem.disp.value & 0x000000000000FFFF; + return ZYAN_STATUS_SUCCESS; + case 32: + *result_address = (ZyanU64)operand->mem.disp.value & 0x00000000FFFFFFFF; + return ZYAN_STATUS_SUCCESS; + case 64: + *result_address = (ZyanU64)operand->mem.disp.value; + return ZYAN_STATUS_SUCCESS; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + } + break; + case ZYDIS_OPERAND_TYPE_IMMEDIATE: + if (operand->imm.is_signed && operand->imm.is_relative) + { + *result_address = (ZyanU64)((ZyanI64)runtime_address + instruction->length + + operand->imm.value.s); + switch (instruction->machine_mode) + { + case ZYDIS_MACHINE_MODE_LONG_COMPAT_16: + case ZYDIS_MACHINE_MODE_LEGACY_16: + case ZYDIS_MACHINE_MODE_REAL_16: + case ZYDIS_MACHINE_MODE_LONG_COMPAT_32: + case ZYDIS_MACHINE_MODE_LEGACY_32: + if (operand->size == 16) + { + *result_address &= 0xFFFF; + } + break; + case ZYDIS_MACHINE_MODE_LONG_64: + break; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } + return ZYAN_STATUS_SUCCESS; + } + break; + default: + break; + } + + return ZYAN_STATUS_INVALID_ARGUMENT; +} + +ZyanStatus ZydisCalcAbsoluteAddressEx(const ZydisDecodedInstruction* instruction, + const ZydisDecodedOperand* operand, ZyanU64 runtime_address, + const ZydisRegisterContext* register_context, ZyanU64* result_address) +{ + // TODO: Test this with AGEN/MIB operands + // TODO: Add support for Gather/Scatter instructions + + if (!instruction || !operand || !register_context || !result_address) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + if ((operand->type != ZYDIS_OPERAND_TYPE_MEMORY) || + ((operand->mem.base == ZYDIS_REGISTER_NONE) && + (operand->mem.index == ZYDIS_REGISTER_NONE)) || + (operand->mem.base == ZYDIS_REGISTER_EIP) || + (operand->mem.base == ZYDIS_REGISTER_RIP)) + { + return ZydisCalcAbsoluteAddress(instruction, operand, runtime_address, result_address); + } + + ZyanU64 value = operand->mem.disp.value; + if (operand->mem.base) + { + value += register_context->values[operand->mem.base]; + } + if (operand->mem.index) + { + value += register_context->values[operand->mem.index] * operand->mem.scale; + } + + switch (instruction->address_width) + { + case 16: + *result_address = value & 0x000000000000FFFF; + return ZYAN_STATUS_SUCCESS; + case 32: + *result_address = value & 0x00000000FFFFFFFF; + return ZYAN_STATUS_SUCCESS; + case 64: + *result_address = value; + return ZYAN_STATUS_SUCCESS; + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Accessed CPU flags */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisGetAccessedFlagsByAction(const ZydisDecodedInstruction* instruction, + ZydisCPUFlagAction action, ZydisCPUFlags* flags) +{ + if (!instruction || !flags) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *flags = 0; + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(instruction->accessed_flags); ++i) + { + if (instruction->accessed_flags[i].action == action) + { + *flags |= (1 << i); + } + } + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisGetAccessedFlagsRead(const ZydisDecodedInstruction* instruction, + ZydisCPUFlags* flags) +{ + if (!instruction || !flags) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *flags = instruction->cpu_flags_read; + + return ZYAN_STATUS_SUCCESS; +} + +ZyanStatus ZydisGetAccessedFlagsWritten(const ZydisDecodedInstruction* instruction, + ZydisCPUFlags* flags) +{ + if (!instruction || !flags) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + *flags = instruction->cpu_flags_written; + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Instruction segments */ +/* ---------------------------------------------------------------------------------------------- */ + +ZyanStatus ZydisGetInstructionSegments(const ZydisDecodedInstruction* instruction, + ZydisInstructionSegments* segments) +{ + if (!instruction || !segments) + { + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZYAN_MEMSET(segments, 0, sizeof(*segments)); + + // Legacy prefixes and `REX` + if (instruction->raw.prefix_count) + { + const ZyanU8 rex_offset = (instruction->attributes & ZYDIS_ATTRIB_HAS_REX) ? 1 : 0; + if (!rex_offset || (instruction->raw.prefix_count > 1)) + { + segments->segments[segments->count ].type = ZYDIS_INSTR_SEGMENT_PREFIXES; + segments->segments[segments->count ].offset = 0; + segments->segments[segments->count++].size = + instruction->raw.prefix_count - rex_offset; + } + if (rex_offset) + { + segments->segments[segments->count ].type = ZYDIS_INSTR_SEGMENT_REX; + segments->segments[segments->count ].offset = + instruction->raw.prefix_count - rex_offset; + segments->segments[segments->count++].size = 1; + } + } + + // Encoding prefixes + ZydisInstructionSegment segment_type = ZYDIS_INSTR_SEGMENT_NONE; + ZyanU8 segment_offset = 0; + ZyanU8 segment_size = 0; + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_XOP: + segment_type = ZYDIS_INSTR_SEGMENT_XOP; + segment_offset = instruction->raw.xop.offset; + segment_size = 3; + break; + case ZYDIS_INSTRUCTION_ENCODING_VEX: + segment_type = ZYDIS_INSTR_SEGMENT_VEX; + segment_offset = instruction->raw.vex.offset; + segment_size = instruction->raw.vex.size; + break; + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + segment_type = ZYDIS_INSTR_SEGMENT_EVEX; + segment_offset = instruction->raw.evex.offset; + segment_size = 4; + break; + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + segment_type = ZYDIS_INSTR_SEGMENT_MVEX; + segment_offset = instruction->raw.mvex.offset; + segment_size = 4; + break; + default: + break; + } + if (segment_type) + { + segments->segments[segments->count ].type = segment_type; + segments->segments[segments->count ].offset = segment_offset; + segments->segments[segments->count++].size = segment_size; + } + + // Opcode + segment_size = 1; + if ((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_LEGACY) || + (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_3DNOW)) + { + switch (instruction->opcode_map) + { + case ZYDIS_OPCODE_MAP_DEFAULT: + break; + case ZYDIS_OPCODE_MAP_0F: + ZYAN_FALLTHROUGH; + case ZYDIS_OPCODE_MAP_0F0F: + segment_size = 2; + break; + case ZYDIS_OPCODE_MAP_0F38: + ZYAN_FALLTHROUGH; + case ZYDIS_OPCODE_MAP_0F3A: + segment_size = 3; + break; + default: + ZYAN_UNREACHABLE; + } + } + segments->segments[segments->count ].type = ZYDIS_INSTR_SEGMENT_OPCODE; + if (segments->count) + { + segments->segments[segments->count].offset = + segments->segments[segments->count - 1].offset + + segments->segments[segments->count - 1].size; + } else + { + segments->segments[segments->count].offset = 0; + } + segments->segments[segments->count++].size = segment_size; + + // ModRM + if (instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM) + { + segments->segments[segments->count ].type = ZYDIS_INSTR_SEGMENT_MODRM; + segments->segments[segments->count ].offset = instruction->raw.modrm.offset; + segments->segments[segments->count++].size = 1; + } + + // SIB + if (instruction->attributes & ZYDIS_ATTRIB_HAS_SIB) + { + segments->segments[segments->count ].type = ZYDIS_INSTR_SEGMENT_SIB; + segments->segments[segments->count ].offset = instruction->raw.sib.offset; + segments->segments[segments->count++].size = 1; + } + + // Displacement + if (instruction->raw.disp.size) + { + segments->segments[segments->count ].type = ZYDIS_INSTR_SEGMENT_DISPLACEMENT; + segments->segments[segments->count ].offset = instruction->raw.disp.offset; + segments->segments[segments->count++].size = instruction->raw.disp.size / 8; + } + + // Immediates + for (ZyanU8 i = 0; i < 2; ++i) + { + if (instruction->raw.imm[i].size) + { + segments->segments[segments->count ].type = ZYDIS_INSTR_SEGMENT_IMMEDIATE; + segments->segments[segments->count ].offset = instruction->raw.imm[i].offset; + segments->segments[segments->count++].size = instruction->raw.imm[i].size / 8; + } + } + + if (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_3DNOW) + { + segments->segments[segments->count].type = ZYDIS_INSTR_SEGMENT_OPCODE; + segments->segments[segments->count].offset = instruction->length -1; + segments->segments[segments->count++].size = 1; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/src/Zydis.c b/externals/dynarmic/externals/zydis/src/Zydis.c new file mode 100755 index 000000000..bd670dd9e --- /dev/null +++ b/externals/dynarmic/externals/zydis/src/Zydis.c @@ -0,0 +1,73 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +#include + +/* ============================================================================================== */ +/* Exported functions */ +/* ============================================================================================== */ + +ZyanU64 ZydisGetVersion(void) +{ + return ZYDIS_VERSION; +} + +ZyanStatus ZydisIsFeatureEnabled(ZydisFeature feature) +{ + switch (feature) + { + case ZYDIS_FEATURE_DECODER: +#ifndef ZYDIS_DISABLE_DECODER + return ZYAN_STATUS_TRUE; +#else + return ZYAN_STATUS_FALSE; +#endif + case ZYDIS_FEATURE_FORMATTER: +#ifndef ZYDIS_DISABLE_FORMATTER + return ZYAN_STATUS_TRUE; +#else + return ZYAN_STATUS_FALSE; +#endif + case ZYDIS_FEATURE_AVX512: +#ifndef ZYDIS_DISABLE_AVX512 + return ZYAN_STATUS_TRUE; +#else + return ZYAN_STATUS_FALSE; +#endif + + case ZYDIS_FEATURE_KNC: +#ifndef ZYDIS_DISABLE_KNC + return ZYAN_STATUS_TRUE; +#else + return ZYAN_STATUS_FALSE; +#endif + + default: + return ZYAN_STATUS_INVALID_ARGUMENT; + } +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_000.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_000.in new file mode 100755 index 000000000..2b3b43a42 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_000.in @@ -0,0 +1 @@ +-64 0f0f3797 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_001.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_001.in new file mode 100755 index 000000000..52c7a7771 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_001.in @@ -0,0 +1 @@ +-64 0f0f93b3ee99f190 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_002.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_002.in new file mode 100755 index 000000000..c9eaabf0b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_002.in @@ -0,0 +1 @@ +-64 0f0f12a0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_003.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_003.in new file mode 100755 index 000000000..cf1a7ee59 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_003.in @@ -0,0 +1 @@ +-64 0f0fe2a4 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_004.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_004.in new file mode 100755 index 000000000..5c875cb91 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_004.in @@ -0,0 +1 @@ +-64 4f0f0f6f7ab7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_005.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_005.in new file mode 100755 index 000000000..0d6154fd1 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_005.in @@ -0,0 +1 @@ +-64 0f0fcdb7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_006.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_006.in new file mode 100755 index 000000000..30efaa116 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_006.in @@ -0,0 +1 @@ +-64 0f0ff590 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_007.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_007.in new file mode 100755 index 000000000..ff6df8503 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_007.in @@ -0,0 +1 @@ +-64 0f0fe996 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_008.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_008.in new file mode 100755 index 000000000..46499128e --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_008.in @@ -0,0 +1 @@ +-64 650f0fa84cc3abbf0d \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_009.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_009.in new file mode 100755 index 000000000..6071a5a20 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_009.in @@ -0,0 +1 @@ +-64 0f0fe1b4 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_010.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_010.in new file mode 100755 index 000000000..31e2caa49 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_010.in @@ -0,0 +1 @@ +-64 4df20f0f66c5b6 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_011.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_011.in new file mode 100755 index 000000000..a4bfd808a --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_011.in @@ -0,0 +1 @@ +-64 0f0faa0dfb21518a \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_012.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_012.in new file mode 100755 index 000000000..37926462d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_012.in @@ -0,0 +1 @@ +-64 0f0fb79a3e9b15a4 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_013.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_013.in new file mode 100755 index 000000000..c9ff5878e --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_013.in @@ -0,0 +1 @@ +-64 0f0f028e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_014.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_014.in new file mode 100755 index 000000000..bb897caef --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_014.in @@ -0,0 +1 @@ +-64 0f0f7866b0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_015.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_015.in new file mode 100755 index 000000000..c31558c49 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_015.in @@ -0,0 +1 @@ +-64 0f0f843181bcf6369a \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_016.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_016.in new file mode 100755 index 000000000..3664235d6 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_016.in @@ -0,0 +1 @@ +-64 0f0f03bf \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_017.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_017.in new file mode 100755 index 000000000..4467438ec --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_017.in @@ -0,0 +1 @@ +-64 0f0f1390 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_018.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_018.in new file mode 100755 index 000000000..af1c4eaea --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_018.in @@ -0,0 +1 @@ +-64 f3410f0f17b6 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_019.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_019.in new file mode 100755 index 000000000..e524ad510 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_019.in @@ -0,0 +1 @@ +-64 0f0fbbdf7cb74394 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_020.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_020.in new file mode 100755 index 000000000..9a20bf282 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_020.in @@ -0,0 +1 @@ +-64 0f0f8fc1bb4c8f96 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_021.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_021.in new file mode 100755 index 000000000..6904303b1 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_021.in @@ -0,0 +1 @@ +-64 0f0f97d4fd148aa6 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_022.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_022.in new file mode 100755 index 000000000..cd9556d8b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_022.in @@ -0,0 +1 @@ +-64 0f0feca0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_023.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_023.in new file mode 100755 index 000000000..48bf12b76 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_023.in @@ -0,0 +1 @@ +-64 0f0f92bac8415e1c \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/3dnow_024.in b/externals/dynarmic/externals/zydis/tests/cases/3dnow_024.in new file mode 100755 index 000000000..ebaf32a6f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/3dnow_024.in @@ -0,0 +1 @@ +-64 0f0fac4a7fe31afeaa \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_000.in b/externals/dynarmic/externals/zydis/tests/cases/default_000.in new file mode 100755 index 000000000..b795e8063 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_000.in @@ -0,0 +1 @@ +-64 26c9 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_001.in b/externals/dynarmic/externals/zydis/tests/cases/default_001.in new file mode 100755 index 000000000..48209c1dc --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_001.in @@ -0,0 +1 @@ +-64 a9a1ef165e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_002.in b/externals/dynarmic/externals/zydis/tests/cases/default_002.in new file mode 100755 index 000000000..996782d1b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_002.in @@ -0,0 +1 @@ +-64 3139 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_003.in b/externals/dynarmic/externals/zydis/tests/cases/default_003.in new file mode 100755 index 000000000..fa3b30238 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_003.in @@ -0,0 +1 @@ +-64 b7a7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_004.in b/externals/dynarmic/externals/zydis/tests/cases/default_004.in new file mode 100755 index 000000000..6b33e783a --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_004.in @@ -0,0 +1 @@ +-64 753e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_005.in b/externals/dynarmic/externals/zydis/tests/cases/default_005.in new file mode 100755 index 000000000..28036369e --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_005.in @@ -0,0 +1 @@ +-64 e396 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_006.in b/externals/dynarmic/externals/zydis/tests/cases/default_006.in new file mode 100755 index 000000000..b9fea2f75 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_006.in @@ -0,0 +1 @@ +-64 ba811a2f42 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_007.in b/externals/dynarmic/externals/zydis/tests/cases/default_007.in new file mode 100755 index 000000000..a8b0579d4 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_007.in @@ -0,0 +1 @@ +-64 af \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_008.in b/externals/dynarmic/externals/zydis/tests/cases/default_008.in new file mode 100755 index 000000000..803be724f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_008.in @@ -0,0 +1 @@ +-64 e16c \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_009.in b/externals/dynarmic/externals/zydis/tests/cases/default_009.in new file mode 100755 index 000000000..c9fc2941f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_009.in @@ -0,0 +1 @@ +-64 5c \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_010.in b/externals/dynarmic/externals/zydis/tests/cases/default_010.in new file mode 100755 index 000000000..5e1c707ac --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_010.in @@ -0,0 +1 @@ +-64 4f92 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_011.in b/externals/dynarmic/externals/zydis/tests/cases/default_011.in new file mode 100755 index 000000000..bbd950b16 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_011.in @@ -0,0 +1 @@ +-64 7414 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_012.in b/externals/dynarmic/externals/zydis/tests/cases/default_012.in new file mode 100755 index 000000000..9efa6b6ce --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_012.in @@ -0,0 +1 @@ +-64 c2e95d \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_013.in b/externals/dynarmic/externals/zydis/tests/cases/default_013.in new file mode 100755 index 000000000..c832d23d5 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_013.in @@ -0,0 +1 @@ +-64 7463 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_014.in b/externals/dynarmic/externals/zydis/tests/cases/default_014.in new file mode 100755 index 000000000..74280c2df --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_014.in @@ -0,0 +1 @@ +-64 0219 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_015.in b/externals/dynarmic/externals/zydis/tests/cases/default_015.in new file mode 100755 index 000000000..8a1976fef --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_015.in @@ -0,0 +1 @@ +-64 26df17 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_016.in b/externals/dynarmic/externals/zydis/tests/cases/default_016.in new file mode 100755 index 000000000..d7cf5c607 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_016.in @@ -0,0 +1 @@ +-64 d7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_017.in b/externals/dynarmic/externals/zydis/tests/cases/default_017.in new file mode 100755 index 000000000..8cb52b256 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_017.in @@ -0,0 +1 @@ +-64 50 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_018.in b/externals/dynarmic/externals/zydis/tests/cases/default_018.in new file mode 100755 index 000000000..c30cfb1ef --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_018.in @@ -0,0 +1 @@ +-64 09a76fe3101b \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_019.in b/externals/dynarmic/externals/zydis/tests/cases/default_019.in new file mode 100755 index 000000000..f6233fb59 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_019.in @@ -0,0 +1 @@ +-64 bb0110f111 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_020.in b/externals/dynarmic/externals/zydis/tests/cases/default_020.in new file mode 100755 index 000000000..f7b925c12 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_020.in @@ -0,0 +1 @@ +-64 5f \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_021.in b/externals/dynarmic/externals/zydis/tests/cases/default_021.in new file mode 100755 index 000000000..3793c3255 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_021.in @@ -0,0 +1 @@ +-64 a37b10a8c6e97a880f \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_022.in b/externals/dynarmic/externals/zydis/tests/cases/default_022.in new file mode 100755 index 000000000..488ca5452 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_022.in @@ -0,0 +1 @@ +-64 74b8 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_023.in b/externals/dynarmic/externals/zydis/tests/cases/default_023.in new file mode 100755 index 000000000..6e697b18d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_023.in @@ -0,0 +1 @@ +-64 9b \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/default_024.in b/externals/dynarmic/externals/zydis/tests/cases/default_024.in new file mode 100755 index 000000000..8d3216af6 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/default_024.in @@ -0,0 +1 @@ +-64 51 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_000.in b/externals/dynarmic/externals/zydis/tests/cases/evex_000.in new file mode 100755 index 000000000..900d47c22 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_000.in @@ -0,0 +1 @@ +-64 62d2cd2b147b4f \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_001.in b/externals/dynarmic/externals/zydis/tests/cases/evex_001.in new file mode 100755 index 000000000..45d3a4b36 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_001.in @@ -0,0 +1 @@ +-64 6223cd4f3a55e34f \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_002.in b/externals/dynarmic/externals/zydis/tests/cases/evex_002.in new file mode 100755 index 000000000..12521cbf3 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_002.in @@ -0,0 +1 @@ +-64 6211e55ffb3cb0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_003.in b/externals/dynarmic/externals/zydis/tests/cases/evex_003.in new file mode 100755 index 000000000..6a432004b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_003.in @@ -0,0 +1 @@ +-64 6202dd140d7c8fe4 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_004.in b/externals/dynarmic/externals/zydis/tests/cases/evex_004.in new file mode 100755 index 000000000..531dc256a --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_004.in @@ -0,0 +1 @@ +-64 62d29d432c16 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_005.in b/externals/dynarmic/externals/zydis/tests/cases/evex_005.in new file mode 100755 index 000000000..501f2d12a --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_005.in @@ -0,0 +1 @@ +-64 6292fd48aed6 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_006.in b/externals/dynarmic/externals/zydis/tests/cases/evex_006.in new file mode 100755 index 000000000..7ed7db1b2 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_006.in @@ -0,0 +1 @@ +-64 62b12541747806 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_007.in b/externals/dynarmic/externals/zydis/tests/cases/evex_007.in new file mode 100755 index 000000000..654426b1a --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_007.in @@ -0,0 +1 @@ +-64 62b1b5dbc62227 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_008.in b/externals/dynarmic/externals/zydis/tests/cases/evex_008.in new file mode 100755 index 000000000..7b69b1e76 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_008.in @@ -0,0 +1 @@ +-64 6201758ed57993 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_009.in b/externals/dynarmic/externals/zydis/tests/cases/evex_009.in new file mode 100755 index 000000000..949bad066 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_009.in @@ -0,0 +1 @@ +-64 62a2c50343c7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_010.in b/externals/dynarmic/externals/zydis/tests/cases/evex_010.in new file mode 100755 index 000000000..301fd6813 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_010.in @@ -0,0 +1 @@ +-64 62b28dc99eaf3d073e05 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_011.in b/externals/dynarmic/externals/zydis/tests/cases/evex_011.in new file mode 100755 index 000000000..cfb4aeac6 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_011.in @@ -0,0 +1 @@ +-64 62526513452b \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_012.in b/externals/dynarmic/externals/zydis/tests/cases/evex_012.in new file mode 100755 index 000000000..e6dcdda32 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_012.in @@ -0,0 +1 @@ +-64 62416d82687291 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_013.in b/externals/dynarmic/externals/zydis/tests/cases/evex_013.in new file mode 100755 index 000000000..41f61dd08 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_013.in @@ -0,0 +1 @@ +-64 62016dc2e15cd55e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_014.in b/externals/dynarmic/externals/zydis/tests/cases/evex_014.in new file mode 100755 index 000000000..21efccf6d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_014.in @@ -0,0 +1 @@ +-64 62821d1c9bd3 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_015.in b/externals/dynarmic/externals/zydis/tests/cases/evex_015.in new file mode 100755 index 000000000..7e7ef755c --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_015.in @@ -0,0 +1 @@ +-64 62e20545764136 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_016.in b/externals/dynarmic/externals/zydis/tests/cases/evex_016.in new file mode 100755 index 000000000..47a417ffb --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_016.in @@ -0,0 +1 @@ +-64 62f1751e76a5df8f5c88 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_017.in b/externals/dynarmic/externals/zydis/tests/cases/evex_017.in new file mode 100755 index 000000000..4839bb954 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_017.in @@ -0,0 +1 @@ +-64 6251b54167c7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_018.in b/externals/dynarmic/externals/zydis/tests/cases/evex_018.in new file mode 100755 index 000000000..d542e2d2a --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_018.in @@ -0,0 +1 @@ +-64 62627ecc11e9 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_019.in b/externals/dynarmic/externals/zydis/tests/cases/evex_019.in new file mode 100755 index 000000000..9ae1aa833 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_019.in @@ -0,0 +1 @@ +-64 62413da1608e355e7a8e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_020.in b/externals/dynarmic/externals/zydis/tests/cases/evex_020.in new file mode 100755 index 000000000..0d5690e18 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_020.in @@ -0,0 +1 @@ +-64 621155bddbb112f8157b \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_021.in b/externals/dynarmic/externals/zydis/tests/cases/evex_021.in new file mode 100755 index 000000000..2c30ce89f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_021.in @@ -0,0 +1 @@ +-64 6253cda150f078 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_022.in b/externals/dynarmic/externals/zydis/tests/cases/evex_022.in new file mode 100755 index 000000000..e38c7952e --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_022.in @@ -0,0 +1 @@ +-64 62420dba7722 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_023.in b/externals/dynarmic/externals/zydis/tests/cases/evex_023.in new file mode 100755 index 000000000..aedb3225b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_023.in @@ -0,0 +1 @@ +-64 62b1cf4758eb \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/evex_024.in b/externals/dynarmic/externals/zydis/tests/cases/evex_024.in new file mode 100755 index 000000000..c7b49fdfd --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/evex_024.in @@ -0,0 +1 @@ +-64 6233558a0a614788 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_000.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_000.in new file mode 100755 index 000000000..844cf70f4 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_000.in @@ -0,0 +1 @@ +-64 627271ac45cf \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_001.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_001.in new file mode 100755 index 000000000..ea9fdc579 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_001.in @@ -0,0 +1 @@ +-64 62c2e9159a19 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_002.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_002.in new file mode 100755 index 000000000..54f679218 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_002.in @@ -0,0 +1 @@ +-64 6262191eb530 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_003.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_003.in new file mode 100755 index 000000000..0d454d99c --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_003.in @@ -0,0 +1 @@ +-64 6251680c59f4 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_004.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_004.in new file mode 100755 index 000000000..0f3efad73 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_004.in @@ -0,0 +1 @@ +-64 6202719d9a528f \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_005.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_005.in new file mode 100755 index 000000000..546808beb --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_005.in @@ -0,0 +1 @@ +-64 62a149fadb8ce932280891 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_006.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_006.in new file mode 100755 index 000000000..b910b39fa --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_006.in @@ -0,0 +1 @@ +-64 6272891fbcf5 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_007.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_007.in new file mode 100755 index 000000000..68455db46 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_007.in @@ -0,0 +1 @@ +-64 620241c46530 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_008.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_008.in new file mode 100755 index 000000000..ea4f6d482 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_008.in @@ -0,0 +1 @@ +-64 6222794b3f56a7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_009.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_009.in new file mode 100755 index 000000000..2efe8bb7a --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_009.in @@ -0,0 +1 @@ +-64 6272593eae37 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_010.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_010.in new file mode 100755 index 000000000..a31dda829 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_010.in @@ -0,0 +1 @@ +-64 62e16126fa457b \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_011.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_011.in new file mode 100755 index 000000000..3d2548aa0 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_011.in @@ -0,0 +1 @@ +-64 6202b120526c83be \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_012.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_012.in new file mode 100755 index 000000000..f060ba493 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_012.in @@ -0,0 +1 @@ +-64 6202013ecc7ec5 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_013.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_013.in new file mode 100755 index 000000000..9e8293042 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_013.in @@ -0,0 +1 @@ +-64 62c2392d3b83c176fcab \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_014.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_014.in new file mode 100755 index 000000000..dcebcd922 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_014.in @@ -0,0 +1 @@ +-64 62d261b2b5fe \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_015.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_015.in new file mode 100755 index 000000000..6eb273c5e --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_015.in @@ -0,0 +1 @@ +-64 625201719ae0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_016.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_016.in new file mode 100755 index 000000000..e4af64077 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_016.in @@ -0,0 +1 @@ +-64 629168cfc2a34446843069 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_017.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_017.in new file mode 100755 index 000000000..be3249de2 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_017.in @@ -0,0 +1 @@ +-64 62f2f12dbe6f9e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_018.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_018.in new file mode 100755 index 000000000..d1e85124b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_018.in @@ -0,0 +1 @@ +-64 43656212414dcc14e0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_019.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_019.in new file mode 100755 index 000000000..5df088248 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_019.in @@ -0,0 +1 @@ +-64 62d261b2b4f8 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_020.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_020.in new file mode 100755 index 000000000..edcb7852d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_020.in @@ -0,0 +1 @@ +-64 6262c1a1b880716ff709 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_021.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_021.in new file mode 100755 index 000000000..f09316eb3 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_021.in @@ -0,0 +1 @@ +-64 62c2690f3d81bbade34d \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_022.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_022.in new file mode 100755 index 000000000..38b98ec10 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_022.in @@ -0,0 +1 @@ +-64 62e23915cdf2 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_023.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_023.in new file mode 100755 index 000000000..21cbfc42c --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_023.in @@ -0,0 +1 @@ +-64 628279f065a7701808b4 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/mvex_024.in b/externals/dynarmic/externals/zydis/tests/cases/mvex_024.in new file mode 100755 index 000000000..065302b9f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/mvex_024.in @@ -0,0 +1 @@ +-64 62e1612bdbd3 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_000.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_000.in new file mode 100755 index 000000000..9a8a1b03f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_000.in @@ -0,0 +1 @@ +-64 c46259cf4f5d \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_001.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_001.in new file mode 100755 index 000000000..d660e57a5 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_001.in @@ -0,0 +1 @@ +-64 c4c1057466fd \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_002.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_002.in new file mode 100755 index 000000000..992822cae --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_002.in @@ -0,0 +1 @@ +-64 c4a3057c33e5 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_003.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_003.in new file mode 100755 index 000000000..ba704c052 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_003.in @@ -0,0 +1 @@ +-64 c483b57b08f7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_004.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_004.in new file mode 100755 index 000000000..78eca028d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_004.in @@ -0,0 +1 @@ +-64 c44189dc4ee8 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_005.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_005.in new file mode 100755 index 000000000..de7fcfaff --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_005.in @@ -0,0 +1 @@ +-64 c4022d3b556a \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_006.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_006.in new file mode 100755 index 000000000..248acb92b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_006.in @@ -0,0 +1 @@ +-64 c4423d9b80c446bea0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_007.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_007.in new file mode 100755 index 000000000..fa7899fe1 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_007.in @@ -0,0 +1 @@ +-64 c421f56d1cfdfdc6fcd7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_008.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_008.in new file mode 100755 index 000000000..e3e5357f3 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_008.in @@ -0,0 +1 @@ +-64 c4e2c9aa38 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_009.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_009.in new file mode 100755 index 000000000..9d5ff0b99 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_009.in @@ -0,0 +1 @@ +-64 c4214d624562 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_010.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_010.in new file mode 100755 index 000000000..f710bd01d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_010.in @@ -0,0 +1 @@ +-64 c443fd09263e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_011.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_011.in new file mode 100755 index 000000000..89dc9e323 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_011.in @@ -0,0 +1 @@ +-64 c482192e54e0b7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_012.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_012.in new file mode 100755 index 000000000..7ecc08947 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_012.in @@ -0,0 +1 @@ +-64 c44175572490 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_013.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_013.in new file mode 100755 index 000000000..aa0484178 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_013.in @@ -0,0 +1 @@ +-64 c481a0124058 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_014.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_014.in new file mode 100755 index 000000000..4d5166cf1 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_014.in @@ -0,0 +1 @@ +-64 c4825d977a50 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_015.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_015.in new file mode 100755 index 000000000..337326c65 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_015.in @@ -0,0 +1 @@ +-64 c441b1e995c8ff9af7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_016.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_016.in new file mode 100755 index 000000000..a7fa6f9da --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_016.in @@ -0,0 +1 @@ +-64 c4c171ebd3 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_017.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_017.in new file mode 100755 index 000000000..d79bc6bec --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_017.in @@ -0,0 +1 @@ +-64 c4a161667910 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_018.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_018.in new file mode 100755 index 000000000..f8b1ff93d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_018.in @@ -0,0 +1 @@ +-64 c423590be6ae \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_019.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_019.in new file mode 100755 index 000000000..e831e3ec2 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_019.in @@ -0,0 +1 @@ +-64 c4c18a527ea2 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_020.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_020.in new file mode 100755 index 000000000..97849245f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_020.in @@ -0,0 +1 @@ +-64 c4a2f3f6f8 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_021.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_021.in new file mode 100755 index 000000000..d043ccc02 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_021.in @@ -0,0 +1 @@ +-64 c42109fe07 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_022.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_022.in new file mode 100755 index 000000000..9023d970f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_022.in @@ -0,0 +1 @@ +-64 c482a2f7cc \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_023.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_023.in new file mode 100755 index 000000000..872a4c764 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_023.in @@ -0,0 +1 @@ +-64 c461ed5dc3 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc4_024.in b/externals/dynarmic/externals/zydis/tests/cases/vexc4_024.in new file mode 100755 index 000000000..19e1c2edd --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc4_024.in @@ -0,0 +1 @@ +-64 c4a121e4c1 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_000.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_000.in new file mode 100755 index 000000000..16e0445ec --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_000.in @@ -0,0 +1 @@ +-64 c535f4c0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_001.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_001.in new file mode 100755 index 000000000..bb6815c52 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_001.in @@ -0,0 +1 @@ +-64 c539e5f7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_002.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_002.in new file mode 100755 index 000000000..47187c16b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_002.in @@ -0,0 +1 @@ +-64 c57e2ce0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_003.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_003.in new file mode 100755 index 000000000..5b0295b86 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_003.in @@ -0,0 +1 @@ +-64 c5fe53759e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_004.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_004.in new file mode 100755 index 000000000..99943607d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_004.in @@ -0,0 +1 @@ +-64 c561debc1366d60000 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_005.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_005.in new file mode 100755 index 000000000..9197c03a8 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_005.in @@ -0,0 +1 @@ +-64 c5b012b8511784b0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_006.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_006.in new file mode 100755 index 000000000..74e1517dd --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_006.in @@ -0,0 +1 @@ +-64 c57e10878f5dad3f \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_007.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_007.in new file mode 100755 index 000000000..75b4291af --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_007.in @@ -0,0 +1 @@ +-64 c541c475aa5d \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_008.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_008.in new file mode 100755 index 000000000..ff874436b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_008.in @@ -0,0 +1 @@ +-64 c559dc0d3aa20f89 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_009.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_009.in new file mode 100755 index 000000000..806941618 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_009.in @@ -0,0 +1 @@ +-64 c595f26b43 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_010.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_010.in new file mode 100755 index 000000000..b3441f08e --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_010.in @@ -0,0 +1 @@ +-64 c5162a983cb6831e \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_011.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_011.in new file mode 100755 index 000000000..804d7a2bb --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_011.in @@ -0,0 +1 @@ +-64 65c5ec84e37cfe42 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_012.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_012.in new file mode 100755 index 000000000..663e4f18b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_012.in @@ -0,0 +1 @@ +-64 c565d9b17c549235 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_013.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_013.in new file mode 100755 index 000000000..57af30aed --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_013.in @@ -0,0 +1 @@ +-64 c5457436 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_014.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_014.in new file mode 100755 index 000000000..e9b91e873 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_014.in @@ -0,0 +1 @@ +-64 c5ec14913042ae34 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_015.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_015.in new file mode 100755 index 000000000..e830e5f7e --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_015.in @@ -0,0 +1 @@ +-64 c5e45f18 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_016.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_016.in new file mode 100755 index 000000000..bd7d98bbe --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_016.in @@ -0,0 +1 @@ +-64 c5a9dd3a \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_017.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_017.in new file mode 100755 index 000000000..ec2b2e852 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_017.in @@ -0,0 +1 @@ +-64 c513589b8db5b5fd \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_018.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_018.in new file mode 100755 index 000000000..4c7bb51f6 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_018.in @@ -0,0 +1 @@ +-64 c50dd5e6 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_019.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_019.in new file mode 100755 index 000000000..72a12b9c1 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_019.in @@ -0,0 +1 @@ +-64 c5c5db6d07 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_020.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_020.in new file mode 100755 index 000000000..f3eca0a6f --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_020.in @@ -0,0 +1 @@ +-64 c531eb1a \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_021.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_021.in new file mode 100755 index 000000000..493640c2b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_021.in @@ -0,0 +1 @@ +-64 c54962760c \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_022.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_022.in new file mode 100755 index 000000000..8099356dd --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_022.in @@ -0,0 +1 @@ +-64 c549fdd8 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_023.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_023.in new file mode 100755 index 000000000..b2ad0c83e --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_023.in @@ -0,0 +1 @@ +-64 c5eb590411 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/vexc5_024.in b/externals/dynarmic/externals/zydis/tests/cases/vexc5_024.in new file mode 100755 index 000000000..cb3a7c679 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/vexc5_024.in @@ -0,0 +1 @@ +-64 c5d45eaeebda88be \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_000.in b/externals/dynarmic/externals/zydis/tests/cases/xop_000.in new file mode 100755 index 000000000..9dc568677 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_000.in @@ -0,0 +1 @@ +-64 8fe860ef4e3dc0 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_001.in b/externals/dynarmic/externals/zydis/tests/cases/xop_001.in new file mode 100755 index 000000000..2ced2d506 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_001.in @@ -0,0 +1 @@ +-64 8f49889500 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_002.in b/externals/dynarmic/externals/zydis/tests/cases/xop_002.in new file mode 100755 index 000000000..4862a5bdc --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_002.in @@ -0,0 +1 @@ +-64 8f69d89919 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_003.in b/externals/dynarmic/externals/zydis/tests/cases/xop_003.in new file mode 100755 index 000000000..eb2b34891 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_003.in @@ -0,0 +1 @@ +-64 8f0868a6c023 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_004.in b/externals/dynarmic/externals/zydis/tests/cases/xop_004.in new file mode 100755 index 000000000..3677a21ac --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_004.in @@ -0,0 +1 @@ +-64 8f68589f761c1a \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_005.in b/externals/dynarmic/externals/zydis/tests/cases/xop_005.in new file mode 100755 index 000000000..8a7f52e05 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_005.in @@ -0,0 +1 @@ +-64 8f8828a2125a \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_006.in b/externals/dynarmic/externals/zydis/tests/cases/xop_006.in new file mode 100755 index 000000000..332a02ce8 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_006.in @@ -0,0 +1 @@ +-64 8f08408eb34ece0a0d0d \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_007.in b/externals/dynarmic/externals/zydis/tests/cases/xop_007.in new file mode 100755 index 000000000..d863aa4d9 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_007.in @@ -0,0 +1 @@ +-64 8f88008ef1d3 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_008.in b/externals/dynarmic/externals/zydis/tests/cases/xop_008.in new file mode 100755 index 000000000..f5d92d3db --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_008.in @@ -0,0 +1 @@ +-64 8f69d8952c30 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_009.in b/externals/dynarmic/externals/zydis/tests/cases/xop_009.in new file mode 100755 index 000000000..11262a408 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_009.in @@ -0,0 +1 @@ +-64 8f49089b5dd5 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_010.in b/externals/dynarmic/externals/zydis/tests/cases/xop_010.in new file mode 100755 index 000000000..253371557 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_010.in @@ -0,0 +1 @@ +-64 8fa9f89bf3 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_011.in b/externals/dynarmic/externals/zydis/tests/cases/xop_011.in new file mode 100755 index 000000000..1bc8c560b --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_011.in @@ -0,0 +1 @@ +-64 8f8878c2868031ee390a \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_012.in b/externals/dynarmic/externals/zydis/tests/cases/xop_012.in new file mode 100755 index 000000000..698c5ec5a --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_012.in @@ -0,0 +1 @@ +-64 8fa870ce822f3a96fb93 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_013.in b/externals/dynarmic/externals/zydis/tests/cases/xop_013.in new file mode 100755 index 000000000..70d338554 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_013.in @@ -0,0 +1 @@ +-64 8fa9789a764c \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_014.in b/externals/dynarmic/externals/zydis/tests/cases/xop_014.in new file mode 100755 index 000000000..d1a8f7620 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_014.in @@ -0,0 +1 @@ +-64 8f6850cfa16cb87f15c1 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_015.in b/externals/dynarmic/externals/zydis/tests/cases/xop_015.in new file mode 100755 index 000000000..7821ac7f8 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_015.in @@ -0,0 +1 @@ +-64 8f096895255f5c16c9 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_016.in b/externals/dynarmic/externals/zydis/tests/cases/xop_016.in new file mode 100755 index 000000000..3fd0ce3c9 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_016.in @@ -0,0 +1 @@ +-64 8fa9f89126 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_017.in b/externals/dynarmic/externals/zydis/tests/cases/xop_017.in new file mode 100755 index 000000000..b97db2b58 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_017.in @@ -0,0 +1 @@ +-64 8fc840ce3113 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_018.in b/externals/dynarmic/externals/zydis/tests/cases/xop_018.in new file mode 100755 index 000000000..05d9a0cf0 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_018.in @@ -0,0 +1 @@ +-64 8f0830ed09ec \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_019.in b/externals/dynarmic/externals/zydis/tests/cases/xop_019.in new file mode 100755 index 000000000..d03a726a2 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_019.in @@ -0,0 +1 @@ +-64 8f293892e1 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_020.in b/externals/dynarmic/externals/zydis/tests/cases/xop_020.in new file mode 100755 index 000000000..69efd3cbb --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_020.in @@ -0,0 +1 @@ +-64 8fe8308f26ed \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_021.in b/externals/dynarmic/externals/zydis/tests/cases/xop_021.in new file mode 100755 index 000000000..9bc7e4509 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_021.in @@ -0,0 +1 @@ +-64 8f2800eeb2f0060149fa \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_022.in b/externals/dynarmic/externals/zydis/tests/cases/xop_022.in new file mode 100755 index 000000000..26f399ffb --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_022.in @@ -0,0 +1 @@ +-64 8f498899e7 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_023.in b/externals/dynarmic/externals/zydis/tests/cases/xop_023.in new file mode 100755 index 000000000..cc1172a17 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_023.in @@ -0,0 +1 @@ +-64 8f8870eebea16e55a6d3 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/cases/xop_024.in b/externals/dynarmic/externals/zydis/tests/cases/xop_024.in new file mode 100755 index 000000000..61b094335 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/cases/xop_024.in @@ -0,0 +1 @@ +-64 8f68308f3c0998 \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tests/regression.py b/externals/dynarmic/externals/zydis/tests/regression.py new file mode 100755 index 000000000..efd0e74ca --- /dev/null +++ b/externals/dynarmic/externals/zydis/tests/regression.py @@ -0,0 +1,72 @@ +import os +import sys +import shlex +import argparse +import difflib + +from subprocess import Popen, PIPE + +TEST_CASE_DIRECTORY = "./cases" + +def get_exitcode_stdout_stderr(cmd): + """ + Executes an external command and returns the exitcode, stdout and stderr. + """ + args = shlex.split(cmd) + + proc = Popen(args, stdout=PIPE, stderr=PIPE) + out, err = proc.communicate() + exitcode = proc.returncode + + return exitcode, out, err + +parser = argparse.ArgumentParser(description="Regression testing.") +parser.add_argument(dest="operation", choices=["test", "rebase"]) +parser.add_argument(dest="zydis_info_path", type=str) +args = parser.parse_args() + +has_failed = False + +for case in os.listdir(TEST_CASE_DIRECTORY): + if not case.endswith(".in"): + continue + + path = os.path.join(TEST_CASE_DIRECTORY, case) + print(path) + + with open(path, mode="r") as f: + payload = f.read() + + exitcode, out, err = get_exitcode_stdout_stderr(f"{args.zydis_info_path} {payload}") + + pre, ext = os.path.splitext(case) + path = os.path.join(TEST_CASE_DIRECTORY, pre + ".out") + + if args.operation == "rebase": + with open(path, mode="wb") as f: + f.write(out) + continue + + try: + with open(path, mode="rb") as f: + expected = f.read() + + if expected != out: + print(f"FAILED: '{case}' [{payload}]") + print('\n'.join(difflib.unified_diff( + expected.decode().split('\n'), + out.decode().split('\n'), + fromfile='expected', + tofile='got', + ))) + has_failed = True + except FileNotFoundError: + print(f"FAILED: '{case}' [Output file missing]") + has_failed = True + +if has_failed: + print("\nSOME TESTS FAILED.") + sys.exit(-1) +else: + print("\nALL TESTS PASSED.") + sys.exit(0) \ No newline at end of file diff --git a/externals/dynarmic/externals/zydis/tools/ZydisDisasm.c b/externals/dynarmic/externals/zydis/tools/ZydisDisasm.c new file mode 100755 index 000000000..489fb3567 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tools/ZydisDisasm.c @@ -0,0 +1,162 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd, Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Reads a byte-stream from a file or the `stdin` pipe and prints a textual + * representation of the decoded data. + */ + +#include +#include +#include + +#ifdef ZYAN_WINDOWS +# include +# include +#endif + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(int argc, char** argv) +{ + if (ZydisGetVersion() != ZYDIS_VERSION) + { + ZYAN_FPUTS("Invalid zydis version\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + + if (argc < 2 || argc > 3) + { + ZYAN_FPRINTF(ZYAN_STDERR, "Usage: %s -[real|16|32|64] [input file]\n", + (argc > 0 ? argv[0] : "ZydisDisasm")); + return EXIT_FAILURE; + } + + ZydisDecoder decoder; + if (!ZYAN_STRCMP(argv[1], "-real")) + { + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_REAL_16, ZYDIS_ADDRESS_WIDTH_16); + } else + if (!ZYAN_STRCMP(argv[1], "-16")) + { + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_COMPAT_16, ZYDIS_ADDRESS_WIDTH_16); + } else + if (!ZYAN_STRCMP(argv[1], "-32")) + { + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_COMPAT_32, ZYDIS_ADDRESS_WIDTH_32); + } else + if (!ZYAN_STRCMP(argv[1], "-64")) + { + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64); + } else + { + ZYAN_FPRINTF(ZYAN_STDERR, "Usage: %s -[real|16|32|64] [input file]\n", + (argc > 0 ? argv[0] : "ZydisDisasm")); + return EXIT_FAILURE; + } + + FILE* file = (argc >= 3) ? fopen(argv[2], "rb") : ZYAN_STDIN; + if (!file) + { + ZYAN_FPRINTF(ZYAN_STDERR, "Can not open file: %s\n", strerror(ZYAN_ERRNO)); + return EXIT_FAILURE; + } +#ifdef ZYAN_WINDOWS + // The `stdin` pipe uses text-mode on Windows platforms by default. We need it to be opened in + // binary mode + if (file == ZYAN_STDIN) + { + _setmode(_fileno(ZYAN_STDIN), _O_BINARY); + } +#endif + + ZydisFormatter formatter; + if (!ZYAN_SUCCESS(ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL)) || + !ZYAN_SUCCESS(ZydisFormatterSetProperty(&formatter, + ZYDIS_FORMATTER_PROP_FORCE_SEGMENT, ZYAN_TRUE)) || + !ZYAN_SUCCESS(ZydisFormatterSetProperty(&formatter, + ZYDIS_FORMATTER_PROP_FORCE_SIZE, ZYAN_TRUE))) + { + ZYAN_FPUTS("Failed to initialized instruction-formatter\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + + ZyanU8 buffer[1024]; + ZyanUSize buffer_size; + ZyanUSize buffer_remaining = 0; + ZyanUSize read_offset_base = 0; + do + { + buffer_size = fread(buffer + buffer_remaining, 1, sizeof(buffer) - buffer_remaining, file); + if (buffer_size != (sizeof(buffer) - buffer_remaining)) + { + if (ferror(file)) + { + return EXIT_FAILURE; + } + ZYAN_ASSERT(feof(file)); + } + buffer_size += buffer_remaining; + + ZydisDecodedInstruction instruction; + ZyanStatus status; + ZyanUSize read_offset = 0; + char format_buffer[256]; + + while ((status = ZydisDecoderDecodeBuffer(&decoder, buffer + read_offset, + buffer_size - read_offset, &instruction)) != ZYDIS_STATUS_NO_MORE_DATA) + { + const ZyanU64 runtime_address = read_offset_base + read_offset; + + if (!ZYAN_SUCCESS(status)) + { + ZYAN_PRINTF("db %02X\n", buffer[read_offset++]); + continue; + } + + ZydisFormatterFormatInstruction(&formatter, &instruction, format_buffer, + sizeof(format_buffer), runtime_address); + ZYAN_PUTS(format_buffer); + + read_offset += instruction.length; + } + + buffer_remaining = 0; + if (read_offset < sizeof(buffer)) + { + buffer_remaining = sizeof(buffer) - read_offset; + memmove(buffer, buffer + read_offset, buffer_remaining); + } + read_offset_base += read_offset; + } while (buffer_size == sizeof(buffer)); + + return EXIT_SUCCESS; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/tools/ZydisFuzzIn.c b/externals/dynarmic/externals/zydis/tools/ZydisFuzzIn.c new file mode 100755 index 000000000..736b139b0 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tools/ZydisFuzzIn.c @@ -0,0 +1,330 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Joel Hoener + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +// NOTE: This file must be valid C AND C++ as well for OSS-Fuzz! + +/** + * @file + * + * This file implements a tool that is supposed to be fed as input for fuzzers like AFL, reading a + * control block from `stdin`, allowing the fuzzer to reach every possible code-path, testing any + * possible combination of disassembler configurations. + */ + +#include +#include +#include + +#ifdef ZYAN_WINDOWS +# include +# include +#endif + +/* ============================================================================================== */ +/* Enums and types */ +/* ============================================================================================== */ + +/** + * Main fuzzer control block data structure. + */ +typedef struct ZydisFuzzControlBlock_ +{ + ZydisMachineMode machine_mode; + ZydisAddressWidth address_width; + ZyanBool decoder_mode[ZYDIS_DECODER_MODE_MAX_VALUE + 1]; + ZydisFormatterStyle formatter_style; + ZyanU64 u64; // u64 used for all kind of non-overlapping purposes + ZyanUPointer formatter_properties[ZYDIS_FORMATTER_PROP_MAX_VALUE + 1]; + char string[16]; + ZyanU16 formatter_max_len; +} ZydisFuzzControlBlock; + +/* ============================================================================================== */ +/* Macros */ +/* ============================================================================================== */ + +// Limit maximum amount of bytes +#define ZYDIS_FUZZ_MAX_BYTES (1024 * 10 /* 10 KiB */) + +#if defined(ZYDIS_FUZZ_AFL_FAST) || defined(ZYDIS_LIBFUZZER) +# define ZYDIS_MAYBE_FPUTS(x, y) +#else +# define ZYDIS_MAYBE_FPUTS(x, y) fputs(x, y) +#endif + +/* ============================================================================================== */ +/* Stream reading abstraction */ +/* ============================================================================================== */ + +typedef ZyanUSize (*ZydisStreamRead)(void* ctx, ZyanU8* buf, ZyanUSize max_len); + +ZyanUSize ZydisStdinRead(void *ctx, ZyanU8* buf, ZyanUSize max_len) +{ + ZYAN_UNUSED(ctx); + return fread(buf, 1, max_len, ZYAN_STDIN); +} + +#ifdef ZYDIS_LIBFUZZER +typedef struct +{ + ZyanU8 *buf; + ZyanISize buf_len; + ZyanISize read_offs; +} ZydisLibFuzzerContext; + +ZyanUSize ZydisLibFuzzerRead(void* ctx, ZyanU8* buf, ZyanUSize max_len) +{ + ZydisLibFuzzerContext* c = (ZydisLibFuzzerContext*)ctx; + ZyanUSize len = ZYAN_MIN(c->buf_len - c->read_offs, max_len); + // printf("buf_len: %ld, read_offs: %ld, len: %ld, max_len: %ld, ptr: %p\n", + // c->buf_len, c->read_offs, len, max_len, c->buf + c->read_offs); + if (!len) + { + return 0; + } + ZYAN_MEMCPY(buf, c->buf + c->read_offs, len); + c->read_offs += len; + return len; +} +#endif // ZYDIS_LIBFUZZER + +/* ============================================================================================== */ +/* Main iteration */ +/* ============================================================================================== */ + +// We disable enum sanitization here because we actually want Zydis to be tested with +// possibly invalid enum values in mind, thus need to be able to create them here. +ZYAN_NO_SANITIZE("enum") +static int ZydisFuzzIteration(ZydisStreamRead read_fn, void* stream_ctx) +{ + ZydisFuzzControlBlock control_block; + +#ifdef ZYAN_WINDOWS + // The `stdin` pipe uses text-mode on Windows platforms by default. We need it to be opened in + // binary mode + (void)_setmode(_fileno(ZYAN_STDIN), _O_BINARY); +#endif + + if (read_fn( + stream_ctx, (ZyanU8*)&control_block, sizeof(control_block)) != sizeof(control_block)) + { + ZYDIS_MAYBE_FPUTS("Not enough bytes to fuzz\n", ZYAN_STDERR); + return EXIT_SUCCESS; + } + control_block.string[ZYAN_ARRAY_LENGTH(control_block.string) - 1] = 0; + + ZydisDecoder decoder; + if (!ZYAN_SUCCESS(ZydisDecoderInit(&decoder, control_block.machine_mode, + control_block.address_width))) + { + ZYDIS_MAYBE_FPUTS("Failed to initialize decoder\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + for (int mode = 0; mode <= ZYDIS_DECODER_MODE_MAX_VALUE; ++mode) + { + if (!ZYAN_SUCCESS(ZydisDecoderEnableMode(&decoder, (ZydisDecoderMode)mode, + control_block.decoder_mode[mode] ? 1 : 0))) + { + ZYDIS_MAYBE_FPUTS("Failed to adjust decoder-mode\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + } + + ZydisFormatter formatter; + if (!ZYAN_SUCCESS(ZydisFormatterInit(&formatter, control_block.formatter_style))) + { + ZYDIS_MAYBE_FPUTS("Failed to initialize formatter\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + for (int prop = 0; prop <= ZYDIS_FORMATTER_PROP_MAX_VALUE; ++prop) + { + switch (prop) + { + case ZYDIS_FORMATTER_PROP_DEC_PREFIX: + case ZYDIS_FORMATTER_PROP_DEC_SUFFIX: + case ZYDIS_FORMATTER_PROP_HEX_PREFIX: + case ZYDIS_FORMATTER_PROP_HEX_SUFFIX: + control_block.formatter_properties[prop] = + control_block.formatter_properties[prop] ? (ZyanUPointer)&control_block.string : 0; + break; + default: + break; + } + if (!ZYAN_SUCCESS(ZydisFormatterSetProperty(&formatter, (ZydisFormatterProperty)prop, + control_block.formatter_properties[prop]))) + { + ZYDIS_MAYBE_FPUTS("Failed to set formatter-attribute\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + } + + ZyanU8 buffer[32]; + ZyanUSize input_len = read_fn(stream_ctx, buffer, sizeof(buffer)); + ZydisDecodedInstruction instruction; + + // Fuzz decoder. + ZyanStatus status = ZydisDecoderDecodeBuffer(&decoder, buffer, input_len, &instruction); + if (!ZYAN_SUCCESS(status)) + { + return EXIT_FAILURE; + } + + // Fuzz formatter. + char format_buffer[256]; + // Allow the control block to artificially restrict the buffer size. + ZyanUSize output_len = ZYAN_MIN(sizeof(format_buffer), control_block.formatter_max_len); + ZydisFormatterFormatInstruction(&formatter, &instruction, format_buffer, output_len, + control_block.u64); + + // Fuzz tokenizer. + const ZydisFormatterToken* token; + status = ZydisFormatterTokenizeInstruction(&formatter, &instruction, format_buffer, output_len, + control_block.u64, &token); + + // Walk tokens. + while (ZYAN_SUCCESS(status)) + { + ZydisTokenType type; + ZyanConstCharPointer value; + if (!ZYAN_SUCCESS(status = ZydisFormatterTokenGetValue(token, &type, &value))) + { + ZYDIS_MAYBE_FPUTS("Failed to get token value\n", ZYAN_STDERR); + break; + } + + status = ZydisFormatterTokenNext(&token); + } + + if (instruction.operand_count > 0) + { + // Fuzz single operand formatting. We reuse rt-address for operand selection. + // It's casted to u8 because modulo is way cheaper on that. + ZyanU8 op_idx = (ZyanU8)control_block.u64 % instruction.operand_count; + ZydisFormatterFormatOperand(&formatter, &instruction, op_idx, format_buffer, output_len, + control_block.u64); + + // Fuzz single operand tokenization. + ZydisFormatterTokenizeOperand(&formatter, &instruction, op_idx, format_buffer, output_len, + control_block.u64, &token); + + // Address translation helper. + ZyanU64 abs_addr; + ZydisCalcAbsoluteAddress(&instruction, &instruction.operands[op_idx], + control_block.u64, &abs_addr); + } + + // Mnemonic helpers. + ZydisMnemonicGetString((ZydisMnemonic)control_block.u64); + ZydisMnemonicGetStringWrapped((ZydisMnemonic)control_block.u64); + + // Flag helpers. + ZydisCPUFlagAction flag_action = (ZydisCPUFlagAction)control_block.u64; + ZydisCPUFlags flags; + ZydisGetAccessedFlagsByAction(&instruction, flag_action, &flags); + + // Instruction segment helper. + ZydisInstructionSegments segments; + ZydisGetInstructionSegments(&instruction, &segments); + + // Feature enable check helper. + ZydisIsFeatureEnabled((ZydisFeature)control_block.u64); + + // Register helpers. + ZydisRegisterEncode((ZydisRegisterClass)(control_block.u64 >> 8), (ZyanU8)control_block.u64); + ZydisRegisterGetId((ZydisRegister)control_block.u64); + ZydisRegisterGetClass((ZydisRegister)control_block.u64); + ZydisRegisterGetWidth(control_block.machine_mode, (ZydisRegister)control_block.u64); + ZydisRegisterGetLargestEnclosing(control_block.machine_mode, (ZydisRegister)control_block.u64); + ZydisRegisterGetString((ZydisRegister)control_block.u64); + ZydisRegisterGetStringWrapped((ZydisRegister)control_block.u64); + ZydisRegisterClassGetWidth(control_block.machine_mode, (ZydisRegisterClass)control_block.u64); + + return EXIT_SUCCESS; +} + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +#ifdef ZYDIS_LIBFUZZER + +#ifdef __cplusplus +extern "C" { +#endif + +int LLVMFuzzerInitialize(int *argc, char ***argv) +{ + ZYAN_UNUSED(argc); + ZYAN_UNUSED(argv); + + if (ZydisGetVersion() != ZYDIS_VERSION) + { + fputs("Invalid zydis version\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} + +int LLVMFuzzerTestOneInput(ZyanU8 *buf, ZyanUSize len) +{ + ZydisLibFuzzerContext ctx; + ctx.buf = buf; + ctx.buf_len = len; + ctx.read_offs = 0; + + ZydisFuzzIteration(&ZydisLibFuzzerRead, &ctx); + return 0; +} + +#ifdef __cplusplus +} // extern "C" +#endif + +#else // !ZYDIS_LIBFUZZER + +int main(void) +{ + if (ZydisGetVersion() != ZYDIS_VERSION) + { + fputs("Invalid zydis version\n", ZYAN_STDERR); + return EXIT_FAILURE; + } + +#ifdef ZYDIS_FUZZ_AFL_FAST + while (__AFL_LOOP(1000)) + { + ZydisFuzzIteration(&ZydisStdinRead, ZYAN_NULL); + } + return EXIT_SUCCESS; +#else + return ZydisFuzzIteration(&ZydisStdinRead, ZYAN_NULL); +#endif +} + +#endif // ZYDIS_LIBFUZZER + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/tools/ZydisInfo.c b/externals/dynarmic/externals/zydis/tools/ZydisInfo.c new file mode 100755 index 000000000..3401092a5 --- /dev/null +++ b/externals/dynarmic/externals/zydis/tools/ZydisInfo.c @@ -0,0 +1,1174 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Disassembles a given hex-buffer and prints detailed information about the decoded + * instruction, the operands and additional attributes. + */ + +#include +#include +#include +#include + +/* ============================================================================================== */ +/* Colors */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Configuration */ +/* ---------------------------------------------------------------------------------------------- */ + +#define COLOR_DEFAULT ZYAN_VT100SGR_FG_DEFAULT +#define COLOR_ERROR ZYAN_VT100SGR_FG_BRIGHT_RED +#define COLOR_HEADER ZYAN_VT100SGR_FG_DEFAULT +#define COLOR_HEADER_TITLE ZYAN_VT100SGR_FG_CYAN +#define COLOR_VALUE_LABEL ZYAN_VT100SGR_FG_DEFAULT +#define COLOR_VALUE_R ZYAN_VT100SGR_FG_BRIGHT_RED +#define COLOR_VALUE_G ZYAN_VT100SGR_FG_BRIGHT_GREEN +#define COLOR_VALUE_B ZYAN_VT100SGR_FG_CYAN + +/* ---------------------------------------------------------------------------------------------- */ +/* Global variables */ +/* ---------------------------------------------------------------------------------------------- */ + +static ZyanBool g_vt100_stdout; +static ZyanBool g_vt100_stderr; + +/* ---------------------------------------------------------------------------------------------- */ +/* Helper macros */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Conditionally expands to the passed VT100 sequence, if `g_colors_stdout` is + * `ZYAN_TRUE`, or an empty string, if not. + * + * @param The VT100 SGT sequence. + */ +#define CVT100_OUT(sequence) (g_vt100_stdout ? (sequence) : "") + +/** + * Conditionally expands to the passed VT100 sequence, if `g_colors_stderr` is + * `ZYAN_TRUE`, or an empty string, if not. + * + * @param The VT100 SGT sequence. + */ +#define CVT100_ERR(sequence) (g_vt100_stderr ? (sequence) : "") + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Helper functions */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* General */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Formats the given zyan status code to a human readable string. + * + * @param status The zyan status code. + * + * @return The status code string. + */ +static const char* FormatZyanStatus(ZyanStatus status) +{ + static const char* strings_zycore[] = + { + "SUCCESS", + "FAILED", + "TRUE", + "FALSE", + "INVALID_ARGUMENT", + "INVALID_OPERATION", + "NOT_FOUND", + "OUT_OF_RANGE", + "INSUFFICIENT_BUFFER_SIZE", + "NOT_ENOUGH_MEMORY", + "NOT_ENOUGH_MEMORY", + "BAD_SYSTEMCALL" + }; + static const char* strings_zydis[] = + { + "NO_MORE_DATA", + "DECODING_ERROR", + "INSTRUCTION_TOO_LONG", + "BAD_REGISTER", + "ILLEGAL_LOCK", + "ILLEGAL_LEGACY_PFX", + "ILLEGAL_REX", + "INVALID_MAP", + "MALFORMED_EVEX", + "MALFORMED_MVEX", + "INVALID_MASK" + }; + + if (ZYAN_STATUS_MODULE(status) == ZYAN_MODULE_ZYCORE) + { + status = ZYAN_STATUS_CODE(status); + ZYAN_ASSERT(status < ZYAN_ARRAY_LENGTH(strings_zycore)); + return strings_zycore[status]; + } + + if (ZYAN_STATUS_MODULE(status) == ZYAN_MODULE_ZYDIS) + { + status = ZYAN_STATUS_CODE(status); + ZYAN_ASSERT(status < ZYAN_ARRAY_LENGTH(strings_zydis)); + return strings_zydis[status]; + } + + ZYAN_UNREACHABLE; +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Text output */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Prints a section header. + * + * @param name The section name. + */ +static void PrintSectionHeader(const char* name) +{ + ZYAN_ASSERT(ZYAN_STRLEN(name) <= 8); + ZYAN_PRINTF("%s== [ %s%8s%s ] ==============================================================" \ + "==============================%s\n", + CVT100_OUT(COLOR_HEADER), CVT100_OUT(COLOR_HEADER_TITLE), name, CVT100_OUT(COLOR_HEADER), + CVT100_OUT(COLOR_DEFAULT)); +} + +/** + * Prints a value label. + * + * @param name The value name. + */ +static void PrintValueLabel(const char* name) +{ + ZYAN_ASSERT(ZYAN_STRLEN(name) <= 11); + ZYAN_PRINTF("%s%11s:%s ", CVT100_OUT(COLOR_VALUE_LABEL), name, CVT100_OUT(COLOR_DEFAULT)); +} + +/** + * Prints a formatted value using red color. + * + * @param name The value name. + * @param format The format string. + * @param ... The format arguments. + */ +#define PRINT_VALUE_R(name, format, ...) \ + PrintValueLabel(name); \ + ZYAN_PRINTF("%s" format "%s\n", CVT100_OUT(COLOR_VALUE_R), __VA_ARGS__, \ + CVT100_OUT(COLOR_DEFAULT)); + +/** + * Prints a formatted value using green color. + * + * @param name The value name. + * @param format The format string. + * @param ... The format arguments. + */ +#define PRINT_VALUE_G(name, format, ...) \ + PrintValueLabel(name); \ + ZYAN_PRINTF("%s" format "%s\n", CVT100_OUT(COLOR_VALUE_G), __VA_ARGS__, \ + CVT100_OUT(COLOR_DEFAULT)); + +/** + * Prints a formatted value using blue color. + * + * @param name The value name. + * @param format The format string. + * @param ... The format arguments. + */ +#define PRINT_VALUE_B(name, format, ...) \ + PrintValueLabel(name); \ + ZYAN_PRINTF("%s" format "%s\n", CVT100_OUT(COLOR_VALUE_B), __VA_ARGS__, \ + CVT100_OUT(COLOR_DEFAULT)); + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Print functions */ +/* ============================================================================================== */ + +/** + * Prints instruction segments (parts). + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param buffer The buffer that contains the instruction bytes. + */ +static void PrintSegments(const ZydisDecodedInstruction* instruction, const ZyanU8* buffer) +{ + PrintSectionHeader("SEGMENTS"); + + ZydisInstructionSegments segments; + ZydisGetInstructionSegments(instruction, &segments); + + struct + { + ZyanU8 pos; + const char* color; + const char* name; + } print_info[ZYAN_ARRAY_LENGTH(segments.segments)]; + + ZyanU8 pos = 0; + ZyanU8 imm = 0; + for (ZyanU8 i = 0; i < segments.count; ++i) + { + print_info[i].pos = pos; + + switch (segments.segments[i].type) + { + case ZYDIS_INSTR_SEGMENT_PREFIXES: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_BRIGHT_MAGENTA); + print_info[i].name = "PREFIXES"; + break; + case ZYDIS_INSTR_SEGMENT_REX: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_MAGENTA); + print_info[i].name = "REX"; + break; + case ZYDIS_INSTR_SEGMENT_XOP: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_MAGENTA); + print_info[i].name = "XOP"; + break; + case ZYDIS_INSTR_SEGMENT_VEX: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_MAGENTA); + print_info[i].name = "VEX"; + break; + case ZYDIS_INSTR_SEGMENT_EVEX: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_MAGENTA); + print_info[i].name = "EVEX"; + break; + case ZYDIS_INSTR_SEGMENT_MVEX: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_MAGENTA); + print_info[i].name = "MVEX"; + break; + case ZYDIS_INSTR_SEGMENT_OPCODE: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_CYAN); + print_info[i].name = "OPCODE"; + break; + case ZYDIS_INSTR_SEGMENT_MODRM: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_GREEN); + print_info[i].name = "MODRM"; + break; + case ZYDIS_INSTR_SEGMENT_SIB: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_BRIGHT_GREEN); + print_info[i].name = "SIB"; + break; + case ZYDIS_INSTR_SEGMENT_DISPLACEMENT: + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_BRIGHT_YELLOW); + print_info[i].name = "DISP"; + break; + case ZYDIS_INSTR_SEGMENT_IMMEDIATE: + if (imm == 0) + { + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_YELLOW); + imm = 1; + } else + { + print_info[i].color = CVT100_OUT(ZYAN_VT100SGR_FG_BRIGHT_YELLOW); + } + print_info[i].name = "IMM"; + break; + default: + ZYAN_UNREACHABLE; + } + + ZYAN_PRINTF("%s", print_info[i].color); + for (int j = 0; j < segments.segments[i].size; ++j) + { + if (segments.segments[i].type == ZYDIS_INSTR_SEGMENT_PREFIXES) + { + ZYAN_ASSERT(segments.segments[i].size <= instruction->raw.prefix_count); + switch (instruction->raw.prefixes[j].type) + { + case ZYDIS_PREFIX_TYPE_IGNORED: + ZYAN_PRINTF("%s%02X%s ", CVT100_OUT(ZYAN_VT100SGR_FG_BRIGHT_BLACK), + buffer[segments.segments[i].offset + j], print_info[i].color); + pos += 3; + break; + case ZYDIS_PREFIX_TYPE_EFFECTIVE: + pos += (ZyanU8)ZYAN_PRINTF("%02X ", buffer[segments.segments[i].offset + j]); + break; + case ZYDIS_PREFIX_TYPE_MANDATORY: + ZYAN_PRINTF("%s%02X%s ", + CVT100_OUT(ZYAN_VT100SGR_FG_CYAN), + buffer[segments.segments[i].offset + j], print_info[i].color); + pos += 3; + break; + default: + ZYAN_UNREACHABLE; + } + } else + { + pos += (ZyanU8)ZYAN_PRINTF("%02X ", buffer[segments.segments[i].offset + j]); + } + } + } + ZYAN_PRINTF("%s\n", CVT100_OUT(COLOR_DEFAULT)); + + for (ZyanU8 i = 0; i < segments.count; ++i) + { + ZyanU8 j = 0; + ZyanU8 k = 0; + while (j <= print_info[segments.count - i - 1].pos) + { + if (j == print_info[k].pos) + { + ZYAN_PRINTF("%s:", print_info[k].color); + ++k; + } else + { + ZYAN_PRINTF(" "); + } + ++j; + } + ZYAN_PRINTF("..%s%s\n", print_info[segments.count - i - 1].color, + print_info[segments.count - i - 1].name); + } + + ZYAN_PRINTF(CVT100_OUT(COLOR_DEFAULT)); +} + +/** + * Prints instruction operands info. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + */ +static void PrintOperands(const ZydisDecodedInstruction* instruction) +{ + PrintSectionHeader("OPERANDS"); + ZYAN_PRINTF("%s## TYPE VISIBILITY ACTION ENCODING SIZE NELEM ELEMSZ ELEMTY" \ + "PE VALUE%s\n", CVT100_OUT(COLOR_HEADER), CVT100_OUT(COLOR_DEFAULT)); + ZYAN_PRINTF("%s-- --------- ---------- ------ ------------ ---- ----- ------ ------" \ + "-- ---------------------------%s\n", CVT100_OUT(COLOR_HEADER), CVT100_OUT(COLOR_DEFAULT)); + + ZyanU8 imm_id = 0; + for (ZyanU8 i = 0; i < instruction->operand_count; ++i) + { + static const char* strings_operand_type[] = + { + "UNUSED", + "REGISTER", + "MEMORY", + "POINTER", + "IMMEDIATE" + }; + static const char* strings_operand_visibility[] = + { + "INVALID", + "EXPLICIT", + "IMPLICIT", + "HIDDEN" + }; + static const char* strings_operand_actions[] = + { + "NONE", // 0 0 0 0 + "R", // 0 0 0 1 + "W", // 0 0 1 0 + "RW", // 0 0 1 1 + "CR", // 0 1 0 0 + "-", // 0 1 0 1 + "CRW", // 0 1 1 0 + "-", // 0 1 1 1 + "CW", // 1 0 0 0 + "RCW", // 1 0 0 1 + "-", // 1 0 1 0 + "-", // 1 0 1 1 + "CRCW", // 1 1 0 0 + "-", // 1 1 0 1 + "-" // 1 1 1 1 + }; + static const char* strings_element_type[] = + { + "INVALID", + "STRUCT", + "UINT", + "INT", + "FLOAT16", + "FLOAT32", + "FLOAT64", + "FLOAT80", + "LONGBCD", + "CC" + }; + static const char* strings_operand_encoding[] = + { + "NONE", + "MODRM_REG", + "MODRM_RM", + "OPCODE", + "NDSNDD", + "IS4", + "MASK", + "DISP8", + "DISP16", + "DISP32", + "DISP64", + "DISP16_32_64", + "DISP32_32_64", + "DISP16_32_32", + "UIMM8", + "UIMM16", + "UIMM32", + "UIMM64", + "UIMM16_32_64", + "UIMM32_32_64", + "UIMM16_32_32", + "SIMM8", + "SIMM16", + "SIMM32", + "SIMM64", + "SIMM16_32_64", + "SIMM32_32_64", + "SIMM16_32_32", + "JIMM8", + "JIMM16", + "JIMM32", + "JIMM64", + "JIMM16_32_64", + "JIMM32_32_64", + "JIMM16_32_32" + }; + static const char* strings_memop_type[] = + { + "INVALID", + "MEM", + "AGEN", + "MIB" + }; + + ZYAN_PRINTF("%s%2d %s%9s %10s %6s %12s %s%5d %4d %6d %s%8s%s", + CVT100_OUT(COLOR_VALUE_G), + i, + CVT100_OUT(COLOR_VALUE_B), + strings_operand_type[instruction->operands[i].type], + strings_operand_visibility[instruction->operands[i].visibility], + strings_operand_actions[instruction->operands[i].actions], + strings_operand_encoding[instruction->operands[i].encoding], + CVT100_OUT(COLOR_VALUE_G), + instruction->operands[i].size, + instruction->operands[i].element_count, + instruction->operands[i].element_size, + CVT100_OUT(COLOR_VALUE_B), + strings_element_type[instruction->operands[i].element_type], + CVT100_OUT(COLOR_DEFAULT)); + switch (instruction->operands[i].type) + { + case ZYDIS_OPERAND_TYPE_REGISTER: + ZYAN_PRINTF(" %s%27s%s", CVT100_OUT(COLOR_VALUE_R), + ZydisRegisterGetString(instruction->operands[i].reg.value), + CVT100_OUT(COLOR_DEFAULT)); + break; + case ZYDIS_OPERAND_TYPE_MEMORY: + ZYAN_PRINTF(" %sTYPE =%s%20s%s\n", CVT100_OUT(COLOR_VALUE_LABEL), + CVT100_OUT(COLOR_VALUE_B), strings_memop_type[instruction->operands[i].mem.type], + CVT100_OUT(COLOR_DEFAULT)); + ZYAN_PRINTF(" %s%84s =%s%20s%s\n", + CVT100_OUT(COLOR_VALUE_LABEL), "SEG ", CVT100_OUT(COLOR_VALUE_R), + ZydisRegisterGetString(instruction->operands[i].mem.segment), + CVT100_OUT(COLOR_DEFAULT)); + ZYAN_PRINTF(" %s%84s =%s%20s%s\n", + CVT100_OUT(COLOR_VALUE_LABEL), "BASE ", CVT100_OUT(COLOR_VALUE_R), + ZydisRegisterGetString(instruction->operands[i].mem.base), + CVT100_OUT(COLOR_DEFAULT)); + ZYAN_PRINTF(" %s%84s =%s%20s%s\n", + CVT100_OUT(COLOR_VALUE_LABEL), "INDEX", CVT100_OUT(COLOR_VALUE_R), + ZydisRegisterGetString(instruction->operands[i].mem.index), + CVT100_OUT(COLOR_DEFAULT)); + ZYAN_PRINTF(" %s%84s =%s%20d%s\n", + CVT100_OUT(COLOR_VALUE_LABEL), "SCALE", CVT100_OUT(COLOR_VALUE_G), + instruction->operands[i].mem.scale, + CVT100_OUT(COLOR_DEFAULT)); + ZYAN_PRINTF(" %s%84s = %s0x%016" PRIX64 "%s", + CVT100_OUT(COLOR_VALUE_LABEL), "DISP ", CVT100_OUT(COLOR_VALUE_G), + instruction->operands[i].mem.disp.value, + CVT100_OUT(COLOR_DEFAULT)); + break; + case ZYDIS_OPERAND_TYPE_POINTER: + ZYAN_PRINTF(" %sSEG = %s0x%04" PRIX16 "%s\n", + CVT100_OUT(COLOR_VALUE_LABEL), CVT100_OUT(COLOR_VALUE_G), + instruction->operands[i].ptr.segment, + CVT100_OUT(COLOR_DEFAULT)); + ZYAN_PRINTF(" %s%84s = %s0x%08" PRIX32 "%s", + CVT100_OUT(COLOR_VALUE_LABEL), "OFF ", CVT100_OUT(COLOR_VALUE_G), + instruction->operands[i].ptr.offset, + CVT100_OUT(COLOR_DEFAULT)); + break; + case ZYDIS_OPERAND_TYPE_IMMEDIATE: + if (instruction->operands[i].imm.is_signed) + { + ZYAN_PRINTF(" %s[%s%s %s %s%2d%s] %s0x%016" PRIX64 "%s", + CVT100_OUT(COLOR_VALUE_LABEL), + CVT100_OUT(COLOR_VALUE_B), + instruction->operands[i].imm.is_signed ? "S" : "U", + instruction->operands[i].imm.is_relative ? "R" : "A", + CVT100_OUT(COLOR_VALUE_G), + instruction->raw.imm[imm_id].size, + CVT100_OUT(COLOR_VALUE_LABEL), + CVT100_OUT(COLOR_VALUE_G), + instruction->operands[i].imm.value.s, + CVT100_OUT(COLOR_DEFAULT)); + } else + { + ZYAN_PRINTF(" %s[%s%s %s %s%2d%s] %s0x%016" PRIX64 "%s", + CVT100_OUT(COLOR_VALUE_LABEL), + CVT100_OUT(COLOR_VALUE_B), + instruction->operands[i].imm.is_signed ? "S" : "U", + instruction->operands[i].imm.is_relative ? "R" : "A", + CVT100_OUT(COLOR_VALUE_G), + instruction->raw.imm[imm_id].size, + CVT100_OUT(COLOR_VALUE_LABEL), + CVT100_OUT(COLOR_VALUE_G), + instruction->operands[i].imm.value.u, + CVT100_OUT(COLOR_DEFAULT)); + } + ++imm_id; + break; + default: + ZYAN_UNREACHABLE; + } + ZYAN_PUTS(""); + } + + ZYAN_PRINTF("%s-- --------- ---------- ------ ------------ ---- ----- ------ ------" \ + "-- ---------------------------%s\n", CVT100_OUT(COLOR_HEADER), CVT100_OUT(COLOR_DEFAULT)); +} + +/** + * Prints instruction flags info. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + */ +static void PrintFlags(const ZydisDecodedInstruction* instruction) +{ + static const char* strings_flag_name[] = + { + "CF", + ZYAN_NULL, + "PF", + ZYAN_NULL, + "AF", + ZYAN_NULL, + "ZF", + "SF", + "TF", + "IF", + "DF", + "OF", + "IOPL", + ZYAN_NULL, + "NT", + ZYAN_NULL, + "RF", + "VM", + "AC", + "VIF", + "VIP", + "ID", + "C0", + "C1", + "C2", + "C3" + }; + static const char* strings_flag_action[] = + { + "", + "T", + "T_M", + "M", + "0", + "1", + "U" + }; + + PrintSectionHeader("FLAGS"); + + PrintValueLabel("ACTIONS"); + ZyanU8 c = 0; + for (ZydisCPUFlag i = 0; (ZyanUSize)i < ZYAN_ARRAY_LENGTH(instruction->accessed_flags); ++i) + { + if (instruction->accessed_flags[i].action != ZYDIS_CPUFLAG_ACTION_NONE) + { + if (c && (c % 8 == 0)) + { + ZYAN_PRINTF("\n "); + } + ++c; + ZYAN_PRINTF("%s[%s%-4s%s: %s%-3s%s]%s ", + CVT100_OUT(COLOR_VALUE_LABEL), CVT100_OUT(COLOR_VALUE_B), + strings_flag_name[i], + CVT100_OUT(COLOR_VALUE_LABEL), CVT100_OUT(COLOR_VALUE_B), + strings_flag_action[instruction->accessed_flags[i].action], + CVT100_OUT(COLOR_VALUE_LABEL), CVT100_OUT(COLOR_DEFAULT)); + } + } + ZYAN_PUTS(""); + + PRINT_VALUE_G("READ", "0x%08" PRIX32, instruction->cpu_flags_read); + PRINT_VALUE_G("WRITTEN", "0x%08" PRIX32, instruction->cpu_flags_written); + + ZydisCPUFlags flags; + ZydisGetAccessedFlagsByAction(instruction, ZYDIS_CPUFLAG_ACTION_UNDEFINED, &flags); + PRINT_VALUE_G("UNDEFINED", "0x%08" PRIX32, flags); +} + +/** + * Prints instruction AVX info. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + */ +static void PrintAVXInfo(const ZydisDecodedInstruction* instruction) +{ + static const char* strings_broadcast_mode[] = + { + "NONE", + "1_TO_2", + "1_TO_4", + "1_TO_8", + "1_TO_16", + "1_TO_32", + "1_TO_64", + "2_TO_4", + "2_TO_8", + "2_TO_16", + "4_TO_8", + "4_TO_16", + "8_TO_16" + }; + + static const char* strings_mask_mode[] = + { + "INVALID", + "DISABLED", + "MERGING", + "ZEROING", + "CONTROL", + "CONTROL_ZEROING" + }; + + static const char* strings_rounding_mode[] = + { + "DEFAULT", + "RN", + "RD", + "RU", + "RZ" + }; + + static const char* strings_swizzle_mode[] = + { + "NONE", + "DCBA", + "CDAB", + "BADC", + "DACB", + "AAAA", + "BBBB", + "CCCC", + "DDDD" + }; + + static const char* strings_conversion_mode[] = + { + "NONE", + "FLOAT16", + "SINT8", + "UINT8", + "SINT16", + "UINT16" + }; + + PrintSectionHeader("AVX"); + + PRINT_VALUE_B("VECTORLEN", "%03d", instruction->avx.vector_length); + PRINT_VALUE_B("BROADCAST", "%s%s%s", strings_broadcast_mode[instruction->avx.broadcast.mode], + CVT100_OUT(COLOR_VALUE_LABEL), instruction->avx.broadcast.is_static ? " (static)" : ""); + + switch (instruction->encoding) + { + case ZYDIS_INSTRUCTION_ENCODING_EVEX: + PRINT_VALUE_B("ROUNDING", "%s", strings_rounding_mode[instruction->avx.rounding.mode]); + PRINT_VALUE_B("SAE", "%s", instruction->avx.has_sae ? "Y" : "N"); + PRINT_VALUE_R("MASK", "%s %s[%s%s%s]", + ZydisRegisterGetString(instruction->avx.mask.reg), + CVT100_OUT(COLOR_VALUE_LABEL), CVT100_OUT(COLOR_VALUE_B), + strings_mask_mode[instruction->avx.mask.mode], CVT100_OUT(COLOR_VALUE_LABEL)); + break; + case ZYDIS_INSTRUCTION_ENCODING_MVEX: + PRINT_VALUE_B("ROUNDING", "%s", strings_rounding_mode[instruction->avx.rounding.mode]); + PRINT_VALUE_B("SAE", "%s", instruction->avx.has_sae ? "Y" : "N"); + PRINT_VALUE_R("MASK", "%s %s[%sMERGING%s]", + ZydisRegisterGetString(instruction->avx.mask.reg), + CVT100_OUT(COLOR_VALUE_LABEL), CVT100_OUT(COLOR_VALUE_B), + CVT100_OUT(COLOR_VALUE_LABEL)); + PRINT_VALUE_B("EH", "%s", instruction->avx.has_eviction_hint ? "Y" : "N"); + PRINT_VALUE_B("SWIZZLE", "%s", strings_swizzle_mode[instruction->avx.swizzle.mode]); + PRINT_VALUE_B("CONVERT", "%s", strings_conversion_mode[instruction->avx.conversion.mode]); + break; + default: + break; + } +} + +/** + * Prints the tokenized instruction. + * + * @param token A pointer to the first token. + */ +static void PrintTokenizedInstruction(const ZydisFormatterToken* token) +{ + ZyanStatus status = ZYAN_STATUS_SUCCESS; + while (ZYAN_SUCCESS(status)) + { + ZydisTokenType type; + ZyanConstCharPointer value; + if (!ZYAN_SUCCESS(status = ZydisFormatterTokenGetValue(token, &type, &value))) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sFailed to get token value%s\n", + CVT100_OUT(COLOR_ERROR), CVT100_OUT(ZYAN_VT100SGR_RESET)); + exit(status); + } + + const char* color; + switch (token->type) + { + case ZYDIS_TOKEN_DELIMITER: + ZYAN_FALLTHROUGH; + case ZYDIS_TOKEN_PARENTHESIS_OPEN: + ZYAN_FALLTHROUGH; + case ZYDIS_TOKEN_PARENTHESIS_CLOSE: + color = CVT100_OUT(ZYAN_VT100SGR_FG_WHITE); + break; + case ZYDIS_TOKEN_PREFIX: + case ZYDIS_TOKEN_MNEMONIC: + color = CVT100_OUT(ZYAN_VT100SGR_FG_BRIGHT_RED); + break; + case ZYDIS_TOKEN_REGISTER: + color = CVT100_OUT(ZYAN_VT100SGR_FG_CYAN); + break; + case ZYDIS_TOKEN_ADDRESS_ABS: + case ZYDIS_TOKEN_ADDRESS_REL: + case ZYDIS_TOKEN_DISPLACEMENT: + color = CVT100_OUT(ZYAN_VT100SGR_FG_BRIGHT_GREEN); + break; + case ZYDIS_TOKEN_IMMEDIATE: + color = CVT100_OUT(ZYAN_VT100SGR_FG_GREEN); + break; + case ZYDIS_TOKEN_TYPECAST: + case ZYDIS_TOKEN_DECORATOR: + color = CVT100_OUT(ZYAN_VT100SGR_FG_WHITE); + break; + default: + color = CVT100_OUT(COLOR_DEFAULT); + break; + } + ZYAN_PRINTF("%s%s", color, value); + + status = ZydisFormatterTokenNext(&token); + } + ZYAN_ASSERT(status == ZYAN_STATUS_OUT_OF_RANGE); + + ZYAN_PRINTF("%s\n", CVT100_OUT(COLOR_DEFAULT)); +} + +/** + * Prints the formatted instruction disassembly. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + * @param style The formatter style. + */ +static void PrintDisassembly(const ZydisDecodedInstruction* instruction, + ZydisFormatterStyle style) +{ + ZyanStatus status; + ZydisFormatter formatter; + + switch (style) + { + case ZYDIS_FORMATTER_STYLE_ATT: + if (!ZYAN_SUCCESS(status = ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_ATT))) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sFailed to initialize instruction-formatter%s\n", + CVT100_OUT(COLOR_ERROR), CVT100_OUT(ZYAN_VT100SGR_RESET)); + exit(status); + } + PrintSectionHeader("ATT"); + break; + case ZYDIS_FORMATTER_STYLE_INTEL: + if (!ZYAN_SUCCESS(status = ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL)) || + !ZYAN_SUCCESS(status = ZydisFormatterSetProperty(&formatter, + ZYDIS_FORMATTER_PROP_FORCE_SEGMENT, ZYAN_TRUE)) || + !ZYAN_SUCCESS(status = ZydisFormatterSetProperty(&formatter, + ZYDIS_FORMATTER_PROP_FORCE_SIZE, ZYAN_TRUE))) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sFailed to initialize instruction-formatter%s\n", + CVT100_OUT(COLOR_ERROR), CVT100_OUT(ZYAN_VT100SGR_RESET)); + exit(status); + } + PrintSectionHeader("INTEL"); + break; + default: + ZYAN_UNREACHABLE; + } + + ZyanU8 buffer[256]; + const ZydisFormatterToken* token; + + PrintValueLabel("ABSOLUTE"); + ZydisFormatterTokenizeInstruction(&formatter, instruction, buffer, sizeof(buffer), 0, &token); + PrintTokenizedInstruction(token); + PrintValueLabel("RELATIVE"); + ZydisFormatterTokenizeInstruction(&formatter, instruction, buffer, sizeof(buffer), + ZYDIS_RUNTIME_ADDRESS_NONE, &token); + PrintTokenizedInstruction(token); +} + +/** + * Dumps basic instruction info. + * + * @param instruction A pointer to the `ZydisDecodedInstruction` struct. + */ +static void PrintInstruction(const ZydisDecodedInstruction* instruction) +{ + static const char* opcode_maps[] = + { + "DEFAULT", + "0F", + "0F38", + "0F3A", + "0F0F", + "XOP8", + "XOP9", + "XOPA" + }; + + static const char* instr_encodings[] = + { + "DEFAULT", + "3DNOW", + "XOP", + "VEX", + "EVEX", + "MVEX" + }; + + static const char* exception_classes[] = + { + "NONE", + "SSE1", + "SSE2", + "SSE3", + "SSE4", + "SSE5", + "SSE7", + "AVX1", + "AVX2", + "AVX3", + "AVX4", + "AVX5", + "AVX6", + "AVX7", + "AVX8", + "AVX11", + "AVX12", + "E1", + "E1NF", + "E2", + "E2NF", + "E3", + "E3NF", + "E4", + "E4NF", + "E5", + "E5NF", + "E6", + "E6NF", + "E7NM", + "E7NM128", + "E9NF", + "E10", + "E10NF", + "E11", + "E11NF", + "E12", + "E12NP", + "K20", + "K21" + }; + + struct + { + ZydisInstructionAttributes attribute_mask; + const char* str; + } attribute_map[] = + { + { ZYDIS_ATTRIB_HAS_MODRM, "HAS_MODRM" }, + { ZYDIS_ATTRIB_HAS_SIB, "HAS_SIB" }, + { ZYDIS_ATTRIB_HAS_REX, "HAS_REX" }, + { ZYDIS_ATTRIB_HAS_XOP, "HAS_XOP" }, + { ZYDIS_ATTRIB_HAS_VEX, "HAS_VEX" }, + { ZYDIS_ATTRIB_HAS_EVEX, "HAS_EVEX" }, + { ZYDIS_ATTRIB_HAS_MVEX, "HAS_MVEX" }, + { ZYDIS_ATTRIB_IS_RELATIVE, "IS_RELATIVE" }, + { ZYDIS_ATTRIB_IS_PRIVILEGED, "IS_PRIVILEGED" }, + { ZYDIS_ATTRIB_CPUFLAG_ACCESS, "CPUFLAG_ACCESS" }, + { ZYDIS_ATTRIB_CPU_STATE_CR, "CPU_STATE_CR" }, + { ZYDIS_ATTRIB_CPU_STATE_CW, "CPU_STATE_CW" }, + { ZYDIS_ATTRIB_FPU_STATE_CR, "FPU_STATE_CR" }, + { ZYDIS_ATTRIB_FPU_STATE_CW, "FPU_STATE_CW" }, + { ZYDIS_ATTRIB_XMM_STATE_CR, "XMM_STATE_CR" }, + { ZYDIS_ATTRIB_XMM_STATE_CW, "XMM_STATE_CW" }, + { ZYDIS_ATTRIB_ACCEPTS_LOCK, "ACCEPTS_LOCK" }, + { ZYDIS_ATTRIB_ACCEPTS_REP, "ACCEPTS_REP" }, + { ZYDIS_ATTRIB_ACCEPTS_REPE, "ACCEPTS_REPE" }, + { ZYDIS_ATTRIB_ACCEPTS_REPZ, "ACCEPTS_REPZ" }, + { ZYDIS_ATTRIB_ACCEPTS_REPNE, "ACCEPTS_REPNE" }, + { ZYDIS_ATTRIB_ACCEPTS_REPNZ, "ACCEPTS_REPNZ" }, + { ZYDIS_ATTRIB_ACCEPTS_BND, "ACCEPTS_BND" }, + { ZYDIS_ATTRIB_ACCEPTS_XACQUIRE, "ACCEPTS_XACQUIRE" }, + { ZYDIS_ATTRIB_ACCEPTS_XRELEASE, "ACCEPTS_XRELEASE" }, + { ZYDIS_ATTRIB_ACCEPTS_HLE_WITHOUT_LOCK, "ACCEPTS_HLE_WITHOUT_LOCK" }, + { ZYDIS_ATTRIB_ACCEPTS_BRANCH_HINTS, "ACCEPTS_BRANCH_HINTS" }, + { ZYDIS_ATTRIB_ACCEPTS_SEGMENT, "ACCEPTS_SEGMENT" }, + { ZYDIS_ATTRIB_HAS_LOCK, "HAS_LOCK" }, + { ZYDIS_ATTRIB_HAS_REP, "HAS_REP" }, + { ZYDIS_ATTRIB_HAS_REPE, "HAS_REPE" }, + { ZYDIS_ATTRIB_HAS_REPZ, "HAS_REPZ" }, + { ZYDIS_ATTRIB_HAS_REPNE, "HAS_REPNE" }, + { ZYDIS_ATTRIB_HAS_REPNZ, "HAS_REPNZ" }, + { ZYDIS_ATTRIB_HAS_BND, "HAS_BND" }, + { ZYDIS_ATTRIB_HAS_XACQUIRE, "HAS_XACQUIRE" }, + { ZYDIS_ATTRIB_HAS_XRELEASE, "HAS_XRELEASE" }, + { ZYDIS_ATTRIB_HAS_BRANCH_NOT_TAKEN, "HAS_BRANCH_NOT_TAKEN" }, + { ZYDIS_ATTRIB_HAS_BRANCH_TAKEN, "HAS_BRANCH_TAKEN" }, + { ZYDIS_ATTRIB_HAS_SEGMENT, "HAS_SEGMENT" }, + { ZYDIS_ATTRIB_HAS_SEGMENT_CS, "HAS_SEGMENT_CS" }, + { ZYDIS_ATTRIB_HAS_SEGMENT_SS, "HAS_SEGMENT_SS" }, + { ZYDIS_ATTRIB_HAS_SEGMENT_DS, "HAS_SEGMENT_DS" }, + { ZYDIS_ATTRIB_HAS_SEGMENT_ES, "HAS_SEGMENT_ES" }, + { ZYDIS_ATTRIB_HAS_SEGMENT_FS, "HAS_SEGMENT_FS" }, + { ZYDIS_ATTRIB_HAS_SEGMENT_GS, "HAS_SEGMENT_GS" }, + { ZYDIS_ATTRIB_HAS_OPERANDSIZE, "HAS_OPERANDSIZE" }, + { ZYDIS_ATTRIB_HAS_ADDRESSSIZE, "HAS_ADDRESSSIZE" } + }; + + PrintSectionHeader("BASIC"); + PrintValueLabel("MNEMONIC"); + ZYAN_PRINTF("%s%s%s [ENC: %s%s%s, MAP: %s%s%s, OPC: %s0x%02X%s]%s\n", + CVT100_OUT(COLOR_VALUE_R), ZydisMnemonicGetString(instruction->mnemonic), + CVT100_OUT(COLOR_VALUE_LABEL), + CVT100_OUT(COLOR_VALUE_B), instr_encodings[instruction->encoding], + CVT100_OUT(COLOR_VALUE_LABEL), + CVT100_OUT(COLOR_VALUE_B), opcode_maps[instruction->opcode_map], + CVT100_OUT(COLOR_VALUE_LABEL), + CVT100_OUT(COLOR_VALUE_G), instruction->opcode, + CVT100_OUT(COLOR_VALUE_LABEL), CVT100_OUT(COLOR_DEFAULT)); + PRINT_VALUE_G("LENGTH" , "%2d", instruction->length); + PRINT_VALUE_G("SSZ" , "%2d", instruction->stack_width); + PRINT_VALUE_G("EOSZ" , "%2d", instruction->operand_width); + PRINT_VALUE_G("EASZ" , "%2d", instruction->address_width); + PRINT_VALUE_B("CATEGORY" , "%s" , ZydisCategoryGetString(instruction->meta.category)); + PRINT_VALUE_B("ISA-SET" , "%s" , ZydisISASetGetString(instruction->meta.isa_set)); + PRINT_VALUE_B("ISA-EXT" , "%s" , ZydisISAExtGetString(instruction->meta.isa_ext)); + PRINT_VALUE_B("EXCEPTIONS", "%s" , exception_classes[instruction->meta.exception_class]); + + if (instruction->attributes) + { + PrintValueLabel("ATTRIBUTES"); + ZYAN_FPUTS(CVT100_OUT(COLOR_VALUE_B), ZYAN_STDOUT); + ZyanUSize len_total = 13; + for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(attribute_map); ++i) + { + if (instruction->attributes & attribute_map[i].attribute_mask) + { + const ZyanUSize len = ZYAN_STRLEN(attribute_map[i].str); + if (len_total + len > 109) + { + len_total = 13; + ZYAN_PRINTF("\n "); + } + len_total += ZYAN_PRINTF("%s ", attribute_map[i].str); + } + } + ZYAN_PUTS(CVT100_OUT(COLOR_DEFAULT)); + } + + if (instruction->operand_count > 0) + { + ZYAN_PUTS(""); + PrintOperands(instruction); + } + + if (instruction->attributes & ZYDIS_ATTRIB_CPUFLAG_ACCESS) + { + ZYAN_PUTS(""); + PrintFlags(instruction); + } + + if ((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_XOP) || + (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_VEX) || + (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || + (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) + { + ZYAN_PUTS(""); + PrintAVXInfo(instruction); + } + + ZYAN_PUTS(""); + PrintDisassembly(instruction, ZYDIS_FORMATTER_STYLE_ATT); + ZYAN_PUTS(""); + PrintDisassembly(instruction, ZYDIS_FORMATTER_STYLE_INTEL); +} + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(int argc, char** argv) +{ + // Enable VT100 escape sequences on Windows, if the output is not redirected + g_vt100_stdout = (ZyanTerminalIsTTY(ZYAN_STDSTREAM_OUT) == ZYAN_STATUS_TRUE) && + ZYAN_SUCCESS(ZyanTerminalEnableVT100(ZYAN_STDSTREAM_OUT)); + g_vt100_stderr = (ZyanTerminalIsTTY(ZYAN_STDSTREAM_ERR) == ZYAN_STATUS_TRUE) && + ZYAN_SUCCESS(ZyanTerminalEnableVT100(ZYAN_STDSTREAM_ERR)); + + // ZYAN_PRINTF("%zu\n", sizeof(ZydisDecodedInstruction)); + // ZYAN_PRINTF("%zu\n", sizeof(ZydisDecodedOperand)); + + if (ZydisGetVersion() != ZYDIS_VERSION) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sInvalid zydis version%s\n", + CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + return ZYAN_STATUS_INVALID_OPERATION; + } + + if (argc < 3) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sUsage: %s -[real|16|32|64] [hexbytes]%s\n", + CVT100_ERR(COLOR_ERROR), (argc > 0 ? argv[0] : "ZydisInfo"), + CVT100_ERR(ZYAN_VT100SGR_RESET)); + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZydisDecoder decoder; + if (!ZYAN_STRCMP(argv[1], "-real")) + { + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_REAL_16, ZYDIS_ADDRESS_WIDTH_16); + } else + if (!ZYAN_STRCMP(argv[1], "-16")) + { + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_COMPAT_16, ZYDIS_ADDRESS_WIDTH_16); + } else + if (!ZYAN_STRCMP(argv[1], "-32")) + { + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_COMPAT_32, ZYDIS_ADDRESS_WIDTH_32); + } else + if (!ZYAN_STRCMP(argv[1], "-64")) + { + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64); + } else + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sUsage: %s -[real|16|32|64] [hexbytes]%s\n", + CVT100_ERR(COLOR_ERROR), (argc > 0 ? argv[0] : "ZydisInfo"), + CVT100_ERR(ZYAN_VT100SGR_RESET)); + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + ZyanU8 data[ZYDIS_MAX_INSTRUCTION_LENGTH]; + ZyanU8 byte_length = 0; + for (ZyanU8 i = 2; i < argc; ++i) + { + char* cur_arg = argv[i]; + + // Strip whitespace in-place. + const ZyanUSize arg_len = ZYAN_STRLEN(cur_arg); + ZyanUSize write = 0; + for (ZyanUSize read = 0; read < arg_len; ++read) + { + char ch = cur_arg[read]; + if (ch == ' ' || ch == '\t') continue; + cur_arg[write++] = ch; + } + cur_arg[write] = '\0'; + + if (write % 2) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sEven number of hex nibbles expected%s\n", + CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + return ZYAN_STATUS_INVALID_ARGUMENT; + } + if ((write / 2) + byte_length > ZYDIS_MAX_INSTRUCTION_LENGTH) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sMaximum number of %d bytes exceeded%s\n", + CVT100_ERR(COLOR_ERROR), ZYDIS_MAX_INSTRUCTION_LENGTH, + CVT100_ERR(ZYAN_VT100SGR_RESET)); + return ZYAN_STATUS_INVALID_ARGUMENT; + } + for (ZyanU8 j = 0; j < write / 2; ++j) + { + unsigned value; + if (!ZYAN_SSCANF(&cur_arg[j * 2], "%02x", &value)) + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sInvalid hex value%s\n", + CVT100_ERR(COLOR_ERROR), CVT100_ERR(ZYAN_VT100SGR_RESET)); + return ZYAN_STATUS_INVALID_ARGUMENT; + } + data[byte_length] = (ZyanU8)value; + ++byte_length; + } + } + + ZydisDecodedInstruction instruction; + const ZyanStatus status = ZydisDecoderDecodeBuffer(&decoder, &data, byte_length, &instruction); + if (!ZYAN_SUCCESS(status)) + { + if (ZYAN_STATUS_MODULE(status) >= ZYAN_MODULE_USER) + { + ZYAN_FPRINTF(ZYAN_STDERR, + "%sCould not decode instruction: User defined status code 0x%" PRIx32 "%s\n", + CVT100_ERR(COLOR_ERROR), status, + CVT100_ERR(ZYAN_VT100SGR_RESET)); + } else + { + ZYAN_FPRINTF(ZYAN_STDERR, "%sCould not decode instruction: %s%s\n", + CVT100_ERR(COLOR_ERROR), FormatZyanStatus(status), + CVT100_ERR(ZYAN_VT100SGR_RESET)); + } + return status; + } + + PrintInstruction(&instruction); + + ZYAN_PUTS(""); + PrintSegments(&instruction, &data[0]); + + return EXIT_SUCCESS; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/externals/zydis/tools/ZydisPE.c b/externals/dynarmic/externals/zydis/tools/ZydisPE.c new file mode 100755 index 000000000..9e761014d --- /dev/null +++ b/externals/dynarmic/externals/zydis/tools/ZydisPE.c @@ -0,0 +1,1188 @@ +/*************************************************************************************************** + + Zyan Disassembler Library (Zydis) + + Original Author : Florian Bernd + + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + +***************************************************************************************************/ + +/** + * @file + * Disassembles a given PE file. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +// TODO: Add buffer overread checks +// TODO: Use platform specific file mapping routines instead of `fopen`/`malloc` + +/* ============================================================================================== */ +/* String constants */ +/* ============================================================================================== */ + +static const ZyanStringView STR_DOT = ZYAN_DEFINE_STRING_VIEW("."); +static const ZyanStringView STR_ENTRY_POINT = ZYAN_DEFINE_STRING_VIEW("EntryPoint"); + +/* ============================================================================================== */ +/* Status codes */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Module IDs */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * The zydis PE tool module id. + */ +#define ZYAN_MODULE_ZYDIS_PE 0x101 + +/* ---------------------------------------------------------------------------------------------- */ +/* Status codes */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * The signature of the PE-files DOS header field is invalid. + */ +#define ZYDIS_STATUS_INVALID_DOS_SIGNATURE \ + ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS_PE, 0x00) + +/** + * The signature of the PE-files NT headers field is invalid. + */ +#define ZYDIS_STATUS_INVALID_NT_SIGNATURE \ + ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS_PE, 0x01) + +/** + * The architecture of the assembly code contained in the PE-file is not supported. + */ +#define ZYDIS_STATUS_UNSUPPORTED_ARCHITECTURE \ + ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS_PE, 0x02) + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* PE stuff from `Windows.h` */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Constants */ +/* ---------------------------------------------------------------------------------------------- */ + +#define IMAGE_DOS_SIGNATURE 0x5A4D // MZ +#define IMAGE_NT_SIGNATURE 0x00004550 // PE00 +#define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x010B +#define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x020B + +#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 +#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 +#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 + +#define IMAGE_FILE_MACHINE_I386 0x014C +#define IMAGE_FILE_MACHINE_IA64 0x0200 +#define IMAGE_FILE_MACHINE_AMD64 0x8664 + +#define IMAGE_SCN_CNT_CODE 0x00000020 + +#define IMAGE_IMPORT_BY_ORDINAL32 0x80000000 +#define IMAGE_IMPORT_BY_ORDINAL64 0x8000000000000000 + +/* ---------------------------------------------------------------------------------------------- */ +/* Enums and types */ +/* ---------------------------------------------------------------------------------------------- */ + +typedef struct IMAGE_DOS_HEADER_ +{ + ZyanU16 e_magic; + ZyanU16 e_cblp; + ZyanU16 e_cp; + ZyanU16 e_crlc; + ZyanU16 e_cparhdr; + ZyanU16 e_minalloc; + ZyanU16 e_maxalloc; + ZyanU16 e_ss; + ZyanU16 e_sp; + ZyanU16 e_csum; + ZyanU16 e_ip; + ZyanU16 e_cs; + ZyanU16 e_lfarlc; + ZyanU16 e_ovno; + ZyanU16 e_res[4]; + ZyanU16 e_oemid; + ZyanU16 e_oeminfo; + ZyanU16 e_res2[10]; + ZyanU32 e_lfanew; +} IMAGE_DOS_HEADER; + +typedef struct IMAGE_FILE_HEADER_ +{ + ZyanU16 Machine; + ZyanU16 NumberOfSections; + ZyanU32 TimeDateStamp; + ZyanU32 PointerToSymbolTable; + ZyanU32 NumberOfSymbols; + ZyanU16 SizeOfOptionalHeader; + ZyanU16 Characteristics; +} IMAGE_FILE_HEADER; + +typedef struct IMAGE_DATA_DIRECTORY_ +{ + ZyanU32 VirtualAddress; + ZyanU32 Size; +} IMAGE_DATA_DIRECTORY; + +typedef struct IMAGE_OPTIONAL_HEADER32_ +{ + ZyanU16 Magic; + ZyanU8 MajorLinkerVersion; + ZyanU8 MinorLinkerVersion; + ZyanU32 SizeOfCode; + ZyanU32 SizeOfInitializedData; + ZyanU32 SizeOfUninitializedData; + ZyanU32 AddressOfEntryPoint; + ZyanU32 BaseOfCode; + ZyanU32 BaseOfData; + ZyanU32 ImageBase; + ZyanU32 SectionAlignment; + ZyanU32 FileAlignment; + ZyanU16 MajorOperatingSystemVersion; + ZyanU16 MinorOperatingSystemVersion; + ZyanU16 MajorImageVersion; + ZyanU16 MinorImageVersion; + ZyanU16 MajorSubsystemVersion; + ZyanU16 MinorSubsystemVersion; + ZyanU32 Win32VersionValue; + ZyanU32 SizeOfImage; + ZyanU32 SizeOfHeaders; + ZyanU32 CheckSum; + ZyanU16 Subsystem; + ZyanU16 DllCharacteristics; + ZyanU32 SizeOfStackReserve; + ZyanU32 SizeOfStackCommit; + ZyanU32 SizeOfHeapReserve; + ZyanU32 SizeOfHeapCommit; + ZyanU32 LoaderFlags; + ZyanU32 NumberOfRvaAndSizes; + IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; +} IMAGE_OPTIONAL_HEADER32; + +typedef struct IMAGE_NT_HEADERS32_ +{ + ZyanU32 Signature; + IMAGE_FILE_HEADER FileHeader; + IMAGE_OPTIONAL_HEADER32 OptionalHeader; +} IMAGE_NT_HEADERS32; + +typedef struct IMAGE_OPTIONAL_HEADER64_ +{ + ZyanU16 Magic; + ZyanU8 MajorLinkerVersion; + ZyanU8 MinorLinkerVersion; + ZyanU32 SizeOfCode; + ZyanU32 SizeOfInitializedData; + ZyanU32 SizeOfUninitializedData; + ZyanU32 AddressOfEntryPoint; + ZyanU32 BaseOfCode; + ZyanU64 ImageBase; + ZyanU32 SectionAlignment; + ZyanU32 FileAlignment; + ZyanU16 MajorOperatingSystemVersion; + ZyanU16 MinorOperatingSystemVersion; + ZyanU16 MajorImageVersion; + ZyanU16 MinorImageVersion; + ZyanU16 MajorSubsystemVersion; + ZyanU16 MinorSubsystemVersion; + ZyanU32 Win32VersionValue; + ZyanU32 SizeOfImage; + ZyanU32 SizeOfHeaders; + ZyanU32 CheckSum; + ZyanU16 Subsystem; + ZyanU16 DllCharacteristics; + ZyanU64 SizeOfStackReserve; + ZyanU64 SizeOfStackCommit; + ZyanU64 SizeOfHeapReserve; + ZyanU64 SizeOfHeapCommit; + ZyanU32 LoaderFlags; + ZyanU32 NumberOfRvaAndSizes; + IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; +} IMAGE_OPTIONAL_HEADER64; + +typedef struct IMAGE_NT_HEADERS64_ +{ + ZyanU32 Signature; + IMAGE_FILE_HEADER FileHeader; + IMAGE_OPTIONAL_HEADER64 OptionalHeader; +} IMAGE_NT_HEADERS64; + +#define IMAGE_SIZEOF_SHORT_NAME 8 + +typedef struct IMAGE_SECTION_HEADER_ { + ZyanU8 Name[IMAGE_SIZEOF_SHORT_NAME]; + union + { + ZyanU32 PhysicalAddress; + ZyanU32 VirtualSize; + } Misc; + ZyanU32 VirtualAddress; + ZyanU32 SizeOfRawData; + ZyanU32 PointerToRawData; + ZyanU32 PointerToRelocations; + ZyanU32 PointerToLinenumbers; + ZyanU16 NumberOfRelocations; + ZyanU16 NumberOfLinenumbers; + ZyanU32 Characteristics; +} IMAGE_SECTION_HEADER; + +typedef struct IMAGE_EXPORT_DIRECTORY_ +{ + ZyanU32 Characteristics; + ZyanU32 TimeDateStamp; + ZyanU16 MajorVersion; + ZyanU16 MinorVersion; + ZyanU32 Name; + ZyanU32 Base; + ZyanU32 NumberOfFunctions; + ZyanU32 NumberOfNames; + ZyanU32 AddressOfFunctions; + ZyanU32 AddressOfNames; + ZyanU32 AddressOfNameOrdinals; +} IMAGE_EXPORT_DIRECTORY; + +typedef struct IMAGE_IMPORT_DESCRIPTOR_ +{ + union + { + ZyanU32 Characteristics; + ZyanU32 OriginalFirstThunk; + } u1; + ZyanU32 TimeDateStamp; + ZyanU32 ForwarderChain; + ZyanU32 Name; + ZyanU32 FirstThunk; +} IMAGE_IMPORT_DESCRIPTOR; + +typedef struct IMAGE_THUNK_DATA32_ +{ + union + { + ZyanU32 ForwarderString; + ZyanU32 Function; + ZyanU32 Ordinal; + ZyanU32 AddressOfData; + } u1; +} IMAGE_THUNK_DATA32; + +#pragma pack(push, 8) + +typedef struct IMAGE_THUNK_DATA64_ +{ + union + { + ZyanU64 ForwarderString; + ZyanU64 Function; + ZyanU64 Ordinal; + ZyanU64 AddressOfData; + } u1; +} IMAGE_THUNK_DATA64; + +#pragma pack(pop) + +typedef struct IMAGE_IMPORT_BY_NAME_ +{ + ZyanU16 Hint; + char Name[1]; +} IMAGE_IMPORT_BY_NAME; + +/* ---------------------------------------------------------------------------------------------- */ +/* Macros */ +/* ---------------------------------------------------------------------------------------------- */ + +#define IMAGE_FIRST_SECTION(nt_headers) \ + ((IMAGE_SECTION_HEADER*)((ZyanUPointer)(nt_headers) \ + + offsetof(IMAGE_NT_HEADERS32, OptionalHeader) \ + + ((nt_headers))->FileHeader.SizeOfOptionalHeader)) + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* PE Context */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Enums and types */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Defines the `ZydisPESymbol` struct. + */ +typedef struct ZydisPESymbol_ +{ + /** + * The virtual address of the symbol. + */ + ZyanU64 address; + /** + * The module string. + */ + ZyanString module_name; + /** + * The symbol string. + */ + ZyanString symbol_name; +} ZydisPESymbol; + +/** + * Defines the `ZydisPEContext` struct. + */ +typedef struct ZydisPEContext_ +{ + /** + * The memory that contains the mapped PE-file. + */ + const void* base; + /** + * The size of the memory mapped PE-file. + */ + ZyanUSize size; + /** + * A vector that contains the addresses and names of all symbols. + */ + ZyanVector symbols; + /** + * The desired image-base of the PE-file. + */ + ZyanU64 image_base; + /** + * A vector that contains all string instances that need to be destroyed. + */ + ZyanVector unique_strings; +} ZydisPEContext; + +/* ---------------------------------------------------------------------------------------------- */ +/* Functions */ +/* ---------------------------------------------------------------------------------------------- */ +/** + * A comparison function for the `ZydisPESymbol` that uses the `address` field as key value. + * + * @param left A pointer to the first element. + * @param right A pointer to the second element. + * + * @return Returns values in the following range: + * `left == right -> result == 0` + * `left < right -> result < 0` + * `left > right -> result > 0` + */ +static ZyanI32 CompareSymbol(const ZydisPESymbol* left, const ZydisPESymbol* right) +{ + ZYAN_ASSERT(left); + ZYAN_ASSERT(right); + + if (left->address < right->address) + { + return -1; + } + if (left->address > right->address) + { + return 1; + } + return 0; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Returns a pointer to the section header of the section that contains the given `rva`. + * + * @param base A pointer to the memory that contains the mapped PE-file. + * @param rva The relative virtual address. + * + * @return A pointer to a `IMAGE_SECTION_HEADER` struct, or `ZYAN_NULL`. + */ +static const IMAGE_SECTION_HEADER* GetSectionByRVA(const void* base, ZyanU64 rva) +{ + ZYAN_ASSERT(base); + + const IMAGE_DOS_HEADER* dos_header = (const IMAGE_DOS_HEADER*)base; + ZYAN_ASSERT(dos_header->e_magic == IMAGE_DOS_SIGNATURE); + const IMAGE_NT_HEADERS32* nt_headers = + (const IMAGE_NT_HEADERS32*)((ZyanU8*)dos_header + dos_header->e_lfanew); + ZYAN_ASSERT(nt_headers->Signature == IMAGE_NT_SIGNATURE); + + const IMAGE_SECTION_HEADER* section = IMAGE_FIRST_SECTION(nt_headers); + for (ZyanU16 i = 0; i < nt_headers->FileHeader.NumberOfSections; ++i, ++section) + { + ZyanU32 size = section->SizeOfRawData; + if (section->Misc.VirtualSize > 0) + { + size = ZYAN_MIN(section->Misc.VirtualSize, size); + } + size = ZYAN_ALIGN_UP(size, nt_headers->OptionalHeader.FileAlignment); + + if ((rva >= section->VirtualAddress) && (rva < (section->VirtualAddress + size))) + { + return section; + } + } + + return ZYAN_NULL; +} + +/** + * Converts a relative virtual address to file offset. + * + * @param base A pointer to the memory mapped PE-file. + * @param rva The relative virtual-address. + * + * @return The address in file mapping corresponding to `rva` or `ZYAN_NULL`. + */ +const void* RVAToFileOffset(const void* base, ZyanU64 rva) +{ + ZYAN_ASSERT(base); + + const IMAGE_SECTION_HEADER* section = GetSectionByRVA(base, rva); + + if (!section) + { + return ZYAN_NULL; + } + + return (void*)((ZyanU8*)base + section->PointerToRawData + (rva - section->VirtualAddress)); +} + +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Finalizes the given `ZydisPEContext` struct. + * + * @param context A pointer to the `ZydisPEContext` struct. + * + * @return A zycore status code. + */ +static ZyanStatus ZydisPEContextFinalize(ZydisPEContext* context) +{ + ZyanUSize size; + ZYAN_CHECK(ZyanVectorGetSize(&context->unique_strings, &size)); + + for (ZyanUSize i = 0; i < size; ++i) + { + ZyanString* string; + ZYAN_CHECK(ZyanVectorGetPointerMutable(&context->unique_strings, i, (void**)&string)); + ZYAN_CHECK(ZyanStringDestroy(string)); + } + + ZYAN_CHECK(ZyanVectorDestroy(&context->symbols)); + return ZyanVectorDestroy(&context->unique_strings); +} + +/** + * Initializes the given `ZydisPEContext` struct. + * + * @param context A pointer to the `ZydisPEContext` struct. + * @param base A pointer to the memory that contains the mapped PE-file. + * @param size The size of the memory mapped PE-file. + * + * @return A zycore status code. + */ +static ZyanStatus ZydisPEContextInit(ZydisPEContext* context, const void* base, ZyanUSize size) +{ + ZYAN_ASSERT(context); + ZYAN_ASSERT(base); + ZYAN_ASSERT(size); + + context->base = base; + context->size = size; + + ZyanStatus status; + ZYAN_CHECK(status = ZyanVectorInit(&context->symbols, sizeof(ZydisPESymbol), 256, ZYAN_NULL)); + if (!ZYAN_SUCCESS(status = ZyanVectorInit(&context->unique_strings, sizeof(ZyanString), 256, ZYAN_NULL))) + { + ZyanVectorDestroy(&context->symbols); + return status; + } + + const IMAGE_DOS_HEADER* dos_header = (const IMAGE_DOS_HEADER*)base; + ZYAN_ASSERT(dos_header->e_magic == IMAGE_DOS_SIGNATURE); + const IMAGE_NT_HEADERS32* nt_headers_temp = + (const IMAGE_NT_HEADERS32*)((ZyanU8*)dos_header + dos_header->e_lfanew); + ZYAN_ASSERT(nt_headers_temp->Signature == IMAGE_NT_SIGNATURE); + + // Parse symbols + + switch (nt_headers_temp->OptionalHeader.Magic) + { + case IMAGE_NT_OPTIONAL_HDR32_MAGIC: + { + const IMAGE_NT_HEADERS32* nt_headers = + (const IMAGE_NT_HEADERS32*)((ZyanU8*)dos_header + dos_header->e_lfanew); + context->image_base = nt_headers->OptionalHeader.ImageBase; + + // Entry point + ZydisPESymbol element; + const ZyanUPointer entry_point = nt_headers->OptionalHeader.AddressOfEntryPoint; + element.address = entry_point; + if (!ZYAN_SUCCESS((status = + ZyanStringDuplicate(&element.symbol_name, &STR_ENTRY_POINT, 0))) || + !ZYAN_SUCCESS((status = + ZyanVectorPushBack(&context->symbols, &element)))) + { + goto FatalError; + } + + // Exports + if (nt_headers->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress) + { + const IMAGE_EXPORT_DIRECTORY* export_directory = + (const IMAGE_EXPORT_DIRECTORY*)RVAToFileOffset(base, + nt_headers->OptionalHeader.DataDirectory[ + IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress); + + ZyanStringView module_name; + if (!ZYAN_SUCCESS(status = ZyanStringViewInsideBuffer(&module_name, + (char*)RVAToFileOffset(base, export_directory->Name))) || + !ZYAN_SUCCESS(status = + ZyanStringDuplicate(&element.module_name, &module_name, 0))) + { + goto FatalError; + } + // Remove file-extension + ZyanISize index; + if (!ZYAN_SUCCESS(status = ZyanStringRPos(&module_name, &STR_DOT, &index))) + { + goto FatalError; + } + if (index >= 0) + { + if (!ZYAN_SUCCESS(status = ZyanStringTruncate(&element.module_name, index)) || + !ZYAN_SUCCESS(status = + ZyanVectorPushBack(&context->unique_strings, &element.module_name))) + { + goto FatalError; + } + } else + if (!ZYAN_SUCCESS(status = + ZyanVectorPushBack(&context->unique_strings, &element.module_name))) + { + goto FatalError; + } + + const ZyanU32* export_addresses = + (const ZyanU32*)RVAToFileOffset(base, + export_directory->AddressOfFunctions); + const ZyanU32* export_names = + (const ZyanU32*)RVAToFileOffset(base, + export_directory->AddressOfNames); + for (ZyanU32 i = 0; i < export_directory->NumberOfFunctions; ++i) + { + element.address = export_addresses[i]; + ZyanStringView symbol_name; + if (!ZYAN_SUCCESS((status = + ZyanStringViewInsideBuffer(&symbol_name, + (const char*)RVAToFileOffset(base, export_names[i])))) || + !ZYAN_SUCCESS((status = + ZyanStringDuplicate(&element.symbol_name, &symbol_name, 0)))) + { + goto FatalError; + } + + ZyanUSize found_index; + if (!ZYAN_SUCCESS((status = + ZyanVectorBinarySearch(&context->symbols, &element, &found_index, + (ZyanComparison)&CompareSymbol))) || + !ZYAN_SUCCESS((status = + ZyanVectorInsert(&context->symbols, found_index, &element)))) + { + goto FatalError; + } + } + } + + // Imports + if (nt_headers->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress) + { + const IMAGE_IMPORT_DESCRIPTOR* descriptor = + (const IMAGE_IMPORT_DESCRIPTOR*)RVAToFileOffset(base, + nt_headers->OptionalHeader.DataDirectory[ + IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); + while (descriptor->u1.OriginalFirstThunk) + { + ZyanStringView module_name; + if (!ZYAN_SUCCESS(status = ZyanStringViewInsideBuffer(&module_name, + (const char*)RVAToFileOffset(base, descriptor->Name))) || + !ZYAN_SUCCESS(status = ZyanStringDuplicate( + &element.module_name, &module_name, 0))) + { + goto FatalError; + } + // Remove file-extension + ZyanISize index; + if (!ZYAN_SUCCESS(status = ZyanStringRPos(&module_name, &STR_DOT, &index))) + { + goto FatalError; + } + if (index >= 0) + { + if (!ZYAN_SUCCESS(status = ZyanStringTruncate(&element.module_name, index)) || + !ZYAN_SUCCESS(status = + ZyanVectorPushBack(&context->unique_strings, &element.module_name))) + { + goto FatalError; + } + } else + if (!ZYAN_SUCCESS(status = + ZyanVectorPushBack(&context->unique_strings, &element.module_name))) + { + goto FatalError; + } + + const IMAGE_THUNK_DATA32* original_thunk = + (const IMAGE_THUNK_DATA32*)RVAToFileOffset(base, + descriptor->u1.OriginalFirstThunk); + element.address = descriptor->FirstThunk; + + ZyanUSize found_index; + if (!ZYAN_SUCCESS((status = + ZyanVectorBinarySearch(&context->symbols, &element, &found_index, + (ZyanComparison)&CompareSymbol)))) + { + goto FatalError; + } + ZYAN_ASSERT(status == ZYAN_STATUS_FALSE); + + while (original_thunk->u1.ForwarderString) + { + if (!(original_thunk->u1.Ordinal & IMAGE_IMPORT_BY_ORDINAL32)) + { + const IMAGE_IMPORT_BY_NAME* by_name = + (const IMAGE_IMPORT_BY_NAME*)RVAToFileOffset(base, + original_thunk->u1.AddressOfData); + + ZyanStringView symbol_name; + if (!ZYAN_SUCCESS((status = + ZyanStringViewInsideBuffer( + &symbol_name, (const char*)by_name->Name))) || + !ZYAN_SUCCESS((status = + ZyanStringDuplicate(&element.symbol_name, &symbol_name, 0)))) + { + goto FatalError; + } + } + + if (!ZYAN_SUCCESS((status = + ZyanVectorInsert(&context->symbols, found_index, &element)))) + { + goto FatalError; + } + + element.address += sizeof(IMAGE_THUNK_DATA32); + ++original_thunk; + ++found_index; + } + ++descriptor; + } + } + + break; + } + case IMAGE_NT_OPTIONAL_HDR64_MAGIC: + { + const IMAGE_NT_HEADERS64* nt_headers = + (const IMAGE_NT_HEADERS64*)((ZyanU8*)dos_header + dos_header->e_lfanew); + context->image_base = nt_headers->OptionalHeader.ImageBase; + + // Entry point. + ZydisPESymbol element; + const ZyanUPointer entry_point = nt_headers->OptionalHeader.AddressOfEntryPoint; + element.address = entry_point; + if (!ZYAN_SUCCESS((status = + ZyanStringDuplicate(&element.symbol_name, &STR_ENTRY_POINT, 0))) || + !ZYAN_SUCCESS((status = + ZyanVectorPushBack(&context->symbols, &element)))) + { + goto FatalError; + } + + // Exports + if (nt_headers->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress) + { + const IMAGE_EXPORT_DIRECTORY* export_directory = + (const IMAGE_EXPORT_DIRECTORY*)RVAToFileOffset(base, + nt_headers->OptionalHeader.DataDirectory[ + IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress); + + ZyanStringView module_name; + if (!ZYAN_SUCCESS((status = + ZyanStringViewInsideBuffer(&module_name, + (const char*)RVAToFileOffset(base, export_directory->Name)))) || + !ZYAN_SUCCESS((status = + ZyanStringDuplicate(&element.module_name, &module_name, 0)))) + { + goto FatalError; + } + // TODO: Implement + /*for (ZyanUSize i = element.module_name.length - 1; i >= 0; --i) + { + if (element.module_name.buffer[i] == '.') + { + element.module_name.length = i; + break; + } + }*/ + + const ZyanU32* export_addresses = + (const ZyanU32*)RVAToFileOffset(base, + export_directory->AddressOfFunctions); + const ZyanU32* export_names = + (const ZyanU32*)RVAToFileOffset(base, + export_directory->AddressOfNames); + for (ZyanU32 i = 0; i < export_directory->NumberOfFunctions; ++i) + { + element.address = export_addresses[i]; + ZyanStringView symbol_name; + if (!ZYAN_SUCCESS((status = + ZyanStringViewInsideBuffer(&symbol_name, + (const char*)RVAToFileOffset(base, export_names[i])))) || + !ZYAN_SUCCESS((status = + ZyanStringDuplicate(&element.symbol_name, &symbol_name, 0)))) + { + goto FatalError; + } + + ZyanUSize found_index; + if (!ZYAN_SUCCESS((status = + ZyanVectorBinarySearch(&context->symbols, &element, &found_index, + (ZyanComparison)&CompareSymbol))) || + !ZYAN_SUCCESS((status = + ZyanVectorInsert(&context->symbols, found_index, &element)))) + { + goto FatalError; + } + } + } + + // Imports + if (nt_headers->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress) + { + const IMAGE_IMPORT_DESCRIPTOR* descriptor = + (const IMAGE_IMPORT_DESCRIPTOR*)RVAToFileOffset(base, + nt_headers->OptionalHeader.DataDirectory[ + IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress); + while (descriptor->u1.OriginalFirstThunk) + { + ZyanStringView module_name; + if (!ZYAN_SUCCESS((status = + ZyanStringViewInsideBuffer(&module_name, + (const char*)RVAToFileOffset(base, descriptor->Name)))) || + !ZYAN_SUCCESS((status = + ZyanStringDuplicate(&element.module_name, &module_name, 0)))) + { + goto FatalError; + } + // TODO: Implement + /*for (ZyanUSize i = element.module_name.length - 1; i >= 0; --i) + { + if (element.module_name.buffer[i] == '.') + { + element.module_name.length = i; + break; + } + }*/ + + const IMAGE_THUNK_DATA64* original_thunk = + (const IMAGE_THUNK_DATA64*)RVAToFileOffset(base, + descriptor->u1.OriginalFirstThunk); + element.address = descriptor->FirstThunk; + + ZyanUSize found_index; + if (!ZYAN_SUCCESS((status = + ZyanVectorBinarySearch(&context->symbols, &element, &found_index, + (ZyanComparison)&CompareSymbol)))) + { + goto FatalError; + } + ZYAN_ASSERT(status == ZYAN_STATUS_FALSE); + + while (original_thunk->u1.ForwarderString) + { + if (!(original_thunk->u1.Ordinal & IMAGE_IMPORT_BY_ORDINAL64)) + { + const IMAGE_IMPORT_BY_NAME* by_name = + (const IMAGE_IMPORT_BY_NAME*)RVAToFileOffset(base, + original_thunk->u1.AddressOfData); + + ZyanStringView symbol_name; + if (!ZYAN_SUCCESS((status = ZyanStringViewInsideBuffer( + &symbol_name, (const char*)by_name->Name))) || + !ZYAN_SUCCESS((status = + ZyanStringDuplicate(&element.symbol_name, &symbol_name, 0)))) + { + goto FatalError; + } + } + + if (!ZYAN_SUCCESS((status = + ZyanVectorInsert(&context->symbols, found_index, &element)))) + { + goto FatalError; + } + + element.address += sizeof(IMAGE_THUNK_DATA64); + ++original_thunk; + ++found_index; + } + ++descriptor; + } + } + + break; + } + default: + ZYAN_UNREACHABLE; + } + + return ZYAN_STATUS_SUCCESS; + +FatalError: + ZydisPEContextFinalize(context); + return status; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Disassembler */ +/* ============================================================================================== */ + +/* ---------------------------------------------------------------------------------------------- */ +/* Callbacks */ +/* ---------------------------------------------------------------------------------------------- */ + +ZydisFormatterFunc default_print_address_abs; +ZydisFormatterFunc default_print_address_rel; + +static ZyanStatus ZydisFormatterPrintAddress(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZyanU64 address, ZyanBool is_abs) +{ + const ZydisPEContext* data = (const ZydisPEContext*)context->user_data; + ZYAN_ASSERT(data); + + ZydisPESymbol symbol; + symbol.address = address - data->image_base; + + ZyanStatus status; + ZyanUSize found_index; + ZYAN_CHECK((status = + ZyanVectorBinarySearch(&data->symbols, &symbol, &found_index, + (ZyanComparison)&CompareSymbol))); + + ZyanString* string; + ZYAN_CHECK(ZydisFormatterBufferGetString(buffer, &string)); + + if (status == ZYAN_STATUS_TRUE) + { + const ZydisPESymbol* element; + ZYAN_CHECK(ZyanVectorGetPointer(&data->symbols, found_index, (const void**)&element)); + ZyanUSize index; + ZyanUSize count; + ZYAN_CHECK(ZyanStringGetSize(string, &index)); + ZYAN_CHECK(ZyanStringGetSize(&element->module_name, &count)); + ZYAN_CHECK(ZyanStringAppend(string, ZYAN_STRING_TO_VIEW(&element->module_name))); + ZYAN_CHECK(ZyanStringToLowerCaseEx(string, index, count)); + ZYAN_CHECK(ZyanStringAppend(string, &STR_DOT)); + return ZyanStringAppend(string, ZYAN_STRING_TO_VIEW(&element->symbol_name)); + } + + // Default address printing + ZydisFormatterFunc fn = is_abs ? default_print_address_abs : default_print_address_rel; + return fn(formatter, buffer, context); +} + +static ZyanStatus ZydisFormatterPrintAddressABS(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZyanU64 address; + ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, + context->runtime_address, &address)); + + return ZydisFormatterPrintAddress(formatter, buffer, context, address, ZYAN_TRUE); +} + +static ZyanStatus ZydisFormatterPrintAddressREL(const ZydisFormatter* formatter, + ZydisFormatterBuffer* buffer, ZydisFormatterContext* context) +{ + ZyanU64 address; + ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, 0, &address)); + + return ZydisFormatterPrintAddress(formatter, buffer, context, address, ZYAN_FALSE); +} + +/* ---------------------------------------------------------------------------------------------- */ +/* Disassembler */ +/* ---------------------------------------------------------------------------------------------- */ + +/** + * Disassembles a mapped PE-file and prints the output to `stdout`. + * Automatically resolves exports and imports. + * + * base A pointer to the `ZydisPEContext` struct. + */ +static ZyanStatus DisassembleMappedPEFile(const ZydisPEContext* context) +{ + ZYAN_ASSERT(context); + + const IMAGE_DOS_HEADER* dos_header = (const IMAGE_DOS_HEADER*)context->base; + ZYAN_ASSERT(dos_header->e_magic == IMAGE_DOS_SIGNATURE); + const IMAGE_NT_HEADERS32* nt_headers = + (const IMAGE_NT_HEADERS32*)((ZyanU8*)dos_header + dos_header->e_lfanew); + ZYAN_ASSERT(nt_headers->Signature == IMAGE_NT_SIGNATURE); + + ZyanStatus status; + + // Initialize decoder + ZydisMachineMode machine_mode; + ZydisAddressWidth address_width; + switch (nt_headers->FileHeader.Machine) + { + case IMAGE_FILE_MACHINE_I386: + machine_mode = ZYDIS_MACHINE_MODE_LONG_COMPAT_32; + address_width = ZYDIS_ADDRESS_WIDTH_32; + break; + case IMAGE_FILE_MACHINE_IA64: + case IMAGE_FILE_MACHINE_AMD64: + machine_mode = ZYDIS_MACHINE_MODE_LONG_64; + address_width = ZYDIS_ADDRESS_WIDTH_64; + break; + default: + ZYAN_UNREACHABLE; + } + ZydisDecoder decoder; + if (!ZYAN_SUCCESS((status = ZydisDecoderInit(&decoder, machine_mode, address_width)))) + { + fputs("Failed to initialize instruction-decoder\n", stderr); + return status; + } + + // Initialize formatter + default_print_address_abs = (ZydisFormatterFunc)&ZydisFormatterPrintAddressABS; + default_print_address_rel = (ZydisFormatterFunc)&ZydisFormatterPrintAddressREL; + ZydisFormatter formatter; + if (!ZYAN_SUCCESS((status = ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL))) || + !ZYAN_SUCCESS((status = ZydisFormatterSetProperty(&formatter, + ZYDIS_FORMATTER_PROP_FORCE_SEGMENT, ZYAN_TRUE))) || + !ZYAN_SUCCESS((status = ZydisFormatterSetProperty(&formatter, + ZYDIS_FORMATTER_PROP_FORCE_SIZE, ZYAN_TRUE))) || + !ZYAN_SUCCESS((status = ZydisFormatterSetHook(&formatter, + ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS, (const void**)&default_print_address_abs))) || + !ZYAN_SUCCESS((status = ZydisFormatterSetHook(&formatter, + ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL, (const void**)&default_print_address_rel)))) + { + fputs("Failed to initialize instruction-formatter\n", stderr); + return status; + } + + // Disassemble all code sections + ZydisDecodedInstruction instruction; + const IMAGE_SECTION_HEADER* section_header = IMAGE_FIRST_SECTION(nt_headers); + for (ZyanU16 i = 0; i < nt_headers->FileHeader.NumberOfSections; ++i) + { + if (!(section_header->Characteristics & IMAGE_SCN_CNT_CODE)) + { + continue; + } + + const ZyanU8* buffer = (ZyanU8*)context->base + section_header->PointerToRawData; + const ZyanUSize buffer_size = section_header->SizeOfRawData; + const ZyanU64 read_offset_base = context->image_base + section_header->VirtualAddress; + + ZyanUSize read_offset = 0; + while ((status = ZydisDecoderDecodeBuffer(&decoder, buffer + read_offset, + buffer_size - read_offset, &instruction)) != ZYDIS_STATUS_NO_MORE_DATA) + { + const ZyanU64 runtime_address = read_offset_base + read_offset; + + ZydisPESymbol symbol; + symbol.address = runtime_address - context->image_base; + + ZyanUSize found_index; + ZYAN_CHECK((status = + ZyanVectorBinarySearch(&context->symbols, &symbol, &found_index, + (ZyanComparison)&CompareSymbol))); + if (status == ZYAN_STATUS_TRUE) + { + const ZydisPESymbol* element; + ZYAN_CHECK(ZyanVectorGetPointer(&context->symbols, found_index, + (const void**)&element)); + const char* string; + ZYAN_CHECK(ZyanStringGetData(&element->symbol_name, &string)); + printf("\n%s:\n", string); + } + + switch (instruction.machine_mode) + { + case ZYDIS_MACHINE_MODE_LONG_COMPAT_32: + printf("%08" PRIX32 " ", (ZyanU32)runtime_address); + break; + case ZYDIS_MACHINE_MODE_LONG_64: + printf("%016" PRIX64 " ", (ZyanU64)runtime_address); + break; + default: + ZYAN_UNREACHABLE; + } + for (int j = 0; j < instruction.length; ++j) + { + printf("%02X ", buffer[read_offset + j]); + } + for (int j = instruction.length; j < 15; ++j) + { + printf(" "); + } + + if (ZYAN_SUCCESS(status)) + { + read_offset += instruction.length; + + char format_buffer[256]; + if (!ZYAN_SUCCESS((status = + ZydisFormatterFormatInstructionEx(&formatter, &instruction, format_buffer, + sizeof(format_buffer), runtime_address, (void*)context)))) + { + fputs("Failed to format instruction\n", stderr); + return status; + } + printf(" %s\n", &format_buffer[0]); + } else + { + printf(" db %02x\n", buffer[read_offset++]); + } + } + + ++section_header; + } + + return ZYAN_STATUS_SUCCESS; +} + +/* ---------------------------------------------------------------------------------------------- */ + +/* ============================================================================================== */ +/* Entry point */ +/* ============================================================================================== */ + +int main(int argc, char** argv) +{ + + if (argc != 2) + { + fprintf(stderr, "Usage: %s \n", (argc > 0 ? argv[0] : "ZydisPE")); + return ZYAN_STATUS_INVALID_ARGUMENT; + } + + // Map PE-file to memory + FILE* file = fopen(argv[1], "rb"); + if (!file) + { + fprintf(stderr, "Could not open file \"%s\": %s\n", argv[1], strerror(errno)); + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + fseek(file, 0L, SEEK_END); + const long size = ftell(file); + void* buffer = ZYAN_MALLOC(size); + if (!buffer) + { + fprintf(stderr, "Failed to allocate %" PRIu64 " bytes on the heap\n", (ZyanU64)size); + fclose(file); + return ZYAN_STATUS_NOT_ENOUGH_MEMORY; + } + + rewind(file); + if (fread(buffer, 1, size, file) != (ZyanUSize)size) + { + fprintf(stderr, + "Could not read %" PRIu64 " bytes from file \"%s\"\n", (ZyanU64)size, argv[1]); + ZYAN_FREE(buffer); + fclose(file); + return ZYAN_STATUS_BAD_SYSTEMCALL; + } + + // Validate PE file + const IMAGE_DOS_HEADER* dos_header = (const IMAGE_DOS_HEADER*)buffer; + if (dos_header->e_magic != IMAGE_DOS_SIGNATURE) + { + fputs("Invalid file signature (DOS header)\n", stderr); + return ZYDIS_STATUS_INVALID_DOS_SIGNATURE; + } + + const IMAGE_NT_HEADERS32* nt_headers = + (const IMAGE_NT_HEADERS32*)((ZyanU8*)dos_header + dos_header->e_lfanew); + if (nt_headers->Signature != IMAGE_NT_SIGNATURE) + { + fputs("Invalid file signature (NT headers)\n", stderr); + return ZYDIS_STATUS_INVALID_NT_SIGNATURE; + } + + switch (nt_headers->FileHeader.Machine) + { + case IMAGE_FILE_MACHINE_I386: + case IMAGE_FILE_MACHINE_IA64: + case IMAGE_FILE_MACHINE_AMD64: + break; + default: + fputs("Unsupported architecture\n", stderr); + return ZYDIS_STATUS_UNSUPPORTED_ARCHITECTURE; + } + + switch (nt_headers->OptionalHeader.Magic) + { + case IMAGE_NT_OPTIONAL_HDR32_MAGIC: + case IMAGE_NT_OPTIONAL_HDR64_MAGIC: + break; + default: + fputs("Unsupported architecture\n", stderr); + return ZYDIS_STATUS_UNSUPPORTED_ARCHITECTURE; + } + + ZyanStatus status; + ZydisPEContext context; + if (!ZYAN_SUCCESS((status = ZydisPEContextInit(&context, buffer, size)))) + { + goto Exit; + } + if (!ZYAN_SUCCESS((status = DisassembleMappedPEFile(&context)))) + { + ZydisPEContextFinalize(&context); + goto Exit; + } + status = ZydisPEContextFinalize(&context); + +Exit: + ZYAN_FREE(buffer); + fclose(file); + + return status; +} + +/* ============================================================================================== */ diff --git a/externals/dynarmic/src/dynarmic/CMakeLists.txt b/externals/dynarmic/src/dynarmic/CMakeLists.txt new file mode 100755 index 000000000..4cdaa34f2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/CMakeLists.txt @@ -0,0 +1,388 @@ +add_library(dynarmic + common/assert.cpp + common/assert.h + common/bit_util.h + common/cast_util.h + common/common_types.h + common/crypto/aes.cpp + common/crypto/aes.h + common/crypto/crc32.cpp + common/crypto/crc32.h + common/crypto/sm4.cpp + common/crypto/sm4.h + common/fp/fpcr.h + common/fp/fpsr.h + common/fp/fused.cpp + common/fp/fused.h + common/fp/info.h + common/fp/mantissa_util.h + common/fp/op.h + common/fp/op/FPCompare.cpp + common/fp/op/FPCompare.h + common/fp/op/FPConvert.cpp + common/fp/op/FPConvert.h + common/fp/op/FPMulAdd.cpp + common/fp/op/FPMulAdd.h + common/fp/op/FPNeg.h + common/fp/op/FPRecipEstimate.cpp + common/fp/op/FPRecipEstimate.h + common/fp/op/FPRecipExponent.cpp + common/fp/op/FPRecipExponent.h + common/fp/op/FPRecipStepFused.cpp + common/fp/op/FPRecipStepFused.h + common/fp/op/FPRoundInt.cpp + common/fp/op/FPRoundInt.h + common/fp/op/FPRSqrtEstimate.cpp + common/fp/op/FPRSqrtEstimate.h + common/fp/op/FPRSqrtStepFused.cpp + common/fp/op/FPRSqrtStepFused.h + common/fp/op/FPToFixed.cpp + common/fp/op/FPToFixed.h + common/fp/process_exception.cpp + common/fp/process_exception.h + common/fp/process_nan.cpp + common/fp/process_nan.h + common/fp/rounding_mode.h + common/fp/unpacked.cpp + common/fp/unpacked.h + common/fp/util.h + common/intrusive_list.h + common/iterator_util.h + common/llvm_disassemble.cpp + common/llvm_disassemble.h + common/lut_from_list.h + common/macro_util.h + common/math_util.cpp + common/math_util.h + common/memory_pool.cpp + common/memory_pool.h + common/safe_ops.h + common/scope_exit.h + common/string_util.h + common/u128.cpp + common/u128.h + common/variant_util.h + common/x64_disassemble.cpp + common/x64_disassemble.h + frontend/A32/types.cpp + frontend/A32/types.h + frontend/A64/types.cpp + frontend/A64/types.h + frontend/decoder/decoder_detail.h + frontend/decoder/matcher.h + frontend/imm.cpp + frontend/imm.h + interface/exclusive_monitor.h + interface/optimization_flags.h + ir/basic_block.cpp + ir/basic_block.h + ir/cond.h + ir/ir_emitter.cpp + ir/ir_emitter.h + ir/location_descriptor.cpp + ir/location_descriptor.h + ir/microinstruction.cpp + ir/microinstruction.h + ir/opcodes.cpp + ir/opcodes.h + ir/opcodes.inc + ir/opt/constant_propagation_pass.cpp + ir/opt/dead_code_elimination_pass.cpp + ir/opt/identity_removal_pass.cpp + ir/opt/ir_matcher.h + ir/opt/passes.h + ir/opt/verification_pass.cpp + ir/terminal.h + ir/type.cpp + ir/type.h + ir/value.cpp + ir/value.h +) + +if ("A32" IN_LIST DYNARMIC_FRONTENDS) + target_sources(dynarmic PRIVATE + frontend/A32/decoder/arm.h + frontend/A32/decoder/arm.inc + frontend/A32/decoder/asimd.h + frontend/A32/decoder/asimd.inc + frontend/A32/decoder/thumb16.h + frontend/A32/decoder/thumb16.inc + frontend/A32/decoder/thumb32.h + frontend/A32/decoder/thumb32.inc + frontend/A32/decoder/vfp.h + frontend/A32/decoder/vfp.inc + frontend/A32/disassembler/disassembler.h + frontend/A32/disassembler/disassembler_arm.cpp + frontend/A32/disassembler/disassembler_thumb.cpp + frontend/A32/FPSCR.h + frontend/A32/ir_emitter.cpp + frontend/A32/ir_emitter.h + frontend/A32/ITState.h + frontend/A32/location_descriptor.cpp + frontend/A32/location_descriptor.h + frontend/A32/PSR.h + frontend/A32/translate/conditional_state.cpp + frontend/A32/translate/conditional_state.h + frontend/A32/translate/impl/asimd_load_store_structures.cpp + frontend/A32/translate/impl/asimd_misc.cpp + frontend/A32/translate/impl/asimd_one_reg_modified_immediate.cpp + frontend/A32/translate/impl/asimd_three_regs.cpp + frontend/A32/translate/impl/asimd_two_regs_misc.cpp + frontend/A32/translate/impl/asimd_two_regs_scalar.cpp + frontend/A32/translate/impl/asimd_two_regs_shift.cpp + frontend/A32/translate/impl/barrier.cpp + frontend/A32/translate/impl/branch.cpp + frontend/A32/translate/impl/coprocessor.cpp + frontend/A32/translate/impl/crc32.cpp + frontend/A32/translate/impl/data_processing.cpp + frontend/A32/translate/impl/divide.cpp + frontend/A32/translate/impl/exception_generating.cpp + frontend/A32/translate/impl/extension.cpp + frontend/A32/translate/impl/hint.cpp + frontend/A32/translate/impl/load_store.cpp + frontend/A32/translate/impl/misc.cpp + frontend/A32/translate/impl/multiply.cpp + frontend/A32/translate/impl/packing.cpp + frontend/A32/translate/impl/parallel.cpp + frontend/A32/translate/impl/reversal.cpp + frontend/A32/translate/impl/saturated.cpp + frontend/A32/translate/impl/status_register_access.cpp + frontend/A32/translate/impl/synchronization.cpp + frontend/A32/translate/impl/thumb16.cpp + frontend/A32/translate/impl/thumb32_branch.cpp + frontend/A32/translate/impl/thumb32_control.cpp + frontend/A32/translate/impl/thumb32_coprocessor.cpp + frontend/A32/translate/impl/thumb32_data_processing_modified_immediate.cpp + frontend/A32/translate/impl/thumb32_data_processing_plain_binary_immediate.cpp + frontend/A32/translate/impl/thumb32_data_processing_register.cpp + frontend/A32/translate/impl/thumb32_data_processing_shifted_register.cpp + frontend/A32/translate/impl/thumb32_load_byte.cpp + frontend/A32/translate/impl/thumb32_load_halfword.cpp + frontend/A32/translate/impl/thumb32_load_store_dual.cpp + frontend/A32/translate/impl/thumb32_load_store_multiple.cpp + frontend/A32/translate/impl/thumb32_load_word.cpp + frontend/A32/translate/impl/thumb32_long_multiply.cpp + frontend/A32/translate/impl/thumb32_misc.cpp + frontend/A32/translate/impl/thumb32_multiply.cpp + frontend/A32/translate/impl/thumb32_parallel.cpp + frontend/A32/translate/impl/thumb32_store_single_data_item.cpp + frontend/A32/translate/impl/translate.cpp + frontend/A32/translate/impl/translate.h + frontend/A32/translate/impl/vfp.cpp + frontend/A32/translate/translate.cpp + frontend/A32/translate/translate.h + frontend/A32/translate/translate_arm.cpp + frontend/A32/translate/translate_thumb.cpp + interface/A32/a32.h + interface/A32/arch_version.h + interface/A32/config.h + interface/A32/coprocessor.h + interface/A32/coprocessor_util.h + interface/A32/disassembler.h + ir/opt/a32_constant_memory_reads_pass.cpp + ir/opt/a32_get_set_elimination_pass.cpp + ) +endif() + +if ("A64" IN_LIST DYNARMIC_FRONTENDS) + target_sources(dynarmic PRIVATE + frontend/A64/decoder/a64.h + frontend/A64/decoder/a64.inc + frontend/A64/ir_emitter.cpp + frontend/A64/ir_emitter.h + frontend/A64/location_descriptor.cpp + frontend/A64/location_descriptor.h + frontend/A64/translate/impl/branch.cpp + frontend/A64/translate/impl/data_processing_addsub.cpp + frontend/A64/translate/impl/data_processing_bitfield.cpp + frontend/A64/translate/impl/data_processing_conditional_compare.cpp + frontend/A64/translate/impl/data_processing_conditional_select.cpp + frontend/A64/translate/impl/data_processing_crc32.cpp + frontend/A64/translate/impl/data_processing_logical.cpp + frontend/A64/translate/impl/data_processing_multiply.cpp + frontend/A64/translate/impl/data_processing_pcrel.cpp + frontend/A64/translate/impl/data_processing_register.cpp + frontend/A64/translate/impl/data_processing_shift.cpp + frontend/A64/translate/impl/exception_generating.cpp + frontend/A64/translate/impl/floating_point_compare.cpp + frontend/A64/translate/impl/floating_point_conditional_compare.cpp + frontend/A64/translate/impl/floating_point_conditional_select.cpp + frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp + frontend/A64/translate/impl/floating_point_conversion_integer.cpp + frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp + frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp + frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp + frontend/A64/translate/impl/impl.cpp + frontend/A64/translate/impl/impl.h + frontend/A64/translate/impl/load_store_exclusive.cpp + frontend/A64/translate/impl/load_store_load_literal.cpp + frontend/A64/translate/impl/load_store_multiple_structures.cpp + frontend/A64/translate/impl/load_store_no_allocate_pair.cpp + frontend/A64/translate/impl/load_store_register_immediate.cpp + frontend/A64/translate/impl/load_store_register_pair.cpp + frontend/A64/translate/impl/load_store_register_register_offset.cpp + frontend/A64/translate/impl/load_store_register_unprivileged.cpp + frontend/A64/translate/impl/load_store_single_structure.cpp + frontend/A64/translate/impl/move_wide.cpp + frontend/A64/translate/impl/simd_across_lanes.cpp + frontend/A64/translate/impl/simd_aes.cpp + frontend/A64/translate/impl/simd_copy.cpp + frontend/A64/translate/impl/simd_crypto_four_register.cpp + frontend/A64/translate/impl/simd_crypto_three_register.cpp + frontend/A64/translate/impl/simd_extract.cpp + frontend/A64/translate/impl/simd_modified_immediate.cpp + frontend/A64/translate/impl/simd_permute.cpp + frontend/A64/translate/impl/simd_scalar_pairwise.cpp + frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp + frontend/A64/translate/impl/simd_scalar_three_same.cpp + frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp + frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp + frontend/A64/translate/impl/simd_sha.cpp + frontend/A64/translate/impl/simd_sha512.cpp + frontend/A64/translate/impl/simd_shift_by_immediate.cpp + frontend/A64/translate/impl/simd_table_lookup.cpp + frontend/A64/translate/impl/simd_three_different.cpp + frontend/A64/translate/impl/simd_three_same.cpp + frontend/A64/translate/impl/simd_three_same_extra.cpp + frontend/A64/translate/impl/simd_two_register_misc.cpp + frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp + frontend/A64/translate/impl/sys_dc.cpp + frontend/A64/translate/impl/sys_ic.cpp + frontend/A64/translate/impl/system.cpp + frontend/A64/translate/impl/system_flag_format.cpp + frontend/A64/translate/impl/system_flag_manipulation.cpp + frontend/A64/translate/translate.cpp + frontend/A64/translate/translate.h + interface/A64/a64.h + interface/A64/config.h + ir/opt/a64_callback_config_pass.cpp + ir/opt/a64_get_set_elimination_pass.cpp + ir/opt/a64_merge_interpret_blocks.cpp + ) +endif() + +if (ARCHITECTURE STREQUAL "x86_64") + target_sources(dynarmic PRIVATE + backend/x64/abi.cpp + backend/x64/abi.h + backend/x64/block_of_code.cpp + backend/x64/block_of_code.h + backend/x64/block_range_information.cpp + backend/x64/block_range_information.h + backend/x64/callback.cpp + backend/x64/callback.h + backend/x64/constant_pool.cpp + backend/x64/constant_pool.h + backend/x64/constants.h + backend/x64/devirtualize.h + backend/x64/emit_x64.cpp + backend/x64/emit_x64.h + backend/x64/emit_x64_aes.cpp + backend/x64/emit_x64_crc32.cpp + backend/x64/emit_x64_data_processing.cpp + backend/x64/emit_x64_floating_point.cpp + backend/x64/emit_x64_packed.cpp + backend/x64/emit_x64_saturation.cpp + backend/x64/emit_x64_sm4.cpp + backend/x64/emit_x64_vector.cpp + backend/x64/emit_x64_vector_floating_point.cpp + backend/x64/emit_x64_vector_saturation.cpp + backend/x64/exception_handler.h + backend/x64/exclusive_monitor.cpp + backend/x64/host_feature.h + backend/x64/hostloc.cpp + backend/x64/hostloc.h + backend/x64/jitstate_info.h + backend/x64/oparg.h + backend/x64/perf_map.cpp + backend/x64/perf_map.h + backend/x64/reg_alloc.cpp + backend/x64/reg_alloc.h + backend/x64/stack_layout.h + ) + + if ("A32" IN_LIST DYNARMIC_FRONTENDS) + target_sources(dynarmic PRIVATE + backend/x64/a32_emit_x64.cpp + backend/x64/a32_emit_x64.h + backend/x64/a32_interface.cpp + backend/x64/a32_jitstate.cpp + backend/x64/a32_jitstate.h + ) + endif() + + if ("A64" IN_LIST DYNARMIC_FRONTENDS) + target_sources(dynarmic PRIVATE + backend/x64/a64_emit_x64.cpp + backend/x64/a64_emit_x64.h + backend/x64/a64_interface.cpp + backend/x64/a64_jitstate.cpp + backend/x64/a64_jitstate.h + ) + endif() + + if (WIN32) + target_sources(dynarmic PRIVATE backend/x64/exception_handler_windows.cpp) + elseif (APPLE) + find_path(MACH_EXC_DEFS_DIR "mach/mach_exc.defs") + if (NOT MACH_EXC_DEFS_DIR) + message(WARNING "macOS fastmem disabled: unable to find mach/mach_exc.defs") + target_sources(dynarmic PRIVATE backend/x64/exception_handler_generic.cpp) + else() + message(STATUS "mach/mach_exc.defs location: ${MACH_EXC_DEFS_DIR}") + execute_process( + COMMAND + mkdir -p "${CMAKE_CURRENT_SOURCE_DIR}/backend/x64/mig" + COMMAND + mig + -arch x86_64 + -user "${CMAKE_CURRENT_SOURCE_DIR}/backend/x64/mig/mach_exc_user.c" + -header "${CMAKE_CURRENT_SOURCE_DIR}/backend/x64/mig/mach_exc_user.h" + -server "${CMAKE_CURRENT_SOURCE_DIR}/backend/x64/mig/mach_exc_server.c" + -sheader "${CMAKE_CURRENT_SOURCE_DIR}/backend/x64/mig/mach_exc_server.h" + "${MACH_EXC_DEFS_DIR}/mach/mach_exc.defs" + ) + target_sources(dynarmic PRIVATE + backend/x64/exception_handler_macos.cpp + backend/x64/mig/mach_exc_server.c + backend/x64/mig/mach_exc_server.h + ) + endif() + elseif (UNIX) + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_link_libraries(dynarmic PUBLIC rt) + endif() + target_sources(dynarmic PRIVATE backend/x64/exception_handler_posix.cpp) + else() + target_sources(dynarmic PRIVATE backend/x64/exception_handler_generic.cpp) + endif() +else() + message(FATAL_ERROR "Unsupported architecture") +endif() + +include(CreateDirectoryGroups) +create_target_directory_groups(dynarmic) + +target_include_directories(dynarmic PUBLIC ..) +target_compile_options(dynarmic PRIVATE ${DYNARMIC_CXX_FLAGS}) +target_link_libraries(dynarmic + PUBLIC + boost + fmt::fmt + mp + tsl::robin_map + xbyak + Zydis + $<$:${llvm_libs}> +) +if (DYNARMIC_ENABLE_CPU_FEATURE_DETECTION) + target_compile_definitions(dynarmic PRIVATE DYNARMIC_ENABLE_CPU_FEATURE_DETECTION=1) +endif() +if (DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT) + target_compile_definitions(dynarmic PRIVATE DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT=1) +endif() +if (CMAKE_SYSTEM_NAME STREQUAL "Windows") + target_compile_definitions(dynarmic PRIVATE FMT_USE_WINDOWS_H=0) +endif() +# Disable this as it relies on a non-standard feature +target_compile_definitions(dynarmic PRIVATE FMT_USE_USER_DEFINED_LITERALS=0) diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.cpp b/externals/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.cpp new file mode 100755 index 000000000..4ed451c92 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.cpp @@ -0,0 +1,1687 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/a32_emit_x64.h" + +#include +#include +#include + +#include +#include +#include + +#include "dynarmic/backend/x64/a32_jitstate.h" +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/devirtualize.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/backend/x64/nzcv_util.h" +#include "dynarmic/backend/x64/perf_map.h" +#include "dynarmic/backend/x64/stack_layout.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/scope_exit.h" +#include "dynarmic/common/variant_util.h" +#include "dynarmic/common/x64_disassemble.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/frontend/A32/types.h" +#include "dynarmic/interface/A32/coprocessor.h" +#include "dynarmic/interface/exclusive_monitor.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" + +// TODO: Have ARM flags in host flags and not have them use up GPR registers unless necessary. +// TODO: Actually implement that proper instruction selector you've always wanted to sweetheart. + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +static Xbyak::Address MJitStateReg(A32::Reg reg) { + return dword[r15 + offsetof(A32JitState, Reg) + sizeof(u32) * static_cast(reg)]; +} + +static Xbyak::Address MJitStateExtReg(A32::ExtReg reg) { + if (A32::IsSingleExtReg(reg)) { + const size_t index = static_cast(reg) - static_cast(A32::ExtReg::S0); + return dword[r15 + offsetof(A32JitState, ExtReg) + sizeof(u32) * index]; + } + if (A32::IsDoubleExtReg(reg)) { + const size_t index = static_cast(reg) - static_cast(A32::ExtReg::D0); + return qword[r15 + offsetof(A32JitState, ExtReg) + sizeof(u64) * index]; + } + if (A32::IsQuadExtReg(reg)) { + const size_t index = static_cast(reg) - static_cast(A32::ExtReg::Q0); + return xword[r15 + offsetof(A32JitState, ExtReg) + 2 * sizeof(u64) * index]; + } + ASSERT_FALSE("Should never happen."); +} + +A32EmitContext::A32EmitContext(const A32::UserConfig& conf, RegAlloc& reg_alloc, IR::Block& block) + : EmitContext(reg_alloc, block), conf(conf) {} + +A32::LocationDescriptor A32EmitContext::Location() const { + return A32::LocationDescriptor{block.Location()}; +} + +A32::LocationDescriptor A32EmitContext::EndLocation() const { + return A32::LocationDescriptor{block.EndLocation()}; +} + +bool A32EmitContext::IsSingleStep() const { + return Location().SingleStepping(); +} + +FP::FPCR A32EmitContext::FPCR(bool fpcr_controlled) const { + const FP::FPCR fpcr = FP::FPCR{Location().FPSCR().Value()}; + return fpcr_controlled ? fpcr : fpcr.ASIMDStandardValue(); +} + +A32EmitX64::A32EmitX64(BlockOfCode& code, A32::UserConfig conf, A32::Jit* jit_interface) + : EmitX64(code), conf(std::move(conf)), jit_interface(jit_interface) { + GenFastmemFallbacks(); + GenTerminalHandlers(); + code.PreludeComplete(); + ClearFastDispatchTable(); + + exception_handler.SetFastmemCallback([this](u64 rip_) { + return FastmemCallback(rip_); + }); +} + +A32EmitX64::~A32EmitX64() = default; + +A32EmitX64::BlockDescriptor A32EmitX64::Emit(IR::Block& block) { + code.EnableWriting(); + SCOPE_EXIT { code.DisableWriting(); }; + + const std::vector gpr_order = [this] { + std::vector gprs{any_gpr}; + if (conf.page_table) { + gprs.erase(std::find(gprs.begin(), gprs.end(), HostLoc::R14)); + } + if (conf.fastmem_pointer) { + gprs.erase(std::find(gprs.begin(), gprs.end(), HostLoc::R13)); + } + return gprs; + }(); + + RegAlloc reg_alloc{code, gpr_order, any_xmm}; + A32EmitContext ctx{conf, reg_alloc, block}; + + // Start emitting. + code.align(); + const u8* const entrypoint = code.getCurr(); + code.SwitchToFarCode(); + const u8* const entrypoint_far = code.getCurr(); + code.SwitchToNearCode(); + + EmitCondPrelude(ctx); + + for (auto iter = block.begin(); iter != block.end(); ++iter) { + IR::Inst* inst = &*iter; + + // Call the relevant Emit* member function. + switch (inst->GetOpcode()) { +#define OPCODE(name, type, ...) \ + case IR::Opcode::name: \ + A32EmitX64::Emit##name(ctx, inst); \ + break; +#define A32OPC(name, type, ...) \ + case IR::Opcode::A32##name: \ + A32EmitX64::EmitA32##name(ctx, inst); \ + break; +#define A64OPC(...) +#include "dynarmic/ir/opcodes.inc" +#undef OPCODE +#undef A32OPC +#undef A64OPC + + default: + ASSERT_FALSE("Invalid opcode: {}", inst->GetOpcode()); + break; + } + + reg_alloc.EndOfAllocScope(); + } + + reg_alloc.AssertNoMoreUses(); + + EmitAddCycles(block.CycleCount()); + EmitX64::EmitTerminal(block.GetTerminal(), ctx.Location().SetSingleStepping(false), ctx.IsSingleStep()); + code.int3(); + + const size_t size = static_cast(code.getCurr() - entrypoint); + + const A32::LocationDescriptor descriptor{block.Location()}; + const A32::LocationDescriptor end_location{block.EndLocation()}; + + const auto range = boost::icl::discrete_interval::closed(descriptor.PC(), end_location.PC() - 1); + block_ranges.AddRange(range, descriptor); + + return RegisterBlock(descriptor, entrypoint, entrypoint_far, size); +} + +void A32EmitX64::ClearCache() { + EmitX64::ClearCache(); + block_ranges.ClearCache(); + ClearFastDispatchTable(); + fastmem_patch_info.clear(); +} + +void A32EmitX64::InvalidateCacheRanges(const boost::icl::interval_set& ranges) { + InvalidateBasicBlocks(block_ranges.InvalidateRanges(ranges)); +} + +void A32EmitX64::EmitCondPrelude(const A32EmitContext& ctx) { + if (ctx.block.GetCondition() == IR::Cond::AL) { + ASSERT(!ctx.block.HasConditionFailedLocation()); + return; + } + + ASSERT(ctx.block.HasConditionFailedLocation()); + + Xbyak::Label pass = EmitCond(ctx.block.GetCondition()); + EmitAddCycles(ctx.block.ConditionFailedCycleCount()); + EmitTerminal(IR::Term::LinkBlock{ctx.block.ConditionFailedLocation()}, ctx.Location().SetSingleStepping(false), ctx.IsSingleStep()); + code.L(pass); +} + +void A32EmitX64::ClearFastDispatchTable() { + if (conf.HasOptimization(OptimizationFlag::FastDispatch)) { + fast_dispatch_table.fill({}); + } +} + +void A32EmitX64::GenFastmemFallbacks() { + const std::initializer_list idxes{0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}; + const std::array, 4> read_callbacks{{ + {8, Devirtualize<&A32::UserCallbacks::MemoryRead8>(conf.callbacks)}, + {16, Devirtualize<&A32::UserCallbacks::MemoryRead16>(conf.callbacks)}, + {32, Devirtualize<&A32::UserCallbacks::MemoryRead32>(conf.callbacks)}, + {64, Devirtualize<&A32::UserCallbacks::MemoryRead64>(conf.callbacks)}, + }}; + const std::array, 4> write_callbacks{{ + {8, Devirtualize<&A32::UserCallbacks::MemoryWrite8>(conf.callbacks)}, + {16, Devirtualize<&A32::UserCallbacks::MemoryWrite16>(conf.callbacks)}, + {32, Devirtualize<&A32::UserCallbacks::MemoryWrite32>(conf.callbacks)}, + {64, Devirtualize<&A32::UserCallbacks::MemoryWrite64>(conf.callbacks)}, + }}; + + for (int vaddr_idx : idxes) { + for (int value_idx : idxes) { + for (const auto& [bitsize, callback] : read_callbacks) { + code.align(); + read_fallbacks[std::make_tuple(bitsize, vaddr_idx, value_idx)] = code.getCurr(); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocRegIdx(value_idx)); + if (vaddr_idx != code.ABI_PARAM2.getIdx()) { + code.mov(code.ABI_PARAM2, Xbyak::Reg64{vaddr_idx}); + } + callback.EmitCall(code); + if (value_idx != code.ABI_RETURN.getIdx()) { + code.mov(Xbyak::Reg64{value_idx}, code.ABI_RETURN); + } + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocRegIdx(value_idx)); + code.ret(); + PerfMapRegister(read_fallbacks[std::make_tuple(bitsize, vaddr_idx, value_idx)], code.getCurr(), fmt::format("a32_read_fallback_{}", bitsize)); + } + + for (const auto& [bitsize, callback] : write_callbacks) { + code.align(); + write_fallbacks[std::make_tuple(bitsize, vaddr_idx, value_idx)] = code.getCurr(); + ABI_PushCallerSaveRegistersAndAdjustStack(code); + if (vaddr_idx == code.ABI_PARAM3.getIdx() && value_idx == code.ABI_PARAM2.getIdx()) { + code.xchg(code.ABI_PARAM2, code.ABI_PARAM3); + } else if (vaddr_idx == code.ABI_PARAM3.getIdx()) { + code.mov(code.ABI_PARAM2, Xbyak::Reg64{vaddr_idx}); + if (value_idx != code.ABI_PARAM3.getIdx()) { + code.mov(code.ABI_PARAM3, Xbyak::Reg64{value_idx}); + } + } else { + if (value_idx != code.ABI_PARAM3.getIdx()) { + code.mov(code.ABI_PARAM3, Xbyak::Reg64{value_idx}); + } + if (vaddr_idx != code.ABI_PARAM2.getIdx()) { + code.mov(code.ABI_PARAM2, Xbyak::Reg64{vaddr_idx}); + } + } + callback.EmitCall(code); + ABI_PopCallerSaveRegistersAndAdjustStack(code); + code.ret(); + PerfMapRegister(write_fallbacks[std::make_tuple(bitsize, vaddr_idx, value_idx)], code.getCurr(), fmt::format("a32_write_fallback_{}", bitsize)); + } + } + } +} + +void A32EmitX64::GenTerminalHandlers() { + // PC ends up in ebp, location_descriptor ends up in rbx + const auto calculate_location_descriptor = [this] { + // This calculation has to match up with IREmitter::PushRSB + code.mov(ebx, dword[r15 + offsetof(A32JitState, upper_location_descriptor)]); + code.shl(rbx, 32); + code.mov(ecx, MJitStateReg(A32::Reg::PC)); + code.mov(ebp, ecx); + code.or_(rbx, rcx); + }; + + Xbyak::Label fast_dispatch_cache_miss, rsb_cache_miss; + + code.align(); + terminal_handler_pop_rsb_hint = code.getCurr(); + calculate_location_descriptor(); + code.mov(eax, dword[r15 + offsetof(A32JitState, rsb_ptr)]); + code.sub(eax, 1); + code.and_(eax, u32(A32JitState::RSBPtrMask)); + code.mov(dword[r15 + offsetof(A32JitState, rsb_ptr)], eax); + code.cmp(rbx, qword[r15 + offsetof(A32JitState, rsb_location_descriptors) + rax * sizeof(u64)]); + if (conf.HasOptimization(OptimizationFlag::FastDispatch)) { + code.jne(rsb_cache_miss); + } else { + code.jne(code.GetReturnFromRunCodeAddress()); + } + code.mov(rax, qword[r15 + offsetof(A32JitState, rsb_codeptrs) + rax * sizeof(u64)]); + code.jmp(rax); + PerfMapRegister(terminal_handler_pop_rsb_hint, code.getCurr(), "a32_terminal_handler_pop_rsb_hint"); + + if (conf.HasOptimization(OptimizationFlag::FastDispatch)) { + code.align(); + terminal_handler_fast_dispatch_hint = code.getCurr(); + calculate_location_descriptor(); + code.L(rsb_cache_miss); + code.mov(r12, reinterpret_cast(fast_dispatch_table.data())); + if (code.HasHostFeature(HostFeature::SSE42)) { + code.crc32(ebp, r12d); + } + code.and_(ebp, fast_dispatch_table_mask); + code.lea(rbp, ptr[r12 + rbp]); + code.cmp(rbx, qword[rbp + offsetof(FastDispatchEntry, location_descriptor)]); + code.jne(fast_dispatch_cache_miss); + code.jmp(ptr[rbp + offsetof(FastDispatchEntry, code_ptr)]); + code.L(fast_dispatch_cache_miss); + code.mov(qword[rbp + offsetof(FastDispatchEntry, location_descriptor)], rbx); + code.LookupBlock(); + code.mov(ptr[rbp + offsetof(FastDispatchEntry, code_ptr)], rax); + code.jmp(rax); + PerfMapRegister(terminal_handler_fast_dispatch_hint, code.getCurr(), "a32_terminal_handler_fast_dispatch_hint"); + + code.align(); + fast_dispatch_table_lookup = code.getCurr(); + code.mov(code.ABI_PARAM2, reinterpret_cast(fast_dispatch_table.data())); + if (code.HasHostFeature(HostFeature::SSE42)) { + code.crc32(code.ABI_PARAM1.cvt32(), code.ABI_PARAM2.cvt32()); + } + code.and_(code.ABI_PARAM1.cvt32(), fast_dispatch_table_mask); + code.lea(code.ABI_RETURN, code.ptr[code.ABI_PARAM1 + code.ABI_PARAM2]); + code.ret(); + } +} + +void A32EmitX64::EmitA32SetCheckBit(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg8 to_store = ctx.reg_alloc.UseGpr(args[0]).cvt8(); + code.mov(code.byte[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, check_bit)], to_store); +} + +void A32EmitX64::EmitA32GetRegister(A32EmitContext& ctx, IR::Inst* inst) { + const A32::Reg reg = inst->GetArg(0).GetA32RegRef(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.mov(result, MJitStateReg(reg)); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A32EmitX64::EmitA32GetExtendedRegister32(A32EmitContext& ctx, IR::Inst* inst) { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + ASSERT(A32::IsSingleExtReg(reg)); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.movss(result, MJitStateExtReg(reg)); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A32EmitX64::EmitA32GetExtendedRegister64(A32EmitContext& ctx, IR::Inst* inst) { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + ASSERT(A32::IsDoubleExtReg(reg)); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.movsd(result, MJitStateExtReg(reg)); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A32EmitX64::EmitA32GetVector(A32EmitContext& ctx, IR::Inst* inst) { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + ASSERT(A32::IsDoubleExtReg(reg) || A32::IsQuadExtReg(reg)); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + if (A32::IsDoubleExtReg(reg)) { + code.movsd(result, MJitStateExtReg(reg)); + } else { + code.movaps(result, MJitStateExtReg(reg)); + } + ctx.reg_alloc.DefineValue(inst, result); +} + +void A32EmitX64::EmitA32SetRegister(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A32::Reg reg = inst->GetArg(0).GetA32RegRef(); + + if (args[1].IsImmediate()) { + code.mov(MJitStateReg(reg), args[1].GetImmediateU32()); + } else if (args[1].IsInXmm()) { + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[1]); + code.movd(MJitStateReg(reg), to_store); + } else { + const Xbyak::Reg32 to_store = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + code.mov(MJitStateReg(reg), to_store); + } +} + +void A32EmitX64::EmitA32SetExtendedRegister32(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + ASSERT(A32::IsSingleExtReg(reg)); + + if (args[1].IsInXmm()) { + Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[1]); + code.movss(MJitStateExtReg(reg), to_store); + } else { + Xbyak::Reg32 to_store = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + code.mov(MJitStateExtReg(reg), to_store); + } +} + +void A32EmitX64::EmitA32SetExtendedRegister64(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + ASSERT(A32::IsDoubleExtReg(reg)); + + if (args[1].IsInXmm()) { + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[1]); + code.movsd(MJitStateExtReg(reg), to_store); + } else { + const Xbyak::Reg64 to_store = ctx.reg_alloc.UseGpr(args[1]); + code.mov(MJitStateExtReg(reg), to_store); + } +} + +void A32EmitX64::EmitA32SetVector(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + ASSERT(A32::IsDoubleExtReg(reg) || A32::IsQuadExtReg(reg)); + + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[1]); + if (A32::IsDoubleExtReg(reg)) { + code.movsd(MJitStateExtReg(reg), to_store); + } else { + code.movaps(MJitStateExtReg(reg), to_store); + } +} + +void A32EmitX64::EmitA32GetCpsr(A32EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 tmp2 = ctx.reg_alloc.ScratchGpr().cvt32(); + + if (code.HasHostFeature(HostFeature::FastBMI2)) { + // Here we observe that cpsr_et and cpsr_ge are right next to each other in memory, + // so we load them both at the same time with one 64-bit read. This allows us to + // extract all of their bits together at once with one pext. + static_assert(offsetof(A32JitState, upper_location_descriptor) + 4 == offsetof(A32JitState, cpsr_ge)); + code.mov(result.cvt64(), qword[r15 + offsetof(A32JitState, upper_location_descriptor)]); + code.mov(tmp.cvt64(), 0x80808080'00000003ull); + code.pext(result.cvt64(), result.cvt64(), tmp.cvt64()); + code.mov(tmp, 0x000f0220); + code.pdep(result, result, tmp); + } else { + code.mov(result, dword[r15 + offsetof(A32JitState, upper_location_descriptor)]); + code.imul(result, result, 0x12); + code.and_(result, 0x00000220); + + code.mov(tmp, dword[r15 + offsetof(A32JitState, cpsr_ge)]); + code.and_(tmp, 0x80808080); + code.imul(tmp, tmp, 0x00204081); + code.shr(tmp, 12); + code.and_(tmp, 0x000f0000); + code.or_(result, tmp); + } + + code.mov(tmp, dword[r15 + offsetof(A32JitState, cpsr_q)]); + code.shl(tmp, 27); + code.or_(result, tmp); + + code.mov(tmp2, dword[r15 + offsetof(A32JitState, cpsr_nzcv)]); + if (code.HasHostFeature(HostFeature::FastBMI2)) { + code.mov(tmp, NZCV::x64_mask); + code.pext(tmp2, tmp2, tmp); + code.shl(tmp2, 28); + } else { + code.and_(tmp2, NZCV::x64_mask); + code.imul(tmp2, tmp2, NZCV::from_x64_multiplier); + code.and_(tmp2, NZCV::arm_mask); + } + code.or_(result, tmp2); + + code.or_(result, dword[r15 + offsetof(A32JitState, cpsr_jaifm)]); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void A32EmitX64::EmitA32SetCpsr(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 cpsr = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 tmp2 = ctx.reg_alloc.ScratchGpr().cvt32(); + + if (conf.always_little_endian) { + code.and_(cpsr, 0xFFFFFDFF); + } + + // cpsr_q + code.bt(cpsr, 27); + code.setc(code.byte[r15 + offsetof(A32JitState, cpsr_q)]); + + // cpsr_nzcv + code.mov(tmp, cpsr); + code.shr(tmp, 28); + if (code.HasHostFeature(HostFeature::FastBMI2)) { + code.mov(tmp2, NZCV::x64_mask); + code.pdep(tmp, tmp, tmp2); + } else { + code.imul(tmp, tmp, NZCV::to_x64_multiplier); + code.and_(tmp, NZCV::x64_mask); + } + code.mov(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], tmp); + + // cpsr_jaifm + code.mov(tmp, cpsr); + code.and_(tmp, 0x07F0FDDF); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_jaifm)], tmp); + + if (code.HasHostFeature(HostFeature::FastBMI2)) { + // cpsr_et and cpsr_ge + static_assert(offsetof(A32JitState, upper_location_descriptor) + 4 == offsetof(A32JitState, cpsr_ge)); + // This mask is 0x7FFF0000, because we do not want the MSB to be sign extended to the upper dword. + static_assert((A32::LocationDescriptor::FPSCR_MODE_MASK & ~0x7FFF0000) == 0); + + code.and_(qword[r15 + offsetof(A32JitState, upper_location_descriptor)], u32(0x7FFF0000)); + code.mov(tmp, 0x000f0220); + code.pext(cpsr, cpsr, tmp); + code.mov(tmp.cvt64(), 0x01010101'00000003ull); + code.pdep(cpsr.cvt64(), cpsr.cvt64(), tmp.cvt64()); + // We perform SWAR partitioned subtraction here, to negate the GE bytes. + code.mov(tmp.cvt64(), 0x80808080'00000003ull); + code.mov(tmp2.cvt64(), tmp.cvt64()); + code.sub(tmp.cvt64(), cpsr.cvt64()); + code.xor_(tmp.cvt64(), tmp2.cvt64()); + code.or_(qword[r15 + offsetof(A32JitState, upper_location_descriptor)], tmp.cvt64()); + } else { + code.and_(dword[r15 + offsetof(A32JitState, upper_location_descriptor)], u32(0xFFFF0000)); + code.mov(tmp, cpsr); + code.and_(tmp, 0x00000220); + code.imul(tmp, tmp, 0x00900000); + code.shr(tmp, 28); + code.or_(dword[r15 + offsetof(A32JitState, upper_location_descriptor)], tmp); + + code.and_(cpsr, 0x000f0000); + code.shr(cpsr, 16); + code.imul(cpsr, cpsr, 0x00204081); + code.and_(cpsr, 0x01010101); + code.mov(tmp, 0x80808080); + code.sub(tmp, cpsr); + code.xor_(tmp, 0x80808080); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_ge)], tmp); + } +} + +void A32EmitX64::EmitA32SetCpsrNZCV(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (args[0].IsImmediate()) { + const u32 imm = args[0].GetImmediateU32(); + + code.mov(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], NZCV::ToX64(imm)); + } else if (code.HasHostFeature(HostFeature::FastBMI2)) { + const Xbyak::Reg32 a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 b = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.shr(a, 28); + code.mov(b, NZCV::x64_mask); + code.pdep(a, a, b); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], a); + } else { + const Xbyak::Reg32 a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + code.shr(a, 28); + code.imul(a, a, NZCV::to_x64_multiplier); + code.and_(a, NZCV::x64_mask); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], a); + } +} + +void A32EmitX64::EmitA32SetCpsrNZCVQ(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (args[0].IsImmediate()) { + const u32 imm = args[0].GetImmediateU32(); + + code.mov(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], NZCV::ToX64(imm)); + code.mov(code.byte[r15 + offsetof(A32JitState, cpsr_q)], u8((imm & 0x08000000) != 0 ? 1 : 0)); + } else if (code.HasHostFeature(HostFeature::FastBMI2)) { + const Xbyak::Reg32 a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 b = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.shr(a, 28); + code.setc(code.byte[r15 + offsetof(A32JitState, cpsr_q)]); + code.mov(b, NZCV::x64_mask); + code.pdep(a, a, b); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], a); + } else { + const Xbyak::Reg32 a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + code.shr(a, 28); + code.setc(code.byte[r15 + offsetof(A32JitState, cpsr_q)]); + code.imul(a, a, NZCV::to_x64_multiplier); + code.and_(a, NZCV::x64_mask); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], a); + } +} + +static void EmitGetFlag(BlockOfCode& code, A32EmitContext& ctx, IR::Inst* inst, size_t flag_bit) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(result, dword[r15 + offsetof(A32JitState, cpsr_nzcv)]); + if (flag_bit != 0) { + code.shr(result, static_cast(flag_bit)); + } + code.and_(result, 1); + ctx.reg_alloc.DefineValue(inst, result); +} + +static void EmitSetFlag(BlockOfCode& code, A32EmitContext& ctx, IR::Inst* inst, size_t flag_bit) { + const u32 flag_mask = 1u << flag_bit; + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (args[0].IsImmediate()) { + if (args[0].GetImmediateU1()) { + code.or_(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], flag_mask); + } else { + code.and_(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], ~flag_mask); + } + } else { + const Xbyak::Reg32 to_store = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + if (flag_bit != 0) { + code.shl(to_store, static_cast(flag_bit)); + code.and_(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], ~flag_mask); + code.or_(dword[r15 + offsetof(A32JitState, cpsr_nzcv)], to_store); + } else { + code.mov(code.byte[r15 + offsetof(A32JitState, cpsr_nzcv)], to_store.cvt8()); + } + } +} + +void A32EmitX64::EmitA32GetNFlag(A32EmitContext& ctx, IR::Inst* inst) { + EmitGetFlag(code, ctx, inst, NZCV::x64_n_flag_bit); +} + +void A32EmitX64::EmitA32SetNFlag(A32EmitContext& ctx, IR::Inst* inst) { + EmitSetFlag(code, ctx, inst, NZCV::x64_n_flag_bit); +} + +void A32EmitX64::EmitA32GetZFlag(A32EmitContext& ctx, IR::Inst* inst) { + EmitGetFlag(code, ctx, inst, NZCV::x64_z_flag_bit); +} + +void A32EmitX64::EmitA32SetZFlag(A32EmitContext& ctx, IR::Inst* inst) { + EmitSetFlag(code, ctx, inst, NZCV::x64_z_flag_bit); +} + +void A32EmitX64::EmitA32GetCFlag(A32EmitContext& ctx, IR::Inst* inst) { + EmitGetFlag(code, ctx, inst, NZCV::x64_c_flag_bit); +} + +void A32EmitX64::EmitA32SetCFlag(A32EmitContext& ctx, IR::Inst* inst) { + EmitSetFlag(code, ctx, inst, NZCV::x64_c_flag_bit); +} + +void A32EmitX64::EmitA32GetVFlag(A32EmitContext& ctx, IR::Inst* inst) { + EmitGetFlag(code, ctx, inst, NZCV::x64_v_flag_bit); +} + +void A32EmitX64::EmitA32SetVFlag(A32EmitContext& ctx, IR::Inst* inst) { + EmitSetFlag(code, ctx, inst, NZCV::x64_v_flag_bit); +} + +void A32EmitX64::EmitA32OrQFlag(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (args[0].IsImmediate()) { + if (args[0].GetImmediateU1()) { + code.mov(dword[r15 + offsetof(A32JitState, cpsr_q)], 1); + } + } else { + const Xbyak::Reg8 to_store = ctx.reg_alloc.UseGpr(args[0]).cvt8(); + + code.or_(code.byte[r15 + offsetof(A32JitState, cpsr_q)], to_store); + } +} + +void A32EmitX64::EmitA32GetGEFlags(A32EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.movd(result, dword[r15 + offsetof(A32JitState, cpsr_ge)]); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A32EmitX64::EmitA32SetGEFlags(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(!args[0].IsImmediate()); + + if (args[0].IsInXmm()) { + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[0]); + code.movd(dword[r15 + offsetof(A32JitState, cpsr_ge)], to_store); + } else { + const Xbyak::Reg32 to_store = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_ge)], to_store); + } +} + +void A32EmitX64::EmitA32SetGEFlagsCompressed(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (args[0].IsImmediate()) { + const u32 imm = args[0].GetImmediateU32(); + u32 ge = 0; + ge |= Common::Bit<19>(imm) ? 0xFF000000 : 0; + ge |= Common::Bit<18>(imm) ? 0x00FF0000 : 0; + ge |= Common::Bit<17>(imm) ? 0x0000FF00 : 0; + ge |= Common::Bit<16>(imm) ? 0x000000FF : 0; + + code.mov(dword[r15 + offsetof(A32JitState, cpsr_ge)], ge); + } else if (code.HasHostFeature(HostFeature::FastBMI2)) { + const Xbyak::Reg32 a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 b = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.mov(b, 0x01010101); + code.shr(a, 16); + code.pdep(a, a, b); + code.imul(a, a, 0xFF); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_ge)], a); + } else { + const Xbyak::Reg32 a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + code.shr(a, 16); + code.and_(a, 0xF); + code.imul(a, a, 0x00204081); + code.and_(a, 0x01010101); + code.imul(a, a, 0xFF); + code.mov(dword[r15 + offsetof(A32JitState, cpsr_ge)], a); + } +} + +void A32EmitX64::EmitA32DataSynchronizationBarrier(A32EmitContext&, IR::Inst*) { + code.mfence(); +} + +void A32EmitX64::EmitA32DataMemoryBarrier(A32EmitContext&, IR::Inst*) { + code.lfence(); +} + +void A32EmitX64::EmitA32InstructionSynchronizationBarrier(A32EmitContext& ctx, IR::Inst*) { + if (!conf.hook_isb) { + return; + } + + ctx.reg_alloc.HostCall(nullptr); + Devirtualize<&A32::UserCallbacks::InstructionSynchronizationBarrierRaised>(conf.callbacks).EmitCall(code); +} + +void A32EmitX64::EmitA32BXWritePC(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& arg = args[0]; + + const u32 upper_without_t = (ctx.EndLocation().SetSingleStepping(false).UniqueHash() >> 32) & 0xFFFFFFFE; + + // Pseudocode: + // if (new_pc & 1) { + // new_pc &= 0xFFFFFFFE; + // cpsr.T = true; + // } else { + // new_pc &= 0xFFFFFFFC; + // cpsr.T = false; + // } + // We rely on the fact we disallow EFlag from changing within a block. + + if (arg.IsImmediate()) { + const u32 new_pc = arg.GetImmediateU32(); + const u32 mask = Common::Bit<0>(new_pc) ? 0xFFFFFFFE : 0xFFFFFFFC; + const u32 new_upper = upper_without_t | (Common::Bit<0>(new_pc) ? 1 : 0); + + code.mov(MJitStateReg(A32::Reg::PC), new_pc & mask); + code.mov(dword[r15 + offsetof(A32JitState, upper_location_descriptor)], new_upper); + } else { + const Xbyak::Reg32 new_pc = ctx.reg_alloc.UseScratchGpr(arg).cvt32(); + const Xbyak::Reg32 mask = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 new_upper = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.mov(mask, new_pc); + code.and_(mask, 1); + code.lea(new_upper, ptr[mask.cvt64() + upper_without_t]); + code.lea(mask, ptr[mask.cvt64() + mask.cvt64() * 1 - 4]); // mask = pc & 1 ? 0xFFFFFFFE : 0xFFFFFFFC + code.and_(new_pc, mask); + code.mov(MJitStateReg(A32::Reg::PC), new_pc); + code.mov(dword[r15 + offsetof(A32JitState, upper_location_descriptor)], new_upper); + } +} + +void A32EmitX64::EmitA32UpdateUpperLocationDescriptor(A32EmitContext& ctx, IR::Inst*) { + for (auto& inst : ctx.block) { + if (inst.GetOpcode() == IR::Opcode::A32BXWritePC) { + return; + } + } + EmitSetUpperLocationDescriptor(ctx.EndLocation(), ctx.Location()); +} + +void A32EmitX64::EmitA32CallSupervisor(A32EmitContext& ctx, IR::Inst* inst) { + ctx.reg_alloc.HostCall(nullptr); + + code.SwitchMxcsrOnExit(); + code.mov(code.ABI_PARAM2, qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)]); + code.sub(code.ABI_PARAM2, qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)]); + Devirtualize<&A32::UserCallbacks::AddTicks>(conf.callbacks).EmitCall(code); + ctx.reg_alloc.EndOfAllocScope(); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(nullptr, {}, args[0]); + Devirtualize<&A32::UserCallbacks::CallSVC>(conf.callbacks).EmitCall(code); + + Devirtualize<&A32::UserCallbacks::GetTicksRemaining>(conf.callbacks).EmitCall(code); + code.mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)], code.ABI_RETURN); + code.mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], code.ABI_RETURN); + code.SwitchMxcsrOnEntry(); +} + +void A32EmitX64::EmitA32ExceptionRaised(A32EmitContext& ctx, IR::Inst* inst) { + ctx.reg_alloc.HostCall(nullptr); + + code.SwitchMxcsrOnExit(); + code.mov(code.ABI_PARAM2, qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)]); + code.sub(code.ABI_PARAM2, qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)]); + Devirtualize<&A32::UserCallbacks::AddTicks>(conf.callbacks).EmitCall(code); + ctx.reg_alloc.EndOfAllocScope(); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[0].IsImmediate() && args[1].IsImmediate()); + const u32 pc = args[0].GetImmediateU32(); + const u64 exception = args[1].GetImmediateU64(); + Devirtualize<&A32::UserCallbacks::ExceptionRaised>(conf.callbacks).EmitCall(code, [&](RegList param) { + code.mov(param[0], pc); + code.mov(param[1], exception); + }); + + Devirtualize<&A32::UserCallbacks::GetTicksRemaining>(conf.callbacks).EmitCall(code); + code.mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)], code.ABI_RETURN); + code.mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], code.ABI_RETURN); + code.SwitchMxcsrOnEntry(); +} + +static u32 GetFpscrImpl(A32JitState* jit_state) { + return jit_state->Fpscr(); +} + +void A32EmitX64::EmitA32GetFpscr(A32EmitContext& ctx, IR::Inst* inst) { + ctx.reg_alloc.HostCall(inst); + code.mov(code.ABI_PARAM1, code.r15); + + code.stmxcsr(code.dword[code.r15 + offsetof(A32JitState, guest_MXCSR)]); + code.CallFunction(&GetFpscrImpl); +} + +static void SetFpscrImpl(u32 value, A32JitState* jit_state) { + jit_state->SetFpscr(value); +} + +void A32EmitX64::EmitA32SetFpscr(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(nullptr, args[0]); + code.mov(code.ABI_PARAM2, code.r15); + + code.CallFunction(&SetFpscrImpl); + code.ldmxcsr(code.dword[code.r15 + offsetof(A32JitState, guest_MXCSR)]); +} + +void A32EmitX64::EmitA32GetFpscrNZCV(A32EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(result, dword[r15 + offsetof(A32JitState, fpsr_nzcv)]); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A32EmitX64::EmitA32SetFpscrNZCV(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::FastBMI2)) { + const Xbyak::Reg32 value = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.mov(tmp, NZCV::x64_mask); + code.pext(tmp, value, tmp); + code.shl(tmp, 28); + code.mov(dword[r15 + offsetof(A32JitState, fpsr_nzcv)], tmp); + + return; + } + + const Xbyak::Reg32 value = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + code.and_(value, NZCV::x64_mask); + code.imul(value, value, NZCV::from_x64_multiplier); + code.and_(value, NZCV::arm_mask); + code.mov(dword[r15 + offsetof(A32JitState, fpsr_nzcv)], value); +} + +void A32EmitX64::EmitA32ClearExclusive(A32EmitContext&, IR::Inst*) { + code.mov(code.byte[r15 + offsetof(A32JitState, exclusive_state)], u8(0)); +} + +std::optional A32EmitX64::ShouldFastmem(A32EmitContext& ctx, IR::Inst* inst) const { + if (!conf.fastmem_pointer || !exception_handler.SupportsFastmem()) { + return std::nullopt; + } + + const auto marker = std::make_tuple(ctx.Location(), ctx.GetInstOffset(inst)); + if (do_not_fastmem.count(marker) > 0) { + return std::nullopt; + } + return marker; +} + +FakeCall A32EmitX64::FastmemCallback(u64 rip_) { + const auto iter = fastmem_patch_info.find(rip_); + + if (iter == fastmem_patch_info.end()) { + fmt::print("dynarmic: Segfault happened within JITted code at rip = {:016x}\n", rip_); + fmt::print("Segfault wasn't at a fastmem patch location!\n"); + fmt::print("Now dumping code.......\n\n"); + Common::DumpDisassembledX64((void*)(rip_ & ~u64(0xFFF)), 0x1000); + ASSERT_FALSE("iter != fastmem_patch_info.end()"); + } + + if (conf.recompile_on_fastmem_failure) { + const auto marker = iter->second.marker; + do_not_fastmem.emplace(marker); + InvalidateBasicBlocks({std::get<0>(marker)}); + } + FakeCall ret; + ret.call_rip = iter->second.callback; + ret.ret_rip = iter->second.resume_rip; + return ret; +} + +namespace { + +constexpr size_t page_bits = 12; +constexpr size_t page_size = 1 << page_bits; +constexpr size_t page_mask = (1 << page_bits) - 1; + +void EmitDetectMisaignedVAddr(BlockOfCode& code, A32EmitContext& ctx, size_t bitsize, Xbyak::Label& abort, Xbyak::Reg32 vaddr, Xbyak::Reg32 tmp) { + if (bitsize == 8 || (ctx.conf.detect_misaligned_access_via_page_table & bitsize) == 0) { + return; + } + + const u32 align_mask = [bitsize]() -> u32 { + switch (bitsize) { + case 16: + return 0b1; + case 32: + return 0b11; + case 64: + return 0b111; + } + UNREACHABLE(); + }(); + + code.test(vaddr, align_mask); + + if (!ctx.conf.only_detect_misalignment_via_page_table_on_page_boundary) { + code.jnz(abort, code.T_NEAR); + return; + } + + const u32 page_align_mask = static_cast(page_size - 1) & ~align_mask; + + Xbyak::Label detect_boundary, resume; + + code.jnz(detect_boundary, code.T_NEAR); + code.L(resume); + + code.SwitchToFarCode(); + code.L(detect_boundary); + code.mov(tmp, vaddr); + code.and_(tmp, page_align_mask); + code.cmp(tmp, page_align_mask); + code.jne(resume, code.T_NEAR); + // NOTE: We expect to fallthrough into abort code here. + code.SwitchToNearCode(); +} + +Xbyak::RegExp EmitVAddrLookup(BlockOfCode& code, A32EmitContext& ctx, size_t bitsize, Xbyak::Label& abort, Xbyak::Reg64 vaddr) { + const Xbyak::Reg64 page = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg32 tmp = ctx.conf.absolute_offset_page_table ? page.cvt32() : ctx.reg_alloc.ScratchGpr().cvt32(); + + EmitDetectMisaignedVAddr(code, ctx, bitsize, abort, vaddr.cvt32(), tmp); + + // TODO: This code assumes vaddr has been zext from 32-bits to 64-bits. + + code.mov(tmp, vaddr.cvt32()); + code.shr(tmp, static_cast(page_bits)); + code.mov(page, qword[r14 + tmp.cvt64() * sizeof(void*)]); + if (ctx.conf.page_table_pointer_mask_bits == 0) { + code.test(page, page); + } else { + code.and_(page, ~u32(0) << ctx.conf.page_table_pointer_mask_bits); + } + code.jz(abort, code.T_NEAR); + if (ctx.conf.absolute_offset_page_table) { + return page + vaddr; + } + code.mov(tmp, vaddr.cvt32()); + code.and_(tmp, static_cast(page_mask)); + return page + tmp.cvt64(); +} + +template +void EmitReadMemoryMov(BlockOfCode& code, const Xbyak::Reg64& value, const Xbyak::RegExp& addr) { + switch (bitsize) { + case 8: + code.movzx(value.cvt32(), code.byte[addr]); + return; + case 16: + code.movzx(value.cvt32(), word[addr]); + return; + case 32: + code.mov(value.cvt32(), dword[addr]); + return; + case 64: + code.mov(value, qword[addr]); + return; + default: + ASSERT_FALSE("Invalid bitsize"); + } +} + +template +void EmitWriteMemoryMov(BlockOfCode& code, const Xbyak::RegExp& addr, const Xbyak::Reg64& value) { + switch (bitsize) { + case 8: + code.mov(code.byte[addr], value.cvt8()); + return; + case 16: + code.mov(word[addr], value.cvt16()); + return; + case 32: + code.mov(dword[addr], value.cvt32()); + return; + case 64: + code.mov(qword[addr], value); + return; + default: + ASSERT_FALSE("Invalid bitsize"); + } +} + +} // anonymous namespace + +template +void A32EmitX64::EmitMemoryRead(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto fastmem_marker = ShouldFastmem(ctx, inst); + + if (!conf.page_table && !fastmem_marker) { + // Neither fastmem nor page table: Use callbacks + ctx.reg_alloc.HostCall(inst, {}, args[0]); + Devirtualize(conf.callbacks).EmitCall(code); + return; + } + + const Xbyak::Reg64 vaddr = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 value = ctx.reg_alloc.ScratchGpr(); + + const auto wrapped_fn = read_fallbacks[std::make_tuple(bitsize, vaddr.getIdx(), value.getIdx())]; + + if (fastmem_marker) { + // Use fastmem + const auto src_ptr = r13 + vaddr; + + const auto location = code.getCurr(); + EmitReadMemoryMov(code, value, src_ptr); + + fastmem_patch_info.emplace( + Common::BitCast(location), + FastmemPatchInfo{ + Common::BitCast(code.getCurr()), + Common::BitCast(wrapped_fn), + *fastmem_marker, + }); + + ctx.reg_alloc.DefineValue(inst, value); + return; + } + + // Use page table + ASSERT(conf.page_table); + Xbyak::Label abort, end; + + const auto src_ptr = EmitVAddrLookup(code, ctx, bitsize, abort, vaddr); + EmitReadMemoryMov(code, value, src_ptr); + code.L(end); + + code.SwitchToFarCode(); + code.L(abort); + code.call(wrapped_fn); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, value); +} + +template +void A32EmitX64::EmitMemoryWrite(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto fastmem_marker = ShouldFastmem(ctx, inst); + + if (!conf.page_table && !fastmem_marker) { + // Neither fastmem nor page table: Use callbacks + ctx.reg_alloc.HostCall(nullptr, {}, args[0], args[1]); + Devirtualize(conf.callbacks).EmitCall(code); + return; + } + + const Xbyak::Reg64 vaddr = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 value = ctx.reg_alloc.UseGpr(args[1]); + + const auto wrapped_fn = write_fallbacks[std::make_tuple(bitsize, vaddr.getIdx(), value.getIdx())]; + + if (fastmem_marker) { + // Use fastmem + const auto dest_ptr = r13 + vaddr; + + const auto location = code.getCurr(); + EmitWriteMemoryMov(code, dest_ptr, value); + + fastmem_patch_info.emplace( + Common::BitCast(location), + FastmemPatchInfo{ + Common::BitCast(code.getCurr()), + Common::BitCast(wrapped_fn), + *fastmem_marker, + }); + + return; + } + + // Use page table + ASSERT(conf.page_table); + Xbyak::Label abort, end; + + const auto dest_ptr = EmitVAddrLookup(code, ctx, bitsize, abort, vaddr); + EmitWriteMemoryMov(code, dest_ptr, value); + code.L(end); + + code.SwitchToFarCode(); + code.L(abort); + code.call(wrapped_fn); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); +} + +void A32EmitX64::EmitA32ReadMemory8(A32EmitContext& ctx, IR::Inst* inst) { + EmitMemoryRead<8, &A32::UserCallbacks::MemoryRead8>(ctx, inst); +} + +void A32EmitX64::EmitA32ReadMemory16(A32EmitContext& ctx, IR::Inst* inst) { + EmitMemoryRead<16, &A32::UserCallbacks::MemoryRead16>(ctx, inst); +} + +void A32EmitX64::EmitA32ReadMemory32(A32EmitContext& ctx, IR::Inst* inst) { + EmitMemoryRead<32, &A32::UserCallbacks::MemoryRead32>(ctx, inst); +} + +void A32EmitX64::EmitA32ReadMemory64(A32EmitContext& ctx, IR::Inst* inst) { + EmitMemoryRead<64, &A32::UserCallbacks::MemoryRead64>(ctx, inst); +} + +void A32EmitX64::EmitA32WriteMemory8(A32EmitContext& ctx, IR::Inst* inst) { + EmitMemoryWrite<8, &A32::UserCallbacks::MemoryWrite8>(ctx, inst); +} + +void A32EmitX64::EmitA32WriteMemory16(A32EmitContext& ctx, IR::Inst* inst) { + EmitMemoryWrite<16, &A32::UserCallbacks::MemoryWrite16>(ctx, inst); +} + +void A32EmitX64::EmitA32WriteMemory32(A32EmitContext& ctx, IR::Inst* inst) { + EmitMemoryWrite<32, &A32::UserCallbacks::MemoryWrite32>(ctx, inst); +} + +void A32EmitX64::EmitA32WriteMemory64(A32EmitContext& ctx, IR::Inst* inst) { + EmitMemoryWrite<64, &A32::UserCallbacks::MemoryWrite64>(ctx, inst); +} + +template +void A32EmitX64::ExclusiveReadMemory(A32EmitContext& ctx, IR::Inst* inst) { + using T = mp::unsigned_integer_of_size; + + ASSERT(conf.global_monitor != nullptr); + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.HostCall(inst, {}, args[0]); + + code.mov(code.byte[r15 + offsetof(A32JitState, exclusive_state)], u8(1)); + code.mov(code.ABI_PARAM1, reinterpret_cast(&conf)); + code.CallLambda( + [](A32::UserConfig& conf, u32 vaddr) -> T { + return conf.global_monitor->ReadAndMark(conf.processor_id, vaddr, [&]() -> T { + return (conf.callbacks->*callback)(vaddr); + }); + }); +} + +template +void A32EmitX64::ExclusiveWriteMemory(A32EmitContext& ctx, IR::Inst* inst) { + using T = mp::unsigned_integer_of_size; + + ASSERT(conf.global_monitor != nullptr); + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.HostCall(inst, {}, args[0], args[1]); + + Xbyak::Label end; + + code.mov(code.ABI_RETURN, u32(1)); + code.cmp(code.byte[r15 + offsetof(A32JitState, exclusive_state)], u8(0)); + code.je(end); + code.mov(code.byte[r15 + offsetof(A32JitState, exclusive_state)], u8(0)); + code.mov(code.ABI_PARAM1, reinterpret_cast(&conf)); + code.CallLambda( + [](A32::UserConfig& conf, u32 vaddr, T value) -> u32 { + return conf.global_monitor->DoExclusiveOperation(conf.processor_id, vaddr, + [&](T expected) -> bool { + return (conf.callbacks->*callback)(vaddr, value, expected); + }) + ? 0 + : 1; + }); + code.L(end); +} + +void A32EmitX64::EmitA32ExclusiveReadMemory8(A32EmitContext& ctx, IR::Inst* inst) { + ExclusiveReadMemory<8, &A32::UserCallbacks::MemoryRead8>(ctx, inst); +} + +void A32EmitX64::EmitA32ExclusiveReadMemory16(A32EmitContext& ctx, IR::Inst* inst) { + ExclusiveReadMemory<16, &A32::UserCallbacks::MemoryRead16>(ctx, inst); +} + +void A32EmitX64::EmitA32ExclusiveReadMemory32(A32EmitContext& ctx, IR::Inst* inst) { + ExclusiveReadMemory<32, &A32::UserCallbacks::MemoryRead32>(ctx, inst); +} + +void A32EmitX64::EmitA32ExclusiveReadMemory64(A32EmitContext& ctx, IR::Inst* inst) { + ExclusiveReadMemory<64, &A32::UserCallbacks::MemoryRead64>(ctx, inst); +} + +void A32EmitX64::EmitA32ExclusiveWriteMemory8(A32EmitContext& ctx, IR::Inst* inst) { + ExclusiveWriteMemory<8, &A32::UserCallbacks::MemoryWriteExclusive8>(ctx, inst); +} + +void A32EmitX64::EmitA32ExclusiveWriteMemory16(A32EmitContext& ctx, IR::Inst* inst) { + ExclusiveWriteMemory<16, &A32::UserCallbacks::MemoryWriteExclusive16>(ctx, inst); +} + +void A32EmitX64::EmitA32ExclusiveWriteMemory32(A32EmitContext& ctx, IR::Inst* inst) { + ExclusiveWriteMemory<32, &A32::UserCallbacks::MemoryWriteExclusive32>(ctx, inst); +} + +void A32EmitX64::EmitA32ExclusiveWriteMemory64(A32EmitContext& ctx, IR::Inst* inst) { + ExclusiveWriteMemory<64, &A32::UserCallbacks::MemoryWriteExclusive64>(ctx, inst); +} + +static void EmitCoprocessorException() { + ASSERT_FALSE("Should raise coproc exception here"); +} + +static void CallCoprocCallback(BlockOfCode& code, RegAlloc& reg_alloc, A32::Jit* jit_interface, A32::Coprocessor::Callback callback, IR::Inst* inst = nullptr, std::optional arg0 = {}, std::optional arg1 = {}) { + reg_alloc.HostCall(inst, {}, {}, arg0, arg1); + + code.mov(code.ABI_PARAM1, reinterpret_cast(jit_interface)); + if (callback.user_arg) { + code.mov(code.ABI_PARAM2, reinterpret_cast(*callback.user_arg)); + } + + code.CallFunction(callback.function); +} + +void A32EmitX64::EmitA32CoprocInternalOperation(A32EmitContext& ctx, IR::Inst* inst) { + const auto coproc_info = inst->GetArg(0).GetCoprocInfo(); + const size_t coproc_num = coproc_info[0]; + const bool two = coproc_info[1] != 0; + const auto opc1 = static_cast(coproc_info[2]); + const auto CRd = static_cast(coproc_info[3]); + const auto CRn = static_cast(coproc_info[4]); + const auto CRm = static_cast(coproc_info[5]); + const auto opc2 = static_cast(coproc_info[6]); + + std::shared_ptr coproc = conf.coprocessors[coproc_num]; + if (!coproc) { + EmitCoprocessorException(); + return; + } + + const auto action = coproc->CompileInternalOperation(two, opc1, CRd, CRn, CRm, opc2); + if (!action) { + EmitCoprocessorException(); + return; + } + + CallCoprocCallback(code, ctx.reg_alloc, jit_interface, *action); +} + +void A32EmitX64::EmitA32CoprocSendOneWord(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto coproc_info = inst->GetArg(0).GetCoprocInfo(); + const size_t coproc_num = coproc_info[0]; + const bool two = coproc_info[1] != 0; + const auto opc1 = static_cast(coproc_info[2]); + const auto CRn = static_cast(coproc_info[3]); + const auto CRm = static_cast(coproc_info[4]); + const auto opc2 = static_cast(coproc_info[5]); + + std::shared_ptr coproc = conf.coprocessors[coproc_num]; + if (!coproc) { + EmitCoprocessorException(); + return; + } + + const auto action = coproc->CompileSendOneWord(two, opc1, CRn, CRm, opc2); + + if (std::holds_alternative(action)) { + EmitCoprocessorException(); + return; + } + + if (const auto cb = std::get_if(&action)) { + CallCoprocCallback(code, ctx.reg_alloc, jit_interface, *cb, nullptr, args[1]); + return; + } + + if (const auto destination_ptr = std::get_if(&action)) { + const Xbyak::Reg32 reg_word = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + const Xbyak::Reg64 reg_destination_addr = ctx.reg_alloc.ScratchGpr(); + + code.mov(reg_destination_addr, reinterpret_cast(*destination_ptr)); + code.mov(code.dword[reg_destination_addr], reg_word); + + return; + } + + UNREACHABLE(); +} + +void A32EmitX64::EmitA32CoprocSendTwoWords(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const auto coproc_info = inst->GetArg(0).GetCoprocInfo(); + const size_t coproc_num = coproc_info[0]; + const bool two = coproc_info[1] != 0; + const auto opc = static_cast(coproc_info[2]); + const auto CRm = static_cast(coproc_info[3]); + + std::shared_ptr coproc = conf.coprocessors[coproc_num]; + if (!coproc) { + EmitCoprocessorException(); + return; + } + + const auto action = coproc->CompileSendTwoWords(two, opc, CRm); + + if (std::holds_alternative(action)) { + EmitCoprocessorException(); + return; + } + + if (const auto cb = std::get_if(&action)) { + CallCoprocCallback(code, ctx.reg_alloc, jit_interface, *cb, nullptr, args[1], args[2]); + return; + } + + if (const auto destination_ptrs = std::get_if>(&action)) { + const Xbyak::Reg32 reg_word1 = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + const Xbyak::Reg32 reg_word2 = ctx.reg_alloc.UseGpr(args[2]).cvt32(); + const Xbyak::Reg64 reg_destination_addr = ctx.reg_alloc.ScratchGpr(); + + code.mov(reg_destination_addr, reinterpret_cast((*destination_ptrs)[0])); + code.mov(code.dword[reg_destination_addr], reg_word1); + code.mov(reg_destination_addr, reinterpret_cast((*destination_ptrs)[1])); + code.mov(code.dword[reg_destination_addr], reg_word2); + + return; + } + + UNREACHABLE(); +} + +void A32EmitX64::EmitA32CoprocGetOneWord(A32EmitContext& ctx, IR::Inst* inst) { + const auto coproc_info = inst->GetArg(0).GetCoprocInfo(); + + const size_t coproc_num = coproc_info[0]; + const bool two = coproc_info[1] != 0; + const auto opc1 = static_cast(coproc_info[2]); + const auto CRn = static_cast(coproc_info[3]); + const auto CRm = static_cast(coproc_info[4]); + const auto opc2 = static_cast(coproc_info[5]); + + std::shared_ptr coproc = conf.coprocessors[coproc_num]; + if (!coproc) { + EmitCoprocessorException(); + return; + } + + const auto action = coproc->CompileGetOneWord(two, opc1, CRn, CRm, opc2); + + if (std::holds_alternative(action)) { + EmitCoprocessorException(); + return; + } + + if (const auto cb = std::get_if(&action)) { + CallCoprocCallback(code, ctx.reg_alloc, jit_interface, *cb, inst); + return; + } + + if (const auto source_ptr = std::get_if(&action)) { + const Xbyak::Reg32 reg_word = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg64 reg_source_addr = ctx.reg_alloc.ScratchGpr(); + + code.mov(reg_source_addr, reinterpret_cast(*source_ptr)); + code.mov(reg_word, code.dword[reg_source_addr]); + + ctx.reg_alloc.DefineValue(inst, reg_word); + + return; + } + + UNREACHABLE(); +} + +void A32EmitX64::EmitA32CoprocGetTwoWords(A32EmitContext& ctx, IR::Inst* inst) { + const auto coproc_info = inst->GetArg(0).GetCoprocInfo(); + const size_t coproc_num = coproc_info[0]; + const bool two = coproc_info[1] != 0; + const unsigned opc = coproc_info[2]; + const auto CRm = static_cast(coproc_info[3]); + + std::shared_ptr coproc = conf.coprocessors[coproc_num]; + if (!coproc) { + EmitCoprocessorException(); + return; + } + + auto action = coproc->CompileGetTwoWords(two, opc, CRm); + + if (std::holds_alternative(action)) { + EmitCoprocessorException(); + return; + } + + if (const auto cb = std::get_if(&action)) { + CallCoprocCallback(code, ctx.reg_alloc, jit_interface, *cb, inst); + return; + } + + if (const auto source_ptrs = std::get_if>(&action)) { + const Xbyak::Reg64 reg_result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 reg_destination_addr = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 reg_tmp = ctx.reg_alloc.ScratchGpr(); + + code.mov(reg_destination_addr, reinterpret_cast((*source_ptrs)[1])); + code.mov(reg_result.cvt32(), code.dword[reg_destination_addr]); + code.shl(reg_result, 32); + code.mov(reg_destination_addr, reinterpret_cast((*source_ptrs)[0])); + code.mov(reg_tmp.cvt32(), code.dword[reg_destination_addr]); + code.or_(reg_result, reg_tmp); + + ctx.reg_alloc.DefineValue(inst, reg_result); + + return; + } + + UNREACHABLE(); +} + +void A32EmitX64::EmitA32CoprocLoadWords(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const auto coproc_info = inst->GetArg(0).GetCoprocInfo(); + const size_t coproc_num = coproc_info[0]; + const bool two = coproc_info[1] != 0; + const bool long_transfer = coproc_info[2] != 0; + const auto CRd = static_cast(coproc_info[3]); + const bool has_option = coproc_info[4] != 0; + + std::optional option = std::nullopt; + if (has_option) { + option = coproc_info[5]; + } + + std::shared_ptr coproc = conf.coprocessors[coproc_num]; + if (!coproc) { + EmitCoprocessorException(); + return; + } + + const auto action = coproc->CompileLoadWords(two, long_transfer, CRd, option); + if (!action) { + EmitCoprocessorException(); + return; + } + + CallCoprocCallback(code, ctx.reg_alloc, jit_interface, *action, nullptr, args[1]); +} + +void A32EmitX64::EmitA32CoprocStoreWords(A32EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const auto coproc_info = inst->GetArg(0).GetCoprocInfo(); + const size_t coproc_num = coproc_info[0]; + const bool two = coproc_info[1] != 0; + const bool long_transfer = coproc_info[2] != 0; + const auto CRd = static_cast(coproc_info[3]); + const bool has_option = coproc_info[4] != 0; + + std::optional option = std::nullopt; + if (has_option) { + option = coproc_info[5]; + } + + std::shared_ptr coproc = conf.coprocessors[coproc_num]; + if (!coproc) { + EmitCoprocessorException(); + return; + } + + const auto action = coproc->CompileStoreWords(two, long_transfer, CRd, option); + if (!action) { + EmitCoprocessorException(); + return; + } + + CallCoprocCallback(code, ctx.reg_alloc, jit_interface, *action, nullptr, args[1]); +} + +std::string A32EmitX64::LocationDescriptorToFriendlyName(const IR::LocationDescriptor& ir_descriptor) const { + const A32::LocationDescriptor descriptor{ir_descriptor}; + return fmt::format("a32_{}{:08X}_{}_fpcr{:08X}", + descriptor.TFlag() ? "t" : "a", + descriptor.PC(), + descriptor.EFlag() ? "be" : "le", + descriptor.FPSCR().Value()); +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::Interpret terminal, IR::LocationDescriptor initial_location, bool) { + ASSERT_MSG(A32::LocationDescriptor{terminal.next}.TFlag() == A32::LocationDescriptor{initial_location}.TFlag(), "Unimplemented"); + ASSERT_MSG(A32::LocationDescriptor{terminal.next}.EFlag() == A32::LocationDescriptor{initial_location}.EFlag(), "Unimplemented"); + ASSERT_MSG(terminal.num_instructions == 1, "Unimplemented"); + + code.mov(code.ABI_PARAM2.cvt32(), A32::LocationDescriptor{terminal.next}.PC()); + code.mov(code.ABI_PARAM3.cvt32(), 1); + code.mov(MJitStateReg(A32::Reg::PC), code.ABI_PARAM2.cvt32()); + code.SwitchMxcsrOnExit(); + Devirtualize<&A32::UserCallbacks::InterpreterFallback>(conf.callbacks).EmitCall(code); + code.ReturnFromRunCode(true); // TODO: Check cycles +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::ReturnToDispatch, IR::LocationDescriptor, bool) { + code.ReturnFromRunCode(); +} + +void A32EmitX64::EmitSetUpperLocationDescriptor(IR::LocationDescriptor new_location, IR::LocationDescriptor old_location) { + auto get_upper = [](const IR::LocationDescriptor& desc) -> u32 { + return static_cast(A32::LocationDescriptor{desc}.SetSingleStepping(false).UniqueHash() >> 32); + }; + + const u32 old_upper = get_upper(old_location); + const u32 new_upper = [&] { + const u32 mask = ~u32(conf.always_little_endian ? 0x2 : 0); + return get_upper(new_location) & mask; + }(); + + if (old_upper != new_upper) { + code.mov(dword[r15 + offsetof(A32JitState, upper_location_descriptor)], new_upper); + } +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::LinkBlock terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + EmitSetUpperLocationDescriptor(terminal.next, initial_location); + + if (!conf.HasOptimization(OptimizationFlag::BlockLinking) || is_single_step) { + code.mov(MJitStateReg(A32::Reg::PC), A32::LocationDescriptor{terminal.next}.PC()); + code.ReturnFromRunCode(); + return; + } + + code.cmp(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], 0); + + patch_information[terminal.next].jg.emplace_back(code.getCurr()); + if (const auto next_bb = GetBasicBlock(terminal.next)) { + EmitPatchJg(terminal.next, next_bb->entrypoint); + } else { + EmitPatchJg(terminal.next); + } + Xbyak::Label dest; + code.jmp(dest, Xbyak::CodeGenerator::T_NEAR); + + code.SwitchToFarCode(); + code.align(16); + code.L(dest); + code.mov(MJitStateReg(A32::Reg::PC), A32::LocationDescriptor{terminal.next}.PC()); + PushRSBHelper(rax, rbx, terminal.next); + code.ForceReturnFromRunCode(); + code.SwitchToNearCode(); +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::LinkBlockFast terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + EmitSetUpperLocationDescriptor(terminal.next, initial_location); + + if (!conf.HasOptimization(OptimizationFlag::BlockLinking) || is_single_step) { + code.mov(MJitStateReg(A32::Reg::PC), A32::LocationDescriptor{terminal.next}.PC()); + code.ReturnFromRunCode(); + return; + } + + patch_information[terminal.next].jmp.emplace_back(code.getCurr()); + if (const auto next_bb = GetBasicBlock(terminal.next)) { + EmitPatchJmp(terminal.next, next_bb->entrypoint); + } else { + EmitPatchJmp(terminal.next); + } +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::PopRSBHint, IR::LocationDescriptor, bool is_single_step) { + if (!conf.HasOptimization(OptimizationFlag::ReturnStackBuffer) || is_single_step) { + code.ReturnFromRunCode(); + return; + } + + code.jmp(terminal_handler_pop_rsb_hint); +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::FastDispatchHint, IR::LocationDescriptor, bool is_single_step) { + if (!conf.HasOptimization(OptimizationFlag::FastDispatch) || is_single_step) { + code.ReturnFromRunCode(); + return; + } + + code.jmp(terminal_handler_fast_dispatch_hint); +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::If terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + Xbyak::Label pass = EmitCond(terminal.if_); + EmitTerminal(terminal.else_, initial_location, is_single_step); + code.L(pass); + EmitTerminal(terminal.then_, initial_location, is_single_step); +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::CheckBit terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + Xbyak::Label fail; + code.cmp(code.byte[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, check_bit)], u8(0)); + code.jz(fail); + EmitTerminal(terminal.then_, initial_location, is_single_step); + code.L(fail); + EmitTerminal(terminal.else_, initial_location, is_single_step); +} + +void A32EmitX64::EmitTerminalImpl(IR::Term::CheckHalt terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + code.cmp(code.byte[r15 + offsetof(A32JitState, halt_requested)], u8(0)); + code.jne(code.GetForceReturnFromRunCodeAddress()); + EmitTerminal(terminal.else_, initial_location, is_single_step); +} + +void A32EmitX64::EmitPatchJg(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr) { + const CodePtr patch_location = code.getCurr(); + if (target_code_ptr) { + code.jg(target_code_ptr); + } else { + code.mov(MJitStateReg(A32::Reg::PC), A32::LocationDescriptor{target_desc}.PC()); + code.jg(code.GetReturnFromRunCodeAddress()); + } + code.EnsurePatchLocationSize(patch_location, 14); +} + +void A32EmitX64::EmitPatchJmp(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr) { + const CodePtr patch_location = code.getCurr(); + if (target_code_ptr) { + code.jmp(target_code_ptr); + } else { + code.mov(MJitStateReg(A32::Reg::PC), A32::LocationDescriptor{target_desc}.PC()); + code.jmp(code.GetReturnFromRunCodeAddress()); + } + code.EnsurePatchLocationSize(patch_location, 13); +} + +void A32EmitX64::EmitPatchMovRcx(CodePtr target_code_ptr) { + if (!target_code_ptr) { + target_code_ptr = code.GetReturnFromRunCodeAddress(); + } + const CodePtr patch_location = code.getCurr(); + code.mov(code.rcx, reinterpret_cast(target_code_ptr)); + code.EnsurePatchLocationSize(patch_location, 10); +} + +void A32EmitX64::Unpatch(const IR::LocationDescriptor& location) { + EmitX64::Unpatch(location); + if (conf.HasOptimization(OptimizationFlag::FastDispatch)) { + (*fast_dispatch_table_lookup)(location.Value()) = {}; + } +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.h b/externals/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.h new file mode 100755 index 000000000..93ab4b871 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a32_emit_x64.h @@ -0,0 +1,136 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include + +#include "dynarmic/backend/x64/a32_jitstate.h" +#include "dynarmic/backend/x64/block_range_information.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/interface/A32/a32.h" +#include "dynarmic/interface/A32/config.h" +#include "dynarmic/ir/terminal.h" + +namespace Dynarmic::Backend::X64 { + +class RegAlloc; + +struct A32EmitContext final : public EmitContext { + A32EmitContext(const A32::UserConfig& conf, RegAlloc& reg_alloc, IR::Block& block); + + A32::LocationDescriptor Location() const; + A32::LocationDescriptor EndLocation() const; + bool IsSingleStep() const; + FP::FPCR FPCR(bool fpcr_controlled = true) const override; + + bool HasOptimization(OptimizationFlag flag) const override { + return conf.HasOptimization(flag); + } + + const A32::UserConfig& conf; +}; + +class A32EmitX64 final : public EmitX64 { +public: + A32EmitX64(BlockOfCode& code, A32::UserConfig conf, A32::Jit* jit_interface); + ~A32EmitX64() override; + + /** + * Emit host machine code for a basic block with intermediate representation `block`. + * @note block is modified. + */ + BlockDescriptor Emit(IR::Block& block); + + void ClearCache() override; + + void InvalidateCacheRanges(const boost::icl::interval_set& ranges); + +protected: + const A32::UserConfig conf; + A32::Jit* jit_interface; + BlockRangeInformation block_ranges; + + void EmitCondPrelude(const A32EmitContext& ctx); + + struct FastDispatchEntry { + u64 location_descriptor = 0xFFFF'FFFF'FFFF'FFFFull; + const void* code_ptr = nullptr; + }; + static_assert(sizeof(FastDispatchEntry) == 0x10); + static constexpr u64 fast_dispatch_table_mask = 0xFFFF0; + static constexpr size_t fast_dispatch_table_size = 0x10000; + std::array fast_dispatch_table; + void ClearFastDispatchTable(); + + std::map, void (*)()> read_fallbacks; + std::map, void (*)()> write_fallbacks; + void GenFastmemFallbacks(); + + const void* terminal_handler_pop_rsb_hint; + const void* terminal_handler_fast_dispatch_hint = nullptr; + FastDispatchEntry& (*fast_dispatch_table_lookup)(u64) = nullptr; + void GenTerminalHandlers(); + + // Microinstruction emitters +#define OPCODE(...) +#define A32OPC(name, type, ...) void EmitA32##name(A32EmitContext& ctx, IR::Inst* inst); +#define A64OPC(...) +#include "dynarmic/ir/opcodes.inc" +#undef OPCODE +#undef A32OPC +#undef A64OPC + + // Helpers + std::string LocationDescriptorToFriendlyName(const IR::LocationDescriptor&) const override; + + // Fastmem information + using DoNotFastmemMarker = std::tuple; + struct FastmemPatchInfo { + u64 resume_rip; + u64 callback; + DoNotFastmemMarker marker; + }; + tsl::robin_map fastmem_patch_info; + std::set do_not_fastmem; + std::optional ShouldFastmem(A32EmitContext& ctx, IR::Inst* inst) const; + FakeCall FastmemCallback(u64 rip); + + // Memory access helpers + template + void EmitMemoryRead(A32EmitContext& ctx, IR::Inst* inst); + template + void EmitMemoryWrite(A32EmitContext& ctx, IR::Inst* inst); + template + void ExclusiveReadMemory(A32EmitContext& ctx, IR::Inst* inst); + template + void ExclusiveWriteMemory(A32EmitContext& ctx, IR::Inst* inst); + + // Terminal instruction emitters + void EmitSetUpperLocationDescriptor(IR::LocationDescriptor new_location, IR::LocationDescriptor old_location); + void EmitTerminalImpl(IR::Term::Interpret terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::ReturnToDispatch terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::LinkBlock terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::LinkBlockFast terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::PopRSBHint terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::FastDispatchHint terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::If terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::CheckBit terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::CheckHalt terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + + // Patching + void Unpatch(const IR::LocationDescriptor& target_desc) override; + void EmitPatchJg(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr = nullptr) override; + void EmitPatchJmp(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr = nullptr) override; + void EmitPatchMovRcx(CodePtr target_code_ptr = nullptr) override; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a32_interface.cpp b/externals/dynarmic/src/dynarmic/backend/x64/a32_interface.cpp new file mode 100755 index 000000000..af0ee8ea6 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a32_interface.cpp @@ -0,0 +1,331 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include +#include + +#include "dynarmic/backend/x64/a32_emit_x64.h" +#include "dynarmic/backend/x64/a32_jitstate.h" +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/callback.h" +#include "dynarmic/backend/x64/devirtualize.h" +#include "dynarmic/backend/x64/jitstate_info.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/cast_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/llvm_disassemble.h" +#include "dynarmic/common/scope_exit.h" +#include "dynarmic/frontend/A32/translate/translate.h" +#include "dynarmic/interface/A32/a32.h" +#include "dynarmic/interface/A32/context.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/location_descriptor.h" +#include "dynarmic/ir/opt/passes.h" + +namespace Dynarmic::A32 { + +using namespace Backend::X64; + +static RunCodeCallbacks GenRunCodeCallbacks(A32::UserCallbacks* cb, CodePtr (*LookupBlock)(void* lookup_block_arg), void* arg) { + return RunCodeCallbacks{ + std::make_unique(LookupBlock, reinterpret_cast(arg)), + std::make_unique(Devirtualize<&A32::UserCallbacks::AddTicks>(cb)), + std::make_unique(Devirtualize<&A32::UserCallbacks::GetTicksRemaining>(cb)), + }; +} + +static std::function GenRCP(const A32::UserConfig& conf) { + return [conf](BlockOfCode& code) { + if (conf.page_table) { + code.mov(code.r14, Common::BitCast(conf.page_table)); + } + if (conf.fastmem_pointer) { + code.mov(code.r13, Common::BitCast(conf.fastmem_pointer)); + } + }; +} + +struct Jit::Impl { + Impl(Jit* jit, A32::UserConfig conf) + : block_of_code(GenRunCodeCallbacks(conf.callbacks, &GetCurrentBlockThunk, this), JitStateInfo{jit_state}, conf.code_cache_size, conf.far_code_offset, GenRCP(conf)) + , emitter(block_of_code, conf, jit) + , conf(std::move(conf)) + , jit_interface(jit) {} + + A32JitState jit_state; + BlockOfCode block_of_code; + A32EmitX64 emitter; + + const A32::UserConfig conf; + + // Requests made during execution to invalidate the cache are queued up here. + size_t invalid_cache_generation = 0; + boost::icl::interval_set invalid_cache_ranges; + bool invalidate_entire_cache = false; + + void Execute() { + const CodePtr current_codeptr = [this] { + // RSB optimization + const u32 new_rsb_ptr = (jit_state.rsb_ptr - 1) & A32JitState::RSBPtrMask; + if (jit_state.GetUniqueHash() == jit_state.rsb_location_descriptors[new_rsb_ptr]) { + jit_state.rsb_ptr = new_rsb_ptr; + return reinterpret_cast(jit_state.rsb_codeptrs[new_rsb_ptr]); + } + + return GetCurrentBlock(); + }(); + + block_of_code.RunCode(&jit_state, current_codeptr); + } + + void Step() { + block_of_code.StepCode(&jit_state, GetCurrentSingleStep()); + } + + void ClearExclusiveState() { + jit_state.exclusive_state = 0; + } + + std::string Disassemble(const IR::LocationDescriptor& descriptor) { + auto block = GetBasicBlock(descriptor); + std::string result = fmt::format("address: {}\nsize: {} bytes\n", block.entrypoint, block.size); + result += Common::DisassembleX64(block.entrypoint, reinterpret_cast(block.entrypoint) + block.size); + return result; + } + + void PerformCacheInvalidation() { + if (invalidate_entire_cache) { + jit_state.ResetRSB(); + block_of_code.ClearCache(); + emitter.ClearCache(); + + invalid_cache_ranges.clear(); + invalidate_entire_cache = false; + invalid_cache_generation++; + return; + } + + if (invalid_cache_ranges.empty()) { + return; + } + + jit_state.ResetRSB(); + emitter.InvalidateCacheRanges(invalid_cache_ranges); + invalid_cache_ranges.clear(); + invalid_cache_generation++; + } + + void RequestCacheInvalidation() { + if (jit_interface->is_executing) { + jit_state.halt_requested = true; + return; + } + + PerformCacheInvalidation(); + } + +private: + Jit* jit_interface; + + static CodePtr GetCurrentBlockThunk(void* this_voidptr) { + Jit::Impl& this_ = *static_cast(this_voidptr); + return this_.GetCurrentBlock(); + } + + IR::LocationDescriptor GetCurrentLocation() const { + return IR::LocationDescriptor{jit_state.GetUniqueHash()}; + } + + CodePtr GetCurrentBlock() { + return GetBasicBlock(GetCurrentLocation()).entrypoint; + } + + CodePtr GetCurrentSingleStep() { + return GetBasicBlock(A32::LocationDescriptor{GetCurrentLocation()}.SetSingleStepping(true)).entrypoint; + } + + A32EmitX64::BlockDescriptor GetBasicBlock(IR::LocationDescriptor descriptor) { + auto block = emitter.GetBasicBlock(descriptor); + if (block) + return *block; + + constexpr size_t MINIMUM_REMAINING_CODESIZE = 1 * 1024 * 1024; + if (block_of_code.SpaceRemaining() < MINIMUM_REMAINING_CODESIZE) { + invalidate_entire_cache = true; + PerformCacheInvalidation(); + } + + IR::Block ir_block = A32::Translate(A32::LocationDescriptor{descriptor}, conf.callbacks, {conf.arch_version, conf.define_unpredictable_behaviour, conf.hook_hint_instructions}); + if (conf.HasOptimization(OptimizationFlag::GetSetElimination)) { + Optimization::A32GetSetElimination(ir_block); + Optimization::DeadCodeElimination(ir_block); + } + if (conf.HasOptimization(OptimizationFlag::ConstProp)) { + Optimization::A32ConstantMemoryReads(ir_block, conf.callbacks); + Optimization::ConstantPropagation(ir_block); + Optimization::DeadCodeElimination(ir_block); + } + Optimization::VerificationPass(ir_block); + return emitter.Emit(ir_block); + } +}; + +Jit::Jit(UserConfig conf) + : impl(std::make_unique(this, std::move(conf))) {} + +Jit::~Jit() = default; + +void Jit::Run() { + ASSERT(!is_executing); + is_executing = true; + SCOPE_EXIT { this->is_executing = false; }; + + impl->jit_state.halt_requested = false; + + impl->Execute(); + + impl->PerformCacheInvalidation(); +} + +void Jit::Step() { + ASSERT(!is_executing); + is_executing = true; + SCOPE_EXIT { this->is_executing = false; }; + + impl->jit_state.halt_requested = true; + + impl->Step(); + + impl->PerformCacheInvalidation(); +} + +void Jit::ClearCache() { + impl->invalidate_entire_cache = true; + impl->RequestCacheInvalidation(); +} + +void Jit::InvalidateCacheRange(std::uint32_t start_address, std::size_t length) { + impl->invalid_cache_ranges.add(boost::icl::discrete_interval::closed(start_address, static_cast(start_address + length - 1))); + impl->RequestCacheInvalidation(); +} + +void Jit::Reset() { + ASSERT(!is_executing); + impl->jit_state = {}; +} + +void Jit::HaltExecution() { + impl->jit_state.halt_requested = true; +} + +void Jit::ClearExclusiveState() { + impl->ClearExclusiveState(); +} + +std::array& Jit::Regs() { + return impl->jit_state.Reg; +} +const std::array& Jit::Regs() const { + return impl->jit_state.Reg; +} + +std::array& Jit::ExtRegs() { + return impl->jit_state.ExtReg; +} + +const std::array& Jit::ExtRegs() const { + return impl->jit_state.ExtReg; +} + +u32 Jit::Cpsr() const { + return impl->jit_state.Cpsr(); +} + +void Jit::SetCpsr(u32 value) { + return impl->jit_state.SetCpsr(value); +} + +u32 Jit::Fpscr() const { + return impl->jit_state.Fpscr(); +} + +void Jit::SetFpscr(u32 value) { + return impl->jit_state.SetFpscr(value); +} + +Context Jit::SaveContext() const { + Context ctx; + SaveContext(ctx); + return ctx; +} + +struct Context::Impl { + A32JitState jit_state; + size_t invalid_cache_generation; +}; + +Context::Context() + : impl(std::make_unique()) { + impl->jit_state.ResetRSB(); +} +Context::~Context() = default; +Context::Context(const Context& ctx) + : impl(std::make_unique(*ctx.impl)) {} +Context::Context(Context&& ctx) noexcept + : impl(std::move(ctx.impl)) {} +Context& Context::operator=(const Context& ctx) { + *impl = *ctx.impl; + return *this; +} +Context& Context::operator=(Context&& ctx) noexcept { + impl = std::move(ctx.impl); + return *this; +} + +std::array& Context::Regs() { + return impl->jit_state.Reg; +} +const std::array& Context::Regs() const { + return impl->jit_state.Reg; +} +std::array& Context::ExtRegs() { + return impl->jit_state.ExtReg; +} +const std::array& Context::ExtRegs() const { + return impl->jit_state.ExtReg; +} + +std::uint32_t Context::Cpsr() const { + return impl->jit_state.Cpsr(); +} +void Context::SetCpsr(std::uint32_t value) { + impl->jit_state.SetCpsr(value); +} + +std::uint32_t Context::Fpscr() const { + return impl->jit_state.Fpscr(); +} +void Context::SetFpscr(std::uint32_t value) { + return impl->jit_state.SetFpscr(value); +} + +void Jit::SaveContext(Context& ctx) const { + ctx.impl->jit_state.TransferJitState(impl->jit_state, false); + ctx.impl->invalid_cache_generation = impl->invalid_cache_generation; +} + +void Jit::LoadContext(const Context& ctx) { + bool reset_rsb = ctx.impl->invalid_cache_generation != impl->invalid_cache_generation; + impl->jit_state.TransferJitState(ctx.impl->jit_state, reset_rsb); +} + +std::string Jit::Disassemble() const { + return Common::DisassembleX64(impl->block_of_code.GetCodeBegin(), impl->block_of_code.getCurr()); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a32_jitstate.cpp b/externals/dynarmic/src/dynarmic/backend/x64/a32_jitstate.cpp new file mode 100755 index 000000000..4d9cf07b7 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a32_jitstate.cpp @@ -0,0 +1,205 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/a32_jitstate.h" + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/nzcv_util.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A32/location_descriptor.h" + +namespace Dynarmic::Backend::X64 { + +/** + * CPSR Bits + * ========= + * + * ARM CPSR flags + * -------------- + * N bit 31 Negative flag + * Z bit 30 Zero flag + * C bit 29 Carry flag + * V bit 28 oVerflow flag + * Q bit 27 Saturation flag + * IT[1:0] bits 25-26 If-Then execution state (lower 2 bits) + * J bit 24 Jazelle instruction set flag + * GE bits 16-19 Greater than or Equal flags + * IT[7:2] bits 10-15 If-Then execution state (upper 6 bits) + * E bit 9 Data Endianness flag + * A bit 8 Disable imprecise Aborts + * I bit 7 Disable IRQ interrupts + * F bit 6 Disable FIQ interrupts + * T bit 5 Thumb instruction set flag + * M bits 0-4 Processor Mode bits + * + * x64 LAHF+SETO flags + * ------------------- + * SF bit 15 Sign flag + * ZF bit 14 Zero flag + * AF bit 12 Auxiliary flag + * PF bit 10 Parity flag + * CF bit 8 Carry flag + * OF bit 0 Overflow flag + */ + +u32 A32JitState::Cpsr() const { + DEBUG_ASSERT((cpsr_q & ~1) == 0); + DEBUG_ASSERT((cpsr_jaifm & ~0x010001DF) == 0); + + u32 cpsr = 0; + + // NZCV flags + cpsr |= NZCV::FromX64(cpsr_nzcv); + // Q flag + cpsr |= cpsr_q ? 1 << 27 : 0; + // GE flags + cpsr |= Common::Bit<31>(cpsr_ge) ? 1 << 19 : 0; + cpsr |= Common::Bit<23>(cpsr_ge) ? 1 << 18 : 0; + cpsr |= Common::Bit<15>(cpsr_ge) ? 1 << 17 : 0; + cpsr |= Common::Bit<7>(cpsr_ge) ? 1 << 16 : 0; + // E flag, T flag + cpsr |= Common::Bit<1>(upper_location_descriptor) ? 1 << 9 : 0; + cpsr |= Common::Bit<0>(upper_location_descriptor) ? 1 << 5 : 0; + // IT state + cpsr |= static_cast(upper_location_descriptor & 0b11111100'00000000); + cpsr |= static_cast(upper_location_descriptor & 0b00000011'00000000) << 17; + // Other flags + cpsr |= cpsr_jaifm; + + return cpsr; +} + +void A32JitState::SetCpsr(u32 cpsr) { + // NZCV flags + cpsr_nzcv = NZCV::ToX64(cpsr); + // Q flag + cpsr_q = Common::Bit<27>(cpsr) ? 1 : 0; + // GE flags + cpsr_ge = 0; + cpsr_ge |= Common::Bit<19>(cpsr) ? 0xFF000000 : 0; + cpsr_ge |= Common::Bit<18>(cpsr) ? 0x00FF0000 : 0; + cpsr_ge |= Common::Bit<17>(cpsr) ? 0x0000FF00 : 0; + cpsr_ge |= Common::Bit<16>(cpsr) ? 0x000000FF : 0; + + upper_location_descriptor &= 0xFFFF0000; + // E flag, T flag + upper_location_descriptor |= Common::Bit<9>(cpsr) ? 2 : 0; + upper_location_descriptor |= Common::Bit<5>(cpsr) ? 1 : 0; + // IT state + upper_location_descriptor |= (cpsr >> 0) & 0b11111100'00000000; + upper_location_descriptor |= (cpsr >> 17) & 0b00000011'00000000; + + // Other flags + cpsr_jaifm = cpsr & 0x010001DF; +} + +void A32JitState::ResetRSB() { + rsb_location_descriptors.fill(0xFFFFFFFFFFFFFFFFull); + rsb_codeptrs.fill(0); +} + +/** + * Comparing MXCSR and FPSCR + * ========================= + * + * SSE MXCSR exception flags + * ------------------------- + * PE bit 5 Precision Flag + * UE bit 4 Underflow Flag + * OE bit 3 Overflow Flag + * ZE bit 2 Divide By Zero Flag + * DE bit 1 Denormal Flag // Appears to only be set when MXCSR.DAZ = 0 + * IE bit 0 Invalid Operation Flag + * + * VFP FPSCR cumulative exception bits + * ----------------------------------- + * IDC bit 7 Input Denormal cumulative exception bit // Only ever set when FPSCR.FTZ = 1 + * IXC bit 4 Inexact cumulative exception bit + * UFC bit 3 Underflow cumulative exception bit + * OFC bit 2 Overflow cumulative exception bit + * DZC bit 1 Division by Zero cumulative exception bit + * IOC bit 0 Invalid Operation cumulative exception bit + * + * SSE MSCSR exception masks + * ------------------------- + * PM bit 12 Precision Mask + * UM bit 11 Underflow Mask + * OM bit 10 Overflow Mask + * ZM bit 9 Divide By Zero Mask + * DM bit 8 Denormal Mask + * IM bit 7 Invalid Operation Mask + * + * VFP FPSCR exception trap enables + * -------------------------------- + * IDE bit 15 Input Denormal exception trap enable + * IXE bit 12 Inexact exception trap enable + * UFE bit 11 Underflow exception trap enable + * OFE bit 10 Overflow exception trap enable + * DZE bit 9 Division by Zero exception trap enable + * IOE bit 8 Invalid Operation exception trap enable + * + * SSE MXCSR mode bits + * ------------------- + * FZ bit 15 Flush To Zero + * DAZ bit 6 Denormals Are Zero + * RN bits 13-14 Round to {0 = Nearest, 1 = Negative, 2 = Positive, 3 = Zero} + * + * VFP FPSCR mode bits + * ------------------- + * AHP bit 26 Alternate half-precision + * DN bit 25 Default NaN + * FZ bit 24 Flush to Zero + * RMode bits 22-23 Round to {0 = Nearest, 1 = Positive, 2 = Negative, 3 = Zero} + * Stride bits 20-21 Vector stride + * Len bits 16-18 Vector length + */ + +// NZCV; QC (ASIMD only), AHP; DN, FZ, RMode, Stride; SBZP; Len; trap enables; cumulative bits +constexpr u32 FPSCR_MODE_MASK = A32::LocationDescriptor::FPSCR_MODE_MASK; +constexpr u32 FPSCR_NZCV_MASK = 0xF0000000; + +u32 A32JitState::Fpscr() const { + DEBUG_ASSERT((fpsr_nzcv & ~FPSCR_NZCV_MASK) == 0); + + const u32 fpcr_mode = static_cast(upper_location_descriptor) & FPSCR_MODE_MASK; + const u32 mxcsr = guest_MXCSR | asimd_MXCSR; + + u32 FPSCR = fpcr_mode | fpsr_nzcv; + FPSCR |= (mxcsr & 0b0000000000001); // IOC = IE + FPSCR |= (mxcsr & 0b0000000111100) >> 1; // IXC, UFC, OFC, DZC = PE, UE, OE, ZE + FPSCR |= fpsr_exc; + + return FPSCR; +} + +void A32JitState::SetFpscr(u32 FPSCR) { + // Ensure that only upper half of upper_location_descriptor is used for FPSCR bits. + static_assert((FPSCR_MODE_MASK & 0xFFFF0000) == FPSCR_MODE_MASK); + + upper_location_descriptor &= 0x0000FFFF; + upper_location_descriptor |= FPSCR & FPSCR_MODE_MASK; + + fpsr_nzcv = FPSCR & FPSCR_NZCV_MASK; + + guest_MXCSR = 0x00001f80; + asimd_MXCSR = 0x00009fc0; + + // RMode + const std::array MXCSR_RMode{0x0, 0x4000, 0x2000, 0x6000}; + guest_MXCSR |= MXCSR_RMode[(FPSCR >> 22) & 0x3]; + + // Cumulative flags IDC, IOC, IXC, UFC, OFC, DZC + fpsr_exc = FPSCR & 0x9F; + + if (Common::Bit<24>(FPSCR)) { + // VFP Flush to Zero + guest_MXCSR |= (1 << 15); // SSE Flush to Zero + guest_MXCSR |= (1 << 6); // SSE Denormals are Zero + } +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a32_jitstate.h b/externals/dynarmic/src/dynarmic/backend/x64/a32_jitstate.h new file mode 100755 index 000000000..68e37c6c0 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a32_jitstate.h @@ -0,0 +1,99 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +class BlockOfCode; + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4324) // Structure was padded due to alignment specifier +#endif + +struct A32JitState { + using ProgramCounterType = u32; + + A32JitState() { ResetRSB(); } + + std::array Reg{}; // Current register file. + // TODO: Mode-specific register sets unimplemented. + + u32 upper_location_descriptor = 0; + + u32 cpsr_ge = 0; + u32 cpsr_q = 0; + u32 cpsr_nzcv = 0; + u32 cpsr_jaifm = 0; + u32 Cpsr() const; + void SetCpsr(u32 cpsr); + + alignas(16) std::array ExtReg{}; // Extension registers. + + // For internal use (See: BlockOfCode::RunCode) + u32 guest_MXCSR = 0x00001f80; + u32 asimd_MXCSR = 0x00009fc0; + bool halt_requested = false; + + // Exclusive state + u32 exclusive_state = 0; + + static constexpr size_t RSBSize = 8; // MUST be a power of 2. + static constexpr size_t RSBPtrMask = RSBSize - 1; + u32 rsb_ptr = 0; + std::array rsb_location_descriptors; + std::array rsb_codeptrs; + void ResetRSB(); + + u32 fpsr_exc = 0; + u32 fpsr_qc = 0; // Dummy value + u32 fpsr_nzcv = 0; + u32 Fpscr() const; + void SetFpscr(u32 FPSCR); + + u64 GetUniqueHash() const noexcept { + return (static_cast(upper_location_descriptor) << 32) | (static_cast(Reg[15])); + } + + void TransferJitState(const A32JitState& src, bool reset_rsb) { + Reg = src.Reg; + upper_location_descriptor = src.upper_location_descriptor; + cpsr_ge = src.cpsr_ge; + cpsr_q = src.cpsr_q; + cpsr_nzcv = src.cpsr_nzcv; + cpsr_jaifm = src.cpsr_jaifm; + ExtReg = src.ExtReg; + guest_MXCSR = src.guest_MXCSR; + asimd_MXCSR = src.asimd_MXCSR; + fpsr_exc = src.fpsr_exc; + fpsr_qc = src.fpsr_qc; + fpsr_nzcv = src.fpsr_nzcv; + + exclusive_state = 0; + + if (reset_rsb) { + ResetRSB(); + } else { + rsb_ptr = src.rsb_ptr; + rsb_location_descriptors = src.rsb_location_descriptors; + rsb_codeptrs = src.rsb_codeptrs; + } + } +}; + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +using CodePtr = const void*; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.cpp b/externals/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.cpp new file mode 100755 index 000000000..539d1ed7f --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.cpp @@ -0,0 +1,1488 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/a64_emit_x64.h" + +#include + +#include +#include +#include + +#include "dynarmic/backend/x64/a64_jitstate.h" +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/devirtualize.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/backend/x64/nzcv_util.h" +#include "dynarmic/backend/x64/perf_map.h" +#include "dynarmic/backend/x64/stack_layout.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/scope_exit.h" +#include "dynarmic/common/x64_disassemble.h" +#include "dynarmic/frontend/A64/location_descriptor.h" +#include "dynarmic/frontend/A64/types.h" +#include "dynarmic/interface/exclusive_monitor.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/cond.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" + +// TODO: Have ARM flags in host flags and not have them use up GPR registers unless necessary. +// TODO: Actually implement that proper instruction selector you've always wanted to sweetheart. + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +A64EmitContext::A64EmitContext(const A64::UserConfig& conf, RegAlloc& reg_alloc, IR::Block& block) + : EmitContext(reg_alloc, block), conf(conf) {} + +A64::LocationDescriptor A64EmitContext::Location() const { + return A64::LocationDescriptor{block.Location()}; +} + +bool A64EmitContext::IsSingleStep() const { + return Location().SingleStepping(); +} + +FP::FPCR A64EmitContext::FPCR(bool fpcr_controlled) const { + return fpcr_controlled ? Location().FPCR() : Location().FPCR().ASIMDStandardValue(); +} + +A64EmitX64::A64EmitX64(BlockOfCode& code, A64::UserConfig conf, A64::Jit* jit_interface) + : EmitX64(code), conf(conf), jit_interface{jit_interface} { + GenMemory128Accessors(); + GenFastmemFallbacks(); + GenTerminalHandlers(); + code.PreludeComplete(); + ClearFastDispatchTable(); + + exception_handler.SetFastmemCallback([this](u64 rip_){ + return FastmemCallback(rip_); + }); +} + +A64EmitX64::~A64EmitX64() = default; + +A64EmitX64::BlockDescriptor A64EmitX64::Emit(IR::Block& block) { + code.EnableWriting(); + SCOPE_EXIT { code.DisableWriting(); }; + + const std::vector gpr_order = [this] { + std::vector gprs{any_gpr}; + if (conf.page_table) { + gprs.erase(std::find(gprs.begin(), gprs.end(), HostLoc::R14)); + } + if (conf.fastmem_pointer) { + gprs.erase(std::find(gprs.begin(), gprs.end(), HostLoc::R13)); + } + return gprs; + }(); + + RegAlloc reg_alloc{code, gpr_order, any_xmm}; + A64EmitContext ctx{conf, reg_alloc, block}; + + // Start emitting. + code.align(); + const u8* const entrypoint = code.getCurr(); + code.SwitchToFarCode(); + const u8* const entrypoint_far = code.getCurr(); + code.SwitchToNearCode(); + + ASSERT(block.GetCondition() == IR::Cond::AL); + + for (auto iter = block.begin(); iter != block.end(); ++iter) { + IR::Inst* inst = &*iter; + + // Call the relevant Emit* member function. + switch (inst->GetOpcode()) { +#define OPCODE(name, type, ...) \ + case IR::Opcode::name: \ + A64EmitX64::Emit##name(ctx, inst); \ + break; +#define A32OPC(...) +#define A64OPC(name, type, ...) \ + case IR::Opcode::A64##name: \ + A64EmitX64::EmitA64##name(ctx, inst); \ + break; +#include "dynarmic/ir/opcodes.inc" +#undef OPCODE +#undef A32OPC +#undef A64OPC + + default: + ASSERT_MSG(false, "Invalid opcode: {}", inst->GetOpcode()); + break; + } + + ctx.reg_alloc.EndOfAllocScope(); + } + + reg_alloc.AssertNoMoreUses(); + + EmitAddCycles(block.CycleCount()); + EmitX64::EmitTerminal(block.GetTerminal(), ctx.Location().SetSingleStepping(false), ctx.IsSingleStep()); + code.int3(); + + const size_t size = static_cast(code.getCurr() - entrypoint); + + const A64::LocationDescriptor descriptor{block.Location()}; + const A64::LocationDescriptor end_location{block.EndLocation()}; + + const auto range = boost::icl::discrete_interval::closed(descriptor.PC(), end_location.PC() - 1); + block_ranges.AddRange(range, descriptor); + + return RegisterBlock(descriptor, entrypoint, entrypoint_far, size); +} + +void A64EmitX64::ClearCache() { + EmitX64::ClearCache(); + block_ranges.ClearCache(); + ClearFastDispatchTable(); +} + +void A64EmitX64::InvalidateCacheRanges(const boost::icl::interval_set& ranges) { + InvalidateBasicBlocks(block_ranges.InvalidateRanges(ranges)); +} + +void A64EmitX64::ClearFastDispatchTable() { + if (conf.HasOptimization(OptimizationFlag::FastDispatch)) { + fast_dispatch_table.fill({}); + } +} + +void A64EmitX64::GenMemory128Accessors() { + code.align(); + memory_read_128 = code.getCurr(); +#ifdef _WIN32 + Devirtualize<&A64::UserCallbacks::MemoryRead128>(conf.callbacks).EmitCallWithReturnPointer(code, [&](Xbyak::Reg64 return_value_ptr, [[maybe_unused]] RegList args) { + code.mov(code.ABI_PARAM3, code.ABI_PARAM2); + code.sub(rsp, 8 + 16 + ABI_SHADOW_SPACE); + code.lea(return_value_ptr, ptr[rsp + ABI_SHADOW_SPACE]); + }); + code.movups(xmm1, xword[code.ABI_RETURN]); + code.add(rsp, 8 + 16 + ABI_SHADOW_SPACE); +#else + code.sub(rsp, 8); + Devirtualize<&A64::UserCallbacks::MemoryRead128>(conf.callbacks).EmitCall(code); + if (code.HasHostFeature(HostFeature::SSE41)) { + code.movq(xmm1, code.ABI_RETURN); + code.pinsrq(xmm1, code.ABI_RETURN2, 1); + } else { + code.movq(xmm1, code.ABI_RETURN); + code.movq(xmm2, code.ABI_RETURN2); + code.punpcklqdq(xmm1, xmm2); + } + code.add(rsp, 8); +#endif + code.ret(); + PerfMapRegister(memory_read_128, code.getCurr(), "a64_memory_read_128"); + + code.align(); + memory_write_128 = code.getCurr(); +#ifdef _WIN32 + code.sub(rsp, 8 + 16 + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE]); + code.movaps(xword[code.ABI_PARAM3], xmm1); + Devirtualize<&A64::UserCallbacks::MemoryWrite128>(conf.callbacks).EmitCall(code); + code.add(rsp, 8 + 16 + ABI_SHADOW_SPACE); +#else + code.sub(rsp, 8); + if (code.HasHostFeature(HostFeature::SSE41)) { + code.movq(code.ABI_PARAM3, xmm1); + code.pextrq(code.ABI_PARAM4, xmm1, 1); + } else { + code.movq(code.ABI_PARAM3, xmm1); + code.punpckhqdq(xmm1, xmm1); + code.movq(code.ABI_PARAM4, xmm1); + } + Devirtualize<&A64::UserCallbacks::MemoryWrite128>(conf.callbacks).EmitCall(code); + code.add(rsp, 8); +#endif + code.ret(); + PerfMapRegister(memory_read_128, code.getCurr(), "a64_memory_write_128"); +} + +void A64EmitX64::GenFastmemFallbacks() { + const std::initializer_list idxes{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; + const std::array, 4> read_callbacks{{ + {8, Devirtualize<&A64::UserCallbacks::MemoryRead8>(conf.callbacks)}, + {16, Devirtualize<&A64::UserCallbacks::MemoryRead16>(conf.callbacks)}, + {32, Devirtualize<&A64::UserCallbacks::MemoryRead32>(conf.callbacks)}, + {64, Devirtualize<&A64::UserCallbacks::MemoryRead64>(conf.callbacks)}, + }}; + const std::array, 4> write_callbacks{{ + {8, Devirtualize<&A64::UserCallbacks::MemoryWrite8>(conf.callbacks)}, + {16, Devirtualize<&A64::UserCallbacks::MemoryWrite16>(conf.callbacks)}, + {32, Devirtualize<&A64::UserCallbacks::MemoryWrite32>(conf.callbacks)}, + {64, Devirtualize<&A64::UserCallbacks::MemoryWrite64>(conf.callbacks)}, + }}; + + for (int vaddr_idx : idxes) { + if (vaddr_idx == 4 || vaddr_idx == 15) { + continue; + } + + for (int value_idx : idxes) { + code.align(); + read_fallbacks[std::make_tuple(128, vaddr_idx, value_idx)] = code.getCurr(); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(value_idx)); + if (vaddr_idx != code.ABI_PARAM2.getIdx()) { + code.mov(code.ABI_PARAM2, Xbyak::Reg64{vaddr_idx}); + } + code.call(memory_read_128); + if (value_idx != 1) { + code.movaps(Xbyak::Xmm{value_idx}, xmm1); + } + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(value_idx)); + code.ret(); + PerfMapRegister(read_fallbacks[std::make_tuple(128, vaddr_idx, value_idx)], code.getCurr(), "a64_read_fallback_128"); + + code.align(); + write_fallbacks[std::make_tuple(128, vaddr_idx, value_idx)] = code.getCurr(); + ABI_PushCallerSaveRegistersAndAdjustStack(code); + if (vaddr_idx != code.ABI_PARAM2.getIdx()) { + code.mov(code.ABI_PARAM2, Xbyak::Reg64{vaddr_idx}); + } + if (value_idx != 1) { + code.movaps(xmm1, Xbyak::Xmm{value_idx}); + } + code.call(memory_write_128); + ABI_PopCallerSaveRegistersAndAdjustStack(code); + code.ret(); + PerfMapRegister(write_fallbacks[std::make_tuple(128, vaddr_idx, value_idx)], code.getCurr(), "a64_write_fallback_128"); + + if (value_idx == 4 || value_idx == 15) { + continue; + } + + for (const auto& [bitsize, callback] : read_callbacks) { + code.align(); + read_fallbacks[std::make_tuple(bitsize, vaddr_idx, value_idx)] = code.getCurr(); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocRegIdx(value_idx)); + if (vaddr_idx != code.ABI_PARAM2.getIdx()) { + code.mov(code.ABI_PARAM2, Xbyak::Reg64{vaddr_idx}); + } + callback.EmitCall(code); + if (value_idx != code.ABI_RETURN.getIdx()) { + code.mov(Xbyak::Reg64{value_idx}, code.ABI_RETURN); + } + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocRegIdx(value_idx)); + code.ret(); + PerfMapRegister(read_fallbacks[std::make_tuple(bitsize, vaddr_idx, value_idx)], code.getCurr(), fmt::format("a64_read_fallback_{}", bitsize)); + } + + for (const auto& [bitsize, callback] : write_callbacks) { + code.align(); + write_fallbacks[std::make_tuple(bitsize, vaddr_idx, value_idx)] = code.getCurr(); + ABI_PushCallerSaveRegistersAndAdjustStack(code); + if (vaddr_idx == code.ABI_PARAM3.getIdx() && value_idx == code.ABI_PARAM2.getIdx()) { + code.xchg(code.ABI_PARAM2, code.ABI_PARAM3); + } else if (vaddr_idx == code.ABI_PARAM3.getIdx()) { + code.mov(code.ABI_PARAM2, Xbyak::Reg64{vaddr_idx}); + if (value_idx != code.ABI_PARAM3.getIdx()) { + code.mov(code.ABI_PARAM3, Xbyak::Reg64{value_idx}); + } + } else { + if (value_idx != code.ABI_PARAM3.getIdx()) { + code.mov(code.ABI_PARAM3, Xbyak::Reg64{value_idx}); + } + if (vaddr_idx != code.ABI_PARAM2.getIdx()) { + code.mov(code.ABI_PARAM2, Xbyak::Reg64{vaddr_idx}); + } + } + callback.EmitCall(code); + ABI_PopCallerSaveRegistersAndAdjustStack(code); + code.ret(); + PerfMapRegister(write_fallbacks[std::make_tuple(bitsize, vaddr_idx, value_idx)], code.getCurr(), fmt::format("a64_write_fallback_{}", bitsize)); + } + } + } +} + +void A64EmitX64::GenTerminalHandlers() { + // PC ends up in rbp, location_descriptor ends up in rbx + const auto calculate_location_descriptor = [this] { + // This calculation has to match up with A64::LocationDescriptor::UniqueHash + // TODO: Optimization is available here based on known state of fpcr. + code.mov(rbp, qword[r15 + offsetof(A64JitState, pc)]); + code.mov(rcx, A64::LocationDescriptor::pc_mask); + code.and_(rcx, rbp); + code.mov(ebx, dword[r15 + offsetof(A64JitState, fpcr)]); + code.and_(ebx, A64::LocationDescriptor::fpcr_mask); + code.shl(rbx, A64::LocationDescriptor::fpcr_shift); + code.or_(rbx, rcx); + }; + + Xbyak::Label fast_dispatch_cache_miss, rsb_cache_miss; + + code.align(); + terminal_handler_pop_rsb_hint = code.getCurr(); + calculate_location_descriptor(); + code.mov(eax, dword[r15 + offsetof(A64JitState, rsb_ptr)]); + code.sub(eax, 1); + code.and_(eax, u32(A64JitState::RSBPtrMask)); + code.mov(dword[r15 + offsetof(A64JitState, rsb_ptr)], eax); + code.cmp(rbx, qword[r15 + offsetof(A64JitState, rsb_location_descriptors) + rax * sizeof(u64)]); + if (conf.HasOptimization(OptimizationFlag::FastDispatch)) { + code.jne(rsb_cache_miss); + } else { + code.jne(code.GetReturnFromRunCodeAddress()); + } + code.mov(rax, qword[r15 + offsetof(A64JitState, rsb_codeptrs) + rax * sizeof(u64)]); + code.jmp(rax); + PerfMapRegister(terminal_handler_pop_rsb_hint, code.getCurr(), "a64_terminal_handler_pop_rsb_hint"); + + if (conf.HasOptimization(OptimizationFlag::FastDispatch)) { + code.align(); + terminal_handler_fast_dispatch_hint = code.getCurr(); + calculate_location_descriptor(); + code.L(rsb_cache_miss); + code.mov(r12, reinterpret_cast(fast_dispatch_table.data())); + if (code.HasHostFeature(HostFeature::SSE42)) { + code.crc32(rbx, r12d); + } + code.and_(ebp, fast_dispatch_table_mask); + code.lea(rbp, ptr[r12 + rbp]); + code.cmp(rbx, qword[rbp + offsetof(FastDispatchEntry, location_descriptor)]); + code.jne(fast_dispatch_cache_miss); + code.jmp(ptr[rbp + offsetof(FastDispatchEntry, code_ptr)]); + code.L(fast_dispatch_cache_miss); + code.mov(qword[rbp + offsetof(FastDispatchEntry, location_descriptor)], rbx); + code.LookupBlock(); + code.mov(ptr[rbp + offsetof(FastDispatchEntry, code_ptr)], rax); + code.jmp(rax); + PerfMapRegister(terminal_handler_fast_dispatch_hint, code.getCurr(), "a64_terminal_handler_fast_dispatch_hint"); + + code.align(); + fast_dispatch_table_lookup = code.getCurr(); + code.mov(code.ABI_PARAM2, reinterpret_cast(fast_dispatch_table.data())); + if (code.HasHostFeature(HostFeature::SSE42)) { + code.crc32(code.ABI_PARAM1, code.ABI_PARAM2); + } + code.and_(code.ABI_PARAM1.cvt32(), fast_dispatch_table_mask); + code.lea(code.ABI_RETURN, code.ptr[code.ABI_PARAM1 + code.ABI_PARAM2]); + code.ret(); + PerfMapRegister(fast_dispatch_table_lookup, code.getCurr(), "a64_fast_dispatch_table_lookup"); + } +} + +void A64EmitX64::EmitPushRSB(EmitContext& ctx, IR::Inst* inst) { + if (!conf.HasOptimization(OptimizationFlag::ReturnStackBuffer)) { + return; + } + + EmitX64::EmitPushRSB(ctx, inst); +} + +void A64EmitX64::EmitA64SetCheckBit(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg8 to_store = ctx.reg_alloc.UseGpr(args[0]).cvt8(); + code.mov(code.byte[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, check_bit)], to_store); +} + +void A64EmitX64::EmitA64GetCFlag(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(result, dword[r15 + offsetof(A64JitState, cpsr_nzcv)]); + code.shr(result, NZCV::x64_c_flag_bit); + code.and_(result, 1); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetNZCVRaw(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg32 nzcv_raw = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.mov(nzcv_raw, dword[r15 + offsetof(A64JitState, cpsr_nzcv)]); + + if (code.HasHostFeature(HostFeature::FastBMI2)) { + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(tmp, NZCV::x64_mask); + code.pext(nzcv_raw, nzcv_raw, tmp); + code.shl(nzcv_raw, 28); + } else { + code.and_(nzcv_raw, NZCV::x64_mask); + code.imul(nzcv_raw, nzcv_raw, NZCV::from_x64_multiplier); + code.and_(nzcv_raw, NZCV::arm_mask); + } + + ctx.reg_alloc.DefineValue(inst, nzcv_raw); +} + +void A64EmitX64::EmitA64SetNZCVRaw(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg32 nzcv_raw = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + code.shr(nzcv_raw, 28); + if (code.HasHostFeature(HostFeature::FastBMI2)) { + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(tmp, NZCV::x64_mask); + code.pdep(nzcv_raw, nzcv_raw, tmp); + } else { + code.imul(nzcv_raw, nzcv_raw, NZCV::to_x64_multiplier); + code.and_(nzcv_raw, NZCV::x64_mask); + } + code.mov(dword[r15 + offsetof(A64JitState, cpsr_nzcv)], nzcv_raw); +} + +void A64EmitX64::EmitA64SetNZCV(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg32 to_store = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + code.mov(dword[r15 + offsetof(A64JitState, cpsr_nzcv)], to_store); +} + +void A64EmitX64::EmitA64GetW(A64EmitContext& ctx, IR::Inst* inst) { + const A64::Reg reg = inst->GetArg(0).GetA64RegRef(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.mov(result, dword[r15 + offsetof(A64JitState, reg) + sizeof(u64) * static_cast(reg)]); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetX(A64EmitContext& ctx, IR::Inst* inst) { + const A64::Reg reg = inst->GetArg(0).GetA64RegRef(); + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + + code.mov(result, qword[r15 + offsetof(A64JitState, reg) + sizeof(u64) * static_cast(reg)]); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetS(A64EmitContext& ctx, IR::Inst* inst) { + const A64::Vec vec = inst->GetArg(0).GetA64VecRef(); + const auto addr = qword[r15 + offsetof(A64JitState, vec) + sizeof(u64) * 2 * static_cast(vec)]; + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.movd(result, addr); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetD(A64EmitContext& ctx, IR::Inst* inst) { + const A64::Vec vec = inst->GetArg(0).GetA64VecRef(); + const auto addr = qword[r15 + offsetof(A64JitState, vec) + sizeof(u64) * 2 * static_cast(vec)]; + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.movq(result, addr); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetQ(A64EmitContext& ctx, IR::Inst* inst) { + const A64::Vec vec = inst->GetArg(0).GetA64VecRef(); + const auto addr = xword[r15 + offsetof(A64JitState, vec) + sizeof(u64) * 2 * static_cast(vec)]; + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.movaps(result, addr); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetSP(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + code.mov(result, qword[r15 + offsetof(A64JitState, sp)]); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetFPCR(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(result, dword[r15 + offsetof(A64JitState, fpcr)]); + ctx.reg_alloc.DefineValue(inst, result); +} + +static u32 GetFPSRImpl(A64JitState* jit_state) { + return jit_state->GetFpsr(); +} + +void A64EmitX64::EmitA64GetFPSR(A64EmitContext& ctx, IR::Inst* inst) { + ctx.reg_alloc.HostCall(inst); + code.mov(code.ABI_PARAM1, code.r15); + code.stmxcsr(code.dword[code.r15 + offsetof(A64JitState, guest_MXCSR)]); + code.CallFunction(GetFPSRImpl); +} + +void A64EmitX64::EmitA64SetW(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A64::Reg reg = inst->GetArg(0).GetA64RegRef(); + const auto addr = qword[r15 + offsetof(A64JitState, reg) + sizeof(u64) * static_cast(reg)]; + if (args[1].FitsInImmediateS32()) { + code.mov(addr, args[1].GetImmediateS32()); + } else { + // TODO: zext tracking, xmm variant + const Xbyak::Reg64 to_store = ctx.reg_alloc.UseScratchGpr(args[1]); + code.mov(to_store.cvt32(), to_store.cvt32()); + code.mov(addr, to_store); + } +} + +void A64EmitX64::EmitA64SetX(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A64::Reg reg = inst->GetArg(0).GetA64RegRef(); + const auto addr = qword[r15 + offsetof(A64JitState, reg) + sizeof(u64) * static_cast(reg)]; + if (args[1].FitsInImmediateS32()) { + code.mov(addr, args[1].GetImmediateS32()); + } else if (args[1].IsInXmm()) { + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[1]); + code.movq(addr, to_store); + } else { + const Xbyak::Reg64 to_store = ctx.reg_alloc.UseGpr(args[1]); + code.mov(addr, to_store); + } +} + +void A64EmitX64::EmitA64SetS(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A64::Vec vec = inst->GetArg(0).GetA64VecRef(); + const auto addr = xword[r15 + offsetof(A64JitState, vec) + sizeof(u64) * 2 * static_cast(vec)]; + + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + // TODO: Optimize + code.pxor(tmp, tmp); + code.movss(tmp, to_store); + code.movaps(addr, tmp); +} + +void A64EmitX64::EmitA64SetD(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A64::Vec vec = inst->GetArg(0).GetA64VecRef(); + const auto addr = xword[r15 + offsetof(A64JitState, vec) + sizeof(u64) * 2 * static_cast(vec)]; + + const Xbyak::Xmm to_store = ctx.reg_alloc.UseScratchXmm(args[1]); + code.movq(to_store, to_store); // TODO: Remove when able + code.movaps(addr, to_store); +} + +void A64EmitX64::EmitA64SetQ(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const A64::Vec vec = inst->GetArg(0).GetA64VecRef(); + const auto addr = xword[r15 + offsetof(A64JitState, vec) + sizeof(u64) * 2 * static_cast(vec)]; + + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[1]); + code.movaps(addr, to_store); +} + +void A64EmitX64::EmitA64SetSP(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto addr = qword[r15 + offsetof(A64JitState, sp)]; + if (args[0].FitsInImmediateS32()) { + code.mov(addr, args[0].GetImmediateS32()); + } else if (args[0].IsInXmm()) { + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[0]); + code.movq(addr, to_store); + } else { + const Xbyak::Reg64 to_store = ctx.reg_alloc.UseGpr(args[0]); + code.mov(addr, to_store); + } +} + +static void SetFPCRImpl(A64JitState* jit_state, u32 value) { + jit_state->SetFpcr(value); +} + +void A64EmitX64::EmitA64SetFPCR(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(nullptr, {}, args[0]); + code.mov(code.ABI_PARAM1, code.r15); + code.CallFunction(SetFPCRImpl); + code.ldmxcsr(code.dword[code.r15 + offsetof(A64JitState, guest_MXCSR)]); +} + +static void SetFPSRImpl(A64JitState* jit_state, u32 value) { + jit_state->SetFpsr(value); +} + +void A64EmitX64::EmitA64SetFPSR(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(nullptr, {}, args[0]); + code.mov(code.ABI_PARAM1, code.r15); + code.CallFunction(SetFPSRImpl); + code.ldmxcsr(code.dword[code.r15 + offsetof(A64JitState, guest_MXCSR)]); +} + +void A64EmitX64::EmitA64OrQC(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (args[0].IsImmediate()) { + if (!args[0].GetImmediateU1()) { + return; + } + + code.mov(code.byte[code.r15 + offsetof(A64JitState, fpsr_qc)], u8(1)); + return; + } + + const Xbyak::Reg8 to_store = ctx.reg_alloc.UseGpr(args[0]).cvt8(); + code.or_(code.byte[code.r15 + offsetof(A64JitState, fpsr_qc)], to_store); +} + +void A64EmitX64::EmitA64SetPC(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto addr = qword[r15 + offsetof(A64JitState, pc)]; + if (args[0].FitsInImmediateS32()) { + code.mov(addr, args[0].GetImmediateS32()); + } else if (args[0].IsInXmm()) { + const Xbyak::Xmm to_store = ctx.reg_alloc.UseXmm(args[0]); + code.movq(addr, to_store); + } else { + const Xbyak::Reg64 to_store = ctx.reg_alloc.UseGpr(args[0]); + code.mov(addr, to_store); + } +} + +void A64EmitX64::EmitA64CallSupervisor(A64EmitContext& ctx, IR::Inst* inst) { + ctx.reg_alloc.HostCall(nullptr); + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[0].IsImmediate()); + const u32 imm = args[0].GetImmediateU32(); + Devirtualize<&A64::UserCallbacks::CallSVC>(conf.callbacks).EmitCall(code, [&](RegList param) { + code.mov(param[0], imm); + }); + // The kernel would have to execute ERET to get here, which would clear exclusive state. + code.mov(code.byte[r15 + offsetof(A64JitState, exclusive_state)], u8(0)); +} + +void A64EmitX64::EmitA64ExceptionRaised(A64EmitContext& ctx, IR::Inst* inst) { + ctx.reg_alloc.HostCall(nullptr); + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[0].IsImmediate() && args[1].IsImmediate()); + const u64 pc = args[0].GetImmediateU64(); + const u64 exception = args[1].GetImmediateU64(); + Devirtualize<&A64::UserCallbacks::ExceptionRaised>(conf.callbacks).EmitCall(code, [&](RegList param) { + code.mov(param[0], pc); + code.mov(param[1], exception); + }); +} + +void A64EmitX64::EmitA64DataCacheOperationRaised(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(nullptr, {}, args[0], args[1]); + Devirtualize<&A64::UserCallbacks::DataCacheOperationRaised>(conf.callbacks).EmitCall(code); +} + +void A64EmitX64::EmitA64InstructionCacheOperationRaised(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(nullptr, {}, args[0], args[1]); + Devirtualize<&A64::UserCallbacks::InstructionCacheOperationRaised>(conf.callbacks).EmitCall(code); +} + +void A64EmitX64::EmitA64DataSynchronizationBarrier(A64EmitContext&, IR::Inst*) { + code.mfence(); +} + +void A64EmitX64::EmitA64DataMemoryBarrier(A64EmitContext&, IR::Inst*) { + code.lfence(); +} + +void A64EmitX64::EmitA64InstructionSynchronizationBarrier(A64EmitContext& ctx, IR::Inst*) { + if (!conf.hook_isb) { + return; + } + + ctx.reg_alloc.HostCall(nullptr); + Devirtualize<&A64::UserCallbacks::InstructionSynchronizationBarrierRaised>(conf.callbacks).EmitCall(code); +} + +void A64EmitX64::EmitA64GetCNTFRQ(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(result, conf.cntfrq_el0); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetCNTPCT(A64EmitContext& ctx, IR::Inst* inst) { + ctx.reg_alloc.HostCall(inst); + if (!conf.wall_clock_cntpct) { + code.UpdateTicks(); + } + Devirtualize<&A64::UserCallbacks::GetCNTPCT>(conf.callbacks).EmitCall(code); +} + +void A64EmitX64::EmitA64GetCTR(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(result, conf.ctr_el0); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetDCZID(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(result, conf.dczid_el0); + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetTPIDR(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + if (conf.tpidr_el0) { + code.mov(result, u64(conf.tpidr_el0)); + code.mov(result, qword[result]); + } else { + code.xor_(result.cvt32(), result.cvt32()); + } + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64GetTPIDRRO(A64EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + if (conf.tpidrro_el0) { + code.mov(result, u64(conf.tpidrro_el0)); + code.mov(result, qword[result]); + } else { + code.xor_(result.cvt32(), result.cvt32()); + } + ctx.reg_alloc.DefineValue(inst, result); +} + +void A64EmitX64::EmitA64SetTPIDR(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 value = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 addr = ctx.reg_alloc.ScratchGpr(); + if (conf.tpidr_el0) { + code.mov(addr, u64(conf.tpidr_el0)); + code.mov(qword[addr], value); + } +} + +void A64EmitX64::EmitA64ClearExclusive(A64EmitContext&, IR::Inst*) { + code.mov(code.byte[r15 + offsetof(A64JitState, exclusive_state)], u8(0)); +} + +std::optional A64EmitX64::ShouldFastmem(A64EmitContext& ctx, IR::Inst* inst) const { + if (!conf.fastmem_pointer || !exception_handler.SupportsFastmem()) { + return std::nullopt; + } + + const auto marker = std::make_tuple(ctx.Location(), ctx.GetInstOffset(inst)); + if (do_not_fastmem.count(marker) > 0) { + return std::nullopt; + } + return marker; +} + +FakeCall A64EmitX64::FastmemCallback(u64 rip_) { + const auto iter = fastmem_patch_info.find(rip_); + + if (iter == fastmem_patch_info.end()) { + fmt::print("dynarmic: Segfault happened within JITted code at rip = {:016x}\n", rip_); + fmt::print("Segfault wasn't at a fastmem patch location!\n"); + fmt::print("Now dumping code.......\n\n"); + Common::DumpDisassembledX64((void*)(rip_ & ~u64(0xFFF)), 0x1000); + ASSERT_FALSE("iter != fastmem_patch_info.end()"); + } + + if (conf.recompile_on_fastmem_failure) { + const auto marker = iter->second.marker; + do_not_fastmem.emplace(marker); + InvalidateBasicBlocks({std::get<0>(marker)}); + } + FakeCall ret; + ret.call_rip = iter->second.callback; + ret.ret_rip = iter->second.resume_rip; + return ret; +} + +namespace { + +constexpr size_t page_bits = 12; +constexpr size_t page_size = 1 << page_bits; +constexpr size_t page_mask = (1 << page_bits) - 1; + +void EmitDetectMisaignedVAddr(BlockOfCode& code, A64EmitContext& ctx, size_t bitsize, Xbyak::Label& abort, Xbyak::Reg64 vaddr, Xbyak::Reg64 tmp) { + if (bitsize == 8 || (ctx.conf.detect_misaligned_access_via_page_table & bitsize) == 0) { + return; + } + + const u32 align_mask = [bitsize]() -> u32 { + switch (bitsize) { + case 16: + return 0b1; + case 32: + return 0b11; + case 64: + return 0b111; + case 128: + return 0b1111; + } + UNREACHABLE(); + }(); + + code.test(vaddr, align_mask); + + if (!ctx.conf.only_detect_misalignment_via_page_table_on_page_boundary) { + code.jnz(abort, code.T_NEAR); + return; + } + + const u32 page_align_mask = static_cast(page_size - 1) & ~align_mask; + + Xbyak::Label detect_boundary, resume; + + code.jnz(detect_boundary, code.T_NEAR); + code.L(resume); + + code.SwitchToFarCode(); + code.L(detect_boundary); + code.mov(tmp, vaddr); + code.and_(tmp, page_align_mask); + code.cmp(tmp, page_align_mask); + code.jne(resume, code.T_NEAR); + // NOTE: We expect to fallthrough into abort code here. + code.SwitchToNearCode(); +} + +Xbyak::RegExp EmitVAddrLookup(BlockOfCode& code, A64EmitContext& ctx, size_t bitsize, Xbyak::Label& abort, Xbyak::Reg64 vaddr) { + const size_t valid_page_index_bits = ctx.conf.page_table_address_space_bits - page_bits; + const size_t unused_top_bits = 64 - ctx.conf.page_table_address_space_bits; + + const Xbyak::Reg64 page = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 tmp = ctx.conf.absolute_offset_page_table ? page : ctx.reg_alloc.ScratchGpr(); + + EmitDetectMisaignedVAddr(code, ctx, bitsize, abort, vaddr, tmp); + + if (unused_top_bits == 0) { + code.mov(tmp, vaddr); + code.shr(tmp, int(page_bits)); + } else if (ctx.conf.silently_mirror_page_table) { + if (valid_page_index_bits >= 32) { + if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg64 bit_count = ctx.reg_alloc.ScratchGpr(); + code.mov(bit_count, unused_top_bits); + code.bzhi(tmp, vaddr, bit_count); + code.shr(tmp, int(page_bits)); + ctx.reg_alloc.Release(bit_count); + } else { + code.mov(tmp, vaddr); + code.shl(tmp, int(unused_top_bits)); + code.shr(tmp, int(unused_top_bits + page_bits)); + } + } else { + code.mov(tmp, vaddr); + code.shr(tmp, int(page_bits)); + code.and_(tmp, u32((1 << valid_page_index_bits) - 1)); + } + } else { + ASSERT(valid_page_index_bits < 32); + code.mov(tmp, vaddr); + code.shr(tmp, int(page_bits)); + code.test(tmp, u32(-(1 << valid_page_index_bits))); + code.jnz(abort, code.T_NEAR); + } + code.mov(page, qword[r14 + tmp * sizeof(void*)]); + if (ctx.conf.page_table_pointer_mask_bits == 0) { + code.test(page, page); + } else { + code.and_(page, ~u32(0) << ctx.conf.page_table_pointer_mask_bits); + } + code.jz(abort, code.T_NEAR); + if (ctx.conf.absolute_offset_page_table) { + return page + vaddr; + } + code.mov(tmp, vaddr); + code.and_(tmp, static_cast(page_mask)); + return page + tmp; +} + +Xbyak::RegExp EmitFastmemVAddr(BlockOfCode& code, A64EmitContext& ctx, Xbyak::Label& abort, Xbyak::Reg64 vaddr, bool& require_abort_handling) { + const size_t unused_top_bits = 64 - ctx.conf.page_table_address_space_bits; + + if (unused_top_bits == 0) { + return r13 + vaddr; + } else if (ctx.conf.silently_mirror_page_table) { + Xbyak::Reg64 tmp = ctx.reg_alloc.ScratchGpr(); + if (unused_top_bits < 32) { + code.mov(tmp, vaddr); + code.shl(tmp, int(unused_top_bits)); + code.shr(tmp, int(unused_top_bits)); + } else if (unused_top_bits == 32) { + code.mov(tmp.cvt32(), vaddr.cvt32()); + } else { + code.mov(tmp.cvt32(), vaddr.cvt32()); + code.and_(tmp, u32((1 << ctx.conf.page_table_address_space_bits) - 1)); + } + return r13 + tmp; + } else { + if (ctx.conf.page_table_address_space_bits < 32) { + code.test(vaddr, u32(-(1 << ctx.conf.page_table_address_space_bits))); + code.jnz(abort, code.T_NEAR); + require_abort_handling = true; + } else { + // TODO: Consider having TEST as above but coalesce 64-bit constant in register allocator + Xbyak::Reg64 tmp = ctx.reg_alloc.ScratchGpr(); + code.mov(tmp, vaddr); + code.shr(tmp, int(ctx.conf.page_table_address_space_bits)); + code.jnz(abort, code.T_NEAR); + require_abort_handling = true; + } + return r13 + vaddr; + } +} + +template +void EmitReadMemoryMov(BlockOfCode& code, const Xbyak::Reg64& value, const Xbyak::RegExp& addr) { + switch (bitsize) { + case 8: + code.movzx(value.cvt32(), code.byte[addr]); + return; + case 16: + code.movzx(value.cvt32(), word[addr]); + return; + case 32: + code.mov(value.cvt32(), dword[addr]); + return; + case 64: + code.mov(value, qword[addr]); + return; + default: + ASSERT_FALSE("Invalid bitsize"); + } +} + +template +void EmitWriteMemoryMov(BlockOfCode& code, const Xbyak::RegExp& addr, const Xbyak::Reg64& value) { + switch (bitsize) { + case 8: + code.mov(code.byte[addr], value.cvt8()); + return; + case 16: + code.mov(word[addr], value.cvt16()); + return; + case 32: + code.mov(dword[addr], value.cvt32()); + return; + case 64: + code.mov(qword[addr], value); + return; + default: + ASSERT_FALSE("Invalid bitsize"); + } +} + +} // namespace + +template +void A64EmitX64::EmitMemoryRead(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto fastmem_marker = ShouldFastmem(ctx, inst); + + if (!conf.page_table && !fastmem_marker) { + // Neither fastmem nor page table: Use callbacks + ctx.reg_alloc.HostCall(inst, {}, args[0]); + Devirtualize(conf.callbacks).EmitCall(code); + return; + } + + const Xbyak::Reg64 vaddr = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 value = ctx.reg_alloc.ScratchGpr(); + + const auto wrapped_fn = read_fallbacks[std::make_tuple(bitsize, vaddr.getIdx(), value.getIdx())]; + + Xbyak::Label abort, end; + bool require_abort_handling = false; + + if (fastmem_marker) { + // Use fastmem + const auto src_ptr = EmitFastmemVAddr(code, ctx, abort, vaddr, require_abort_handling); + + const auto location = code.getCurr(); + EmitReadMemoryMov(code, value, src_ptr); + + fastmem_patch_info.emplace( + Common::BitCast(location), + FastmemPatchInfo{ + Common::BitCast(code.getCurr()), + Common::BitCast(wrapped_fn), + *fastmem_marker, + } + ); + } else { + // Use page table + ASSERT(conf.page_table); + const auto src_ptr = EmitVAddrLookup(code, ctx, bitsize, abort, vaddr); + require_abort_handling = true; + EmitReadMemoryMov(code, value, src_ptr); + } + code.L(end); + + if (require_abort_handling) { + code.SwitchToFarCode(); + code.L(abort); + code.call(wrapped_fn); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + } + + ctx.reg_alloc.DefineValue(inst, value); +} + +template +void A64EmitX64::EmitMemoryWrite(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto fastmem_marker = ShouldFastmem(ctx, inst); + + if (!conf.page_table && !fastmem_marker) { + // Neither fastmem nor page table: Use callbacks + ctx.reg_alloc.HostCall(nullptr, {}, args[0], args[1]); + Devirtualize(conf.callbacks).EmitCall(code); + return; + } + + const Xbyak::Reg64 vaddr = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 value = ctx.reg_alloc.UseGpr(args[1]); + + const auto wrapped_fn = write_fallbacks[std::make_tuple(bitsize, vaddr.getIdx(), value.getIdx())]; + + Xbyak::Label abort, end; + bool require_abort_handling = false; + + if (fastmem_marker) { + // Use fastmem + const auto dest_ptr = EmitFastmemVAddr(code, ctx, abort, vaddr, require_abort_handling); + + const auto location = code.getCurr(); + EmitWriteMemoryMov(code, dest_ptr, value); + + fastmem_patch_info.emplace( + Common::BitCast(location), + FastmemPatchInfo{ + Common::BitCast(code.getCurr()), + Common::BitCast(wrapped_fn), + *fastmem_marker, + } + ); + } else { + // Use page table + ASSERT(conf.page_table); + const auto dest_ptr = EmitVAddrLookup(code, ctx, bitsize, abort, vaddr); + require_abort_handling = true; + EmitWriteMemoryMov(code, dest_ptr, value); + } + code.L(end); + + if (require_abort_handling) { + code.SwitchToFarCode(); + code.L(abort); + code.call(wrapped_fn); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + } +} + +void A64EmitX64::EmitA64ReadMemory8(A64EmitContext& ctx, IR::Inst* inst) { + EmitMemoryRead<8, &A64::UserCallbacks::MemoryRead8>(ctx, inst); +} + +void A64EmitX64::EmitA64ReadMemory16(A64EmitContext& ctx, IR::Inst* inst) { + EmitMemoryRead<16, &A64::UserCallbacks::MemoryRead16>(ctx, inst); +} + +void A64EmitX64::EmitA64ReadMemory32(A64EmitContext& ctx, IR::Inst* inst) { + EmitMemoryRead<32, &A64::UserCallbacks::MemoryRead32>(ctx, inst); +} + +void A64EmitX64::EmitA64ReadMemory64(A64EmitContext& ctx, IR::Inst* inst) { + EmitMemoryRead<64, &A64::UserCallbacks::MemoryRead64>(ctx, inst); +} + +void A64EmitX64::EmitA64ReadMemory128(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto fastmem_marker = ShouldFastmem(ctx, inst); + + if (!conf.page_table && !fastmem_marker) { + // Neither fastmem nor page table: Use callbacks + ctx.reg_alloc.HostCall(nullptr, {}, args[0]); + code.CallFunction(memory_read_128); + ctx.reg_alloc.DefineValue(inst, xmm1); + return; + } + + const Xbyak::Reg64 vaddr = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Xmm value = ctx.reg_alloc.ScratchXmm(); + + const auto wrapped_fn = read_fallbacks[std::make_tuple(128, vaddr.getIdx(), value.getIdx())]; + + Xbyak::Label abort, end; + bool require_abort_handling = false; + + if (fastmem_marker) { + // Use fastmem + const auto src_ptr = EmitFastmemVAddr(code, ctx, abort, vaddr, require_abort_handling); + + const auto location = code.getCurr(); + code.movups(value, xword[src_ptr]); + + fastmem_patch_info.emplace( + Common::BitCast(location), + FastmemPatchInfo{ + Common::BitCast(code.getCurr()), + Common::BitCast(wrapped_fn), + *fastmem_marker, + } + ); + } else { + // Use page table + ASSERT(conf.page_table); + const auto src_ptr = EmitVAddrLookup(code, ctx, 128, abort, vaddr); + require_abort_handling = true; + code.movups(value, xword[src_ptr]); + } + code.L(end); + + if (require_abort_handling) { + code.SwitchToFarCode(); + code.L(abort); + code.call(wrapped_fn); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + } + + ctx.reg_alloc.DefineValue(inst, value); +} + +void A64EmitX64::EmitA64WriteMemory8(A64EmitContext& ctx, IR::Inst* inst) { + EmitMemoryWrite<8, &A64::UserCallbacks::MemoryWrite8>(ctx, inst); +} + +void A64EmitX64::EmitA64WriteMemory16(A64EmitContext& ctx, IR::Inst* inst) { + EmitMemoryWrite<16, &A64::UserCallbacks::MemoryWrite16>(ctx, inst); +} + +void A64EmitX64::EmitA64WriteMemory32(A64EmitContext& ctx, IR::Inst* inst) { + EmitMemoryWrite<32, &A64::UserCallbacks::MemoryWrite32>(ctx, inst); +} + +void A64EmitX64::EmitA64WriteMemory64(A64EmitContext& ctx, IR::Inst* inst) { + EmitMemoryWrite<64, &A64::UserCallbacks::MemoryWrite64>(ctx, inst); +} + +void A64EmitX64::EmitA64WriteMemory128(A64EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto fastmem_marker = ShouldFastmem(ctx, inst); + + if (!conf.page_table && !fastmem_marker) { + // Neither fastmem nor page table: Use callbacks + ctx.reg_alloc.Use(args[0], ABI_PARAM2); + ctx.reg_alloc.Use(args[1], HostLoc::XMM1); + ctx.reg_alloc.EndOfAllocScope(); + ctx.reg_alloc.HostCall(nullptr); + code.CallFunction(memory_write_128); + return; + } + + const Xbyak::Reg64 vaddr = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Xmm value = ctx.reg_alloc.UseXmm(args[1]); + + const auto wrapped_fn = write_fallbacks[std::make_tuple(128, vaddr.getIdx(), value.getIdx())]; + + Xbyak::Label abort, end; + bool require_abort_handling = false; + + if (fastmem_marker) { + // Use fastmem + const auto dest_ptr = EmitFastmemVAddr(code, ctx, abort, vaddr, require_abort_handling); + + const auto location = code.getCurr(); + code.movups(xword[dest_ptr], value); + + fastmem_patch_info.emplace( + Common::BitCast(location), + FastmemPatchInfo{ + Common::BitCast(code.getCurr()), + Common::BitCast(wrapped_fn), + *fastmem_marker, + } + ); + } else { + // Use page table + ASSERT(conf.page_table); + const auto dest_ptr = EmitVAddrLookup(code, ctx, 128, abort, vaddr); + require_abort_handling = true; + code.movups(xword[dest_ptr], value); + } + code.L(end); + + if (require_abort_handling) { + code.SwitchToFarCode(); + code.L(abort); + code.call(wrapped_fn); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + } +} + +template +void A64EmitX64::EmitExclusiveReadMemory(A64EmitContext& ctx, IR::Inst* inst) { + ASSERT(conf.global_monitor != nullptr); + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if constexpr (bitsize != 128) { + using T = mp::unsigned_integer_of_size; + + ctx.reg_alloc.HostCall(inst, {}, args[0]); + + code.mov(code.byte[r15 + offsetof(A64JitState, exclusive_state)], u8(1)); + code.mov(code.ABI_PARAM1, reinterpret_cast(&conf)); + code.CallLambda( + [](A64::UserConfig& conf, u64 vaddr) -> T { + return conf.global_monitor->ReadAndMark(conf.processor_id, vaddr, [&]() -> T { + return (conf.callbacks->*callback)(vaddr); + }); + }); + } else { + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.Use(args[0], ABI_PARAM2); + ctx.reg_alloc.EndOfAllocScope(); + ctx.reg_alloc.HostCall(nullptr); + + code.mov(code.byte[r15 + offsetof(A64JitState, exclusive_state)], u8(1)); + code.mov(code.ABI_PARAM1, reinterpret_cast(&conf)); + ctx.reg_alloc.AllocStackSpace(16 + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE]); + code.CallLambda( + [](A64::UserConfig& conf, u64 vaddr, A64::Vector& ret) { + ret = conf.global_monitor->ReadAndMark(conf.processor_id, vaddr, [&]() -> A64::Vector { + return (conf.callbacks->*callback)(vaddr); + }); + }); + code.movups(result, xword[rsp + ABI_SHADOW_SPACE]); + ctx.reg_alloc.ReleaseStackSpace(16 + ABI_SHADOW_SPACE); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void A64EmitX64::EmitA64ExclusiveReadMemory8(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveReadMemory<8, &A64::UserCallbacks::MemoryRead8>(ctx, inst); +} + +void A64EmitX64::EmitA64ExclusiveReadMemory16(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveReadMemory<16, &A64::UserCallbacks::MemoryRead16>(ctx, inst); +} + +void A64EmitX64::EmitA64ExclusiveReadMemory32(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveReadMemory<32, &A64::UserCallbacks::MemoryRead32>(ctx, inst); +} + +void A64EmitX64::EmitA64ExclusiveReadMemory64(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveReadMemory<64, &A64::UserCallbacks::MemoryRead64>(ctx, inst); +} + +void A64EmitX64::EmitA64ExclusiveReadMemory128(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveReadMemory<128, &A64::UserCallbacks::MemoryRead128>(ctx, inst); +} + +template +void A64EmitX64::EmitExclusiveWriteMemory(A64EmitContext& ctx, IR::Inst* inst) { + ASSERT(conf.global_monitor != nullptr); + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if constexpr (bitsize != 128) { + ctx.reg_alloc.HostCall(inst, {}, args[0], args[1]); + } else { + ctx.reg_alloc.Use(args[0], ABI_PARAM2); + ctx.reg_alloc.Use(args[1], HostLoc::XMM1); + ctx.reg_alloc.EndOfAllocScope(); + ctx.reg_alloc.HostCall(inst); + } + + Xbyak::Label end; + + code.mov(code.ABI_RETURN, u32(1)); + code.cmp(code.byte[r15 + offsetof(A64JitState, exclusive_state)], u8(0)); + code.je(end); + code.mov(code.byte[r15 + offsetof(A64JitState, exclusive_state)], u8(0)); + code.mov(code.ABI_PARAM1, reinterpret_cast(&conf)); + if constexpr (bitsize != 128) { + using T = mp::unsigned_integer_of_size; + + code.CallLambda( + [](A64::UserConfig& conf, u64 vaddr, T value) -> u32 { + return conf.global_monitor->DoExclusiveOperation(conf.processor_id, vaddr, + [&](T expected) -> bool { + return (conf.callbacks->*callback)(vaddr, value, expected); + }) + ? 0 + : 1; + }); + } else { + ctx.reg_alloc.AllocStackSpace(16 + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE]); + code.movaps(xword[code.ABI_PARAM3], xmm1); + code.CallLambda( + [](A64::UserConfig& conf, u64 vaddr, A64::Vector& value) -> u32 { + return conf.global_monitor->DoExclusiveOperation(conf.processor_id, vaddr, + [&](A64::Vector expected) -> bool { + return (conf.callbacks->*callback)(vaddr, value, expected); + }) + ? 0 + : 1; + }); + ctx.reg_alloc.ReleaseStackSpace(16 + ABI_SHADOW_SPACE); + } + code.L(end); +} + +void A64EmitX64::EmitA64ExclusiveWriteMemory8(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveWriteMemory<8, &A64::UserCallbacks::MemoryWriteExclusive8>(ctx, inst); +} + +void A64EmitX64::EmitA64ExclusiveWriteMemory16(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveWriteMemory<16, &A64::UserCallbacks::MemoryWriteExclusive16>(ctx, inst); +} + +void A64EmitX64::EmitA64ExclusiveWriteMemory32(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveWriteMemory<32, &A64::UserCallbacks::MemoryWriteExclusive32>(ctx, inst); +} + +void A64EmitX64::EmitA64ExclusiveWriteMemory64(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveWriteMemory<64, &A64::UserCallbacks::MemoryWriteExclusive64>(ctx, inst); +} + +void A64EmitX64::EmitA64ExclusiveWriteMemory128(A64EmitContext& ctx, IR::Inst* inst) { + EmitExclusiveWriteMemory<128, &A64::UserCallbacks::MemoryWriteExclusive128>(ctx, inst); +} + +std::string A64EmitX64::LocationDescriptorToFriendlyName(const IR::LocationDescriptor& ir_descriptor) const { + const A64::LocationDescriptor descriptor{ir_descriptor}; + return fmt::format("a64_{:016X}_fpcr{:08X}", + descriptor.PC(), + descriptor.FPCR().Value()); +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::Interpret terminal, IR::LocationDescriptor, bool) { + code.SwitchMxcsrOnExit(); + Devirtualize<&A64::UserCallbacks::InterpreterFallback>(conf.callbacks).EmitCall(code, [&](RegList param) { + code.mov(param[0], A64::LocationDescriptor{terminal.next}.PC()); + code.mov(qword[r15 + offsetof(A64JitState, pc)], param[0]); + code.mov(param[1].cvt32(), terminal.num_instructions); + }); + code.ReturnFromRunCode(true); // TODO: Check cycles +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::ReturnToDispatch, IR::LocationDescriptor, bool) { + code.ReturnFromRunCode(); +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::LinkBlock terminal, IR::LocationDescriptor, bool is_single_step) { + if (!conf.HasOptimization(OptimizationFlag::BlockLinking) || is_single_step) { + code.mov(rax, A64::LocationDescriptor{terminal.next}.PC()); + code.mov(qword[r15 + offsetof(A64JitState, pc)], rax); + code.ReturnFromRunCode(); + return; + } + + code.cmp(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], 0); + + patch_information[terminal.next].jg.emplace_back(code.getCurr()); + if (auto next_bb = GetBasicBlock(terminal.next)) { + EmitPatchJg(terminal.next, next_bb->entrypoint); + } else { + EmitPatchJg(terminal.next); + } + code.mov(rax, A64::LocationDescriptor{terminal.next}.PC()); + code.mov(qword[r15 + offsetof(A64JitState, pc)], rax); + code.ForceReturnFromRunCode(); +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::LinkBlockFast terminal, IR::LocationDescriptor, bool is_single_step) { + if (!conf.HasOptimization(OptimizationFlag::BlockLinking) || is_single_step) { + code.mov(rax, A64::LocationDescriptor{terminal.next}.PC()); + code.mov(qword[r15 + offsetof(A64JitState, pc)], rax); + code.ReturnFromRunCode(); + return; + } + + patch_information[terminal.next].jmp.emplace_back(code.getCurr()); + if (auto next_bb = GetBasicBlock(terminal.next)) { + EmitPatchJmp(terminal.next, next_bb->entrypoint); + } else { + EmitPatchJmp(terminal.next); + } +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::PopRSBHint, IR::LocationDescriptor, bool is_single_step) { + if (!conf.HasOptimization(OptimizationFlag::ReturnStackBuffer) || is_single_step) { + code.ReturnFromRunCode(); + return; + } + + code.jmp(terminal_handler_pop_rsb_hint); +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::FastDispatchHint, IR::LocationDescriptor, bool is_single_step) { + if (!conf.HasOptimization(OptimizationFlag::FastDispatch) || is_single_step) { + code.ReturnFromRunCode(); + return; + } + + code.jmp(terminal_handler_fast_dispatch_hint); +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::If terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + switch (terminal.if_) { + case IR::Cond::AL: + case IR::Cond::NV: + EmitTerminal(terminal.then_, initial_location, is_single_step); + break; + default: + Xbyak::Label pass = EmitCond(terminal.if_); + EmitTerminal(terminal.else_, initial_location, is_single_step); + code.L(pass); + EmitTerminal(terminal.then_, initial_location, is_single_step); + break; + } +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::CheckBit terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + Xbyak::Label fail; + code.cmp(code.byte[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, check_bit)], u8(0)); + code.jz(fail); + EmitTerminal(terminal.then_, initial_location, is_single_step); + code.L(fail); + EmitTerminal(terminal.else_, initial_location, is_single_step); +} + +void A64EmitX64::EmitTerminalImpl(IR::Term::CheckHalt terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + code.cmp(code.byte[r15 + offsetof(A64JitState, halt_requested)], u8(0)); + code.jne(code.GetForceReturnFromRunCodeAddress()); + EmitTerminal(terminal.else_, initial_location, is_single_step); +} + +void A64EmitX64::EmitPatchJg(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr) { + const CodePtr patch_location = code.getCurr(); + if (target_code_ptr) { + code.jg(target_code_ptr); + } else { + code.mov(rax, A64::LocationDescriptor{target_desc}.PC()); + code.mov(qword[r15 + offsetof(A64JitState, pc)], rax); + code.jg(code.GetReturnFromRunCodeAddress()); + } + code.EnsurePatchLocationSize(patch_location, 23); +} + +void A64EmitX64::EmitPatchJmp(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr) { + const CodePtr patch_location = code.getCurr(); + if (target_code_ptr) { + code.jmp(target_code_ptr); + } else { + code.mov(rax, A64::LocationDescriptor{target_desc}.PC()); + code.mov(qword[r15 + offsetof(A64JitState, pc)], rax); + code.jmp(code.GetReturnFromRunCodeAddress()); + } + code.EnsurePatchLocationSize(patch_location, 22); +} + +void A64EmitX64::EmitPatchMovRcx(CodePtr target_code_ptr) { + if (!target_code_ptr) { + target_code_ptr = code.GetReturnFromRunCodeAddress(); + } + const CodePtr patch_location = code.getCurr(); + code.mov(code.rcx, reinterpret_cast(target_code_ptr)); + code.EnsurePatchLocationSize(patch_location, 10); +} + +void A64EmitX64::Unpatch(const IR::LocationDescriptor& location) { + EmitX64::Unpatch(location); + if (conf.HasOptimization(OptimizationFlag::FastDispatch)) { + (*fast_dispatch_table_lookup)(location.Value()) = {}; + } +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.h b/externals/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.h new file mode 100755 index 000000000..32c14a6b9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a64_emit_x64.h @@ -0,0 +1,134 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include "dynarmic/backend/x64/a64_jitstate.h" +#include "dynarmic/backend/x64/block_range_information.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/frontend/A64/location_descriptor.h" +#include "dynarmic/interface/A64/a64.h" +#include "dynarmic/interface/A64/config.h" +#include "dynarmic/ir/terminal.h" + +namespace Dynarmic::Backend::X64 { + +class RegAlloc; + +struct A64EmitContext final : public EmitContext { + A64EmitContext(const A64::UserConfig& conf, RegAlloc& reg_alloc, IR::Block& block); + + A64::LocationDescriptor Location() const; + bool IsSingleStep() const; + FP::FPCR FPCR(bool fpcr_controlled = true) const override; + + bool HasOptimization(OptimizationFlag flag) const override { + return conf.HasOptimization(flag); + } + + const A64::UserConfig& conf; +}; + +class A64EmitX64 final : public EmitX64 { +public: + A64EmitX64(BlockOfCode& code, A64::UserConfig conf, A64::Jit* jit_interface); + ~A64EmitX64() override; + + /** + * Emit host machine code for a basic block with intermediate representation `block`. + * @note block is modified. + */ + BlockDescriptor Emit(IR::Block& block); + + void ClearCache() override; + + void InvalidateCacheRanges(const boost::icl::interval_set& ranges); + +protected: + const A64::UserConfig conf; + A64::Jit* jit_interface; + BlockRangeInformation block_ranges; + + struct FastDispatchEntry { + u64 location_descriptor = 0xFFFF'FFFF'FFFF'FFFFull; + const void* code_ptr = nullptr; + }; + static_assert(sizeof(FastDispatchEntry) == 0x10); + static constexpr u64 fast_dispatch_table_mask = 0xFFFFF0; + static constexpr size_t fast_dispatch_table_size = 0x100000; + std::array fast_dispatch_table; + void ClearFastDispatchTable(); + + void (*memory_read_128)(); + void (*memory_write_128)(); + void GenMemory128Accessors(); + + std::map, void (*)()> read_fallbacks; + std::map, void (*)()> write_fallbacks; + void GenFastmemFallbacks(); + + const void* terminal_handler_pop_rsb_hint; + const void* terminal_handler_fast_dispatch_hint = nullptr; + FastDispatchEntry& (*fast_dispatch_table_lookup)(u64) = nullptr; + void GenTerminalHandlers(); + + // Microinstruction emitters + void EmitPushRSB(EmitContext& ctx, IR::Inst* inst); +#define OPCODE(...) +#define A32OPC(...) +#define A64OPC(name, type, ...) void EmitA64##name(A64EmitContext& ctx, IR::Inst* inst); +#include "dynarmic/ir/opcodes.inc" +#undef OPCODE +#undef A32OPC +#undef A64OPC + + // Helpers + std::string LocationDescriptorToFriendlyName(const IR::LocationDescriptor&) const override; + + // Fastmem information + using DoNotFastmemMarker = std::tuple; + struct FastmemPatchInfo { + u64 resume_rip; + u64 callback; + DoNotFastmemMarker marker; + }; + tsl::robin_map fastmem_patch_info; + std::set do_not_fastmem; + std::optional ShouldFastmem(A64EmitContext& ctx, IR::Inst* inst) const; + FakeCall FastmemCallback(u64 rip); + + // Memory access helpers + template + void EmitMemoryRead(A64EmitContext& ctx, IR::Inst* inst); + template + void EmitMemoryWrite(A64EmitContext& ctx, IR::Inst* inst); + template + void EmitExclusiveReadMemory(A64EmitContext& ctx, IR::Inst* inst); + template + void EmitExclusiveWriteMemory(A64EmitContext& ctx, IR::Inst* inst); + + // Terminal instruction emitters + void EmitTerminalImpl(IR::Term::Interpret terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::ReturnToDispatch terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::LinkBlock terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::LinkBlockFast terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::PopRSBHint terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::FastDispatchHint terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::If terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::CheckBit terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + void EmitTerminalImpl(IR::Term::CheckHalt terminal, IR::LocationDescriptor initial_location, bool is_single_step) override; + + // Patching + void Unpatch(const IR::LocationDescriptor& target_desc) override; + void EmitPatchJg(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr = nullptr) override; + void EmitPatchJmp(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr = nullptr) override; + void EmitPatchMovRcx(CodePtr target_code_ptr = nullptr) override; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a64_interface.cpp b/externals/dynarmic/src/dynarmic/backend/x64/a64_interface.cpp new file mode 100755 index 000000000..940797d8e --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a64_interface.cpp @@ -0,0 +1,404 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include + +#include "dynarmic/backend/x64/a64_emit_x64.h" +#include "dynarmic/backend/x64/a64_jitstate.h" +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/devirtualize.h" +#include "dynarmic/backend/x64/jitstate_info.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/llvm_disassemble.h" +#include "dynarmic/common/scope_exit.h" +#include "dynarmic/frontend/A64/translate/translate.h" +#include "dynarmic/interface/A64/a64.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opt/passes.h" + +namespace Dynarmic::A64 { + +using namespace Backend::X64; + +static RunCodeCallbacks GenRunCodeCallbacks(A64::UserCallbacks* cb, CodePtr (*LookupBlock)(void* lookup_block_arg), void* arg) { + return RunCodeCallbacks{ + std::make_unique(LookupBlock, reinterpret_cast(arg)), + std::make_unique(Devirtualize<&A64::UserCallbacks::AddTicks>(cb)), + std::make_unique(Devirtualize<&A64::UserCallbacks::GetTicksRemaining>(cb)), + }; +} + +static std::function GenRCP(const A64::UserConfig& conf) { + return [conf](BlockOfCode& code) { + if (conf.page_table) { + code.mov(code.r14, Common::BitCast(conf.page_table)); + } + if (conf.fastmem_pointer) { + code.mov(code.r13, Common::BitCast(conf.fastmem_pointer)); + } + }; +} + +struct Jit::Impl final { +public: + Impl(Jit* jit, UserConfig conf) + : conf(conf) + , block_of_code(GenRunCodeCallbacks(conf.callbacks, &GetCurrentBlockThunk, this), JitStateInfo{jit_state}, conf.code_cache_size, conf.far_code_offset, GenRCP(conf)) + , emitter(block_of_code, conf, jit) { + ASSERT(conf.page_table_address_space_bits >= 12 && conf.page_table_address_space_bits <= 64); + } + + ~Impl() = default; + + void Run() { + ASSERT(!is_executing); + is_executing = true; + SCOPE_EXIT { this->is_executing = false; }; + jit_state.halt_requested = false; + + // TODO: Check code alignment + + const CodePtr current_code_ptr = [this] { + // RSB optimization + const u32 new_rsb_ptr = (jit_state.rsb_ptr - 1) & A64JitState::RSBPtrMask; + if (jit_state.GetUniqueHash() == jit_state.rsb_location_descriptors[new_rsb_ptr]) { + jit_state.rsb_ptr = new_rsb_ptr; + return reinterpret_cast(jit_state.rsb_codeptrs[new_rsb_ptr]); + } + + return GetCurrentBlock(); + }(); + block_of_code.RunCode(&jit_state, current_code_ptr); + + PerformRequestedCacheInvalidation(); + } + + void Step() { + ASSERT(!is_executing); + is_executing = true; + SCOPE_EXIT { this->is_executing = false; }; + jit_state.halt_requested = true; + + block_of_code.StepCode(&jit_state, GetCurrentSingleStep()); + + PerformRequestedCacheInvalidation(); + } + + void ClearCache() { + invalidate_entire_cache = true; + RequestCacheInvalidation(); + } + + void InvalidateCacheRange(u64 start_address, size_t length) { + const auto end_address = static_cast(start_address + length - 1); + const auto range = boost::icl::discrete_interval::closed(start_address, end_address); + invalid_cache_ranges.add(range); + RequestCacheInvalidation(); + } + + void Reset() { + ASSERT(!is_executing); + jit_state = {}; + } + + void HaltExecution() { + jit_state.halt_requested = true; + } + + u64 GetSP() const { + return jit_state.sp; + } + + void SetSP(u64 value) { + jit_state.sp = value; + } + + u64 GetPC() const { + return jit_state.pc; + } + + void SetPC(u64 value) { + jit_state.pc = value; + } + + u64 GetRegister(size_t index) const { + if (index == 31) + return GetSP(); + return jit_state.reg.at(index); + } + + void SetRegister(size_t index, u64 value) { + if (index == 31) + return SetSP(value); + jit_state.reg.at(index) = value; + } + + std::array GetRegisters() const { + return jit_state.reg; + } + + void SetRegisters(const std::array& value) { + jit_state.reg = value; + } + + Vector GetVector(size_t index) const { + return {jit_state.vec.at(index * 2), jit_state.vec.at(index * 2 + 1)}; + } + + void SetVector(size_t index, Vector value) { + jit_state.vec.at(index * 2) = value[0]; + jit_state.vec.at(index * 2 + 1) = value[1]; + } + + std::array GetVectors() const { + std::array ret; + static_assert(sizeof(ret) == sizeof(jit_state.vec)); + std::memcpy(ret.data(), jit_state.vec.data(), sizeof(jit_state.vec)); + return ret; + } + + void SetVectors(const std::array& value) { + static_assert(sizeof(value) == sizeof(jit_state.vec)); + std::memcpy(jit_state.vec.data(), value.data(), sizeof(jit_state.vec)); + } + + u32 GetFpcr() const { + return jit_state.GetFpcr(); + } + + void SetFpcr(u32 value) { + jit_state.SetFpcr(value); + } + + u32 GetFpsr() const { + return jit_state.GetFpsr(); + } + + void SetFpsr(u32 value) { + jit_state.SetFpsr(value); + } + + u32 GetPstate() const { + return jit_state.GetPstate(); + } + + void SetPstate(u32 value) { + jit_state.SetPstate(value); + } + + void ClearExclusiveState() { + jit_state.exclusive_state = 0; + } + + bool IsExecuting() const { + return is_executing; + } + + std::string Disassemble() const { + return Common::DisassembleX64(block_of_code.GetCodeBegin(), block_of_code.getCurr()); + } + +private: + static CodePtr GetCurrentBlockThunk(void* thisptr) { + Jit::Impl* this_ = static_cast(thisptr); + return this_->GetCurrentBlock(); + } + + IR::LocationDescriptor GetCurrentLocation() const { + return IR::LocationDescriptor{jit_state.GetUniqueHash()}; + } + + CodePtr GetCurrentBlock() { + return GetBlock(GetCurrentLocation()); + } + + CodePtr GetCurrentSingleStep() { + return GetBlock(A64::LocationDescriptor{GetCurrentLocation()}.SetSingleStepping(true)); + } + + CodePtr GetBlock(IR::LocationDescriptor current_location) { + if (auto block = emitter.GetBasicBlock(current_location)) + return block->entrypoint; + + constexpr size_t MINIMUM_REMAINING_CODESIZE = 1 * 1024 * 1024; + if (block_of_code.SpaceRemaining() < MINIMUM_REMAINING_CODESIZE) { + // Immediately evacuate cache + invalidate_entire_cache = true; + PerformRequestedCacheInvalidation(); + } + + // JIT Compile + const auto get_code = [this](u64 vaddr) { return conf.callbacks->MemoryReadCode(vaddr); }; + IR::Block ir_block = A64::Translate(A64::LocationDescriptor{current_location}, get_code, + {conf.define_unpredictable_behaviour, conf.wall_clock_cntpct}); + Optimization::A64CallbackConfigPass(ir_block, conf); + if (conf.HasOptimization(OptimizationFlag::GetSetElimination)) { + Optimization::A64GetSetElimination(ir_block); + Optimization::DeadCodeElimination(ir_block); + } + if (conf.HasOptimization(OptimizationFlag::ConstProp)) { + Optimization::ConstantPropagation(ir_block); + Optimization::DeadCodeElimination(ir_block); + } + if (conf.HasOptimization(OptimizationFlag::MiscIROpt)) { + Optimization::A64MergeInterpretBlocksPass(ir_block, conf.callbacks); + } + Optimization::VerificationPass(ir_block); + return emitter.Emit(ir_block).entrypoint; + } + + void RequestCacheInvalidation() { + if (is_executing) { + jit_state.halt_requested = true; + return; + } + + PerformRequestedCacheInvalidation(); + } + + void PerformRequestedCacheInvalidation() { + if (!invalidate_entire_cache && invalid_cache_ranges.empty()) { + return; + } + + jit_state.ResetRSB(); + if (invalidate_entire_cache) { + block_of_code.ClearCache(); + emitter.ClearCache(); + } else { + emitter.InvalidateCacheRanges(invalid_cache_ranges); + } + invalid_cache_ranges.clear(); + invalidate_entire_cache = false; + } + + bool is_executing = false; + + const UserConfig conf; + A64JitState jit_state; + BlockOfCode block_of_code; + A64EmitX64 emitter; + + bool invalidate_entire_cache = false; + boost::icl::interval_set invalid_cache_ranges; +}; + +Jit::Jit(UserConfig conf) + : impl(std::make_unique(this, conf)) {} + +Jit::~Jit() = default; + +void Jit::Run() { + impl->Run(); +} + +void Jit::Step() { + impl->Step(); +} + +void Jit::ClearCache() { + impl->ClearCache(); +} + +void Jit::InvalidateCacheRange(u64 start_address, size_t length) { + impl->InvalidateCacheRange(start_address, length); +} + +void Jit::Reset() { + impl->Reset(); +} + +void Jit::HaltExecution() { + impl->HaltExecution(); +} + +u64 Jit::GetSP() const { + return impl->GetSP(); +} + +void Jit::SetSP(u64 value) { + impl->SetSP(value); +} + +u64 Jit::GetPC() const { + return impl->GetPC(); +} + +void Jit::SetPC(u64 value) { + impl->SetPC(value); +} + +u64 Jit::GetRegister(size_t index) const { + return impl->GetRegister(index); +} + +void Jit::SetRegister(size_t index, u64 value) { + impl->SetRegister(index, value); +} + +std::array Jit::GetRegisters() const { + return impl->GetRegisters(); +} + +void Jit::SetRegisters(const std::array& value) { + impl->SetRegisters(value); +} + +Vector Jit::GetVector(size_t index) const { + return impl->GetVector(index); +} + +void Jit::SetVector(size_t index, Vector value) { + impl->SetVector(index, value); +} + +std::array Jit::GetVectors() const { + return impl->GetVectors(); +} + +void Jit::SetVectors(const std::array& value) { + impl->SetVectors(value); +} + +u32 Jit::GetFpcr() const { + return impl->GetFpcr(); +} + +void Jit::SetFpcr(u32 value) { + impl->SetFpcr(value); +} + +u32 Jit::GetFpsr() const { + return impl->GetFpsr(); +} + +void Jit::SetFpsr(u32 value) { + impl->SetFpsr(value); +} + +u32 Jit::GetPstate() const { + return impl->GetPstate(); +} + +void Jit::SetPstate(u32 value) { + impl->SetPstate(value); +} + +void Jit::ClearExclusiveState() { + impl->ClearExclusiveState(); +} + +bool Jit::IsExecuting() const { + return impl->IsExecuting(); +} + +std::string Jit::Disassemble() const { + return impl->Disassemble(); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a64_jitstate.cpp b/externals/dynarmic/src/dynarmic/backend/x64/a64_jitstate.cpp new file mode 100755 index 000000000..c0e7a1c6a --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a64_jitstate.cpp @@ -0,0 +1,115 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/a64_jitstate.h" + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A64/location_descriptor.h" + +namespace Dynarmic::Backend::X64 { + +/** + * Comparing MXCSR and FPCR + * ======================== + * + * SSE MSCSR exception masks + * ------------------------- + * PM bit 12 Precision Mask + * UM bit 11 Underflow Mask + * OM bit 10 Overflow Mask + * ZM bit 9 Divide By Zero Mask + * DM bit 8 Denormal Mask + * IM bit 7 Invalid Operation Mask + * + * A64 FPCR exception trap enables + * ------------------------------- + * IDE bit 15 Input Denormal exception trap enable + * IXE bit 12 Inexact exception trap enable + * UFE bit 11 Underflow exception trap enable + * OFE bit 10 Overflow exception trap enable + * DZE bit 9 Division by Zero exception trap enable + * IOE bit 8 Invalid Operation exception trap enable + * + * SSE MXCSR mode bits + * ------------------- + * FZ bit 15 Flush To Zero + * DAZ bit 6 Denormals Are Zero + * RN bits 13-14 Round to {0 = Nearest, 1 = Negative, 2 = Positive, 3 = Zero} + * + * A64 FPCR mode bits + * ------------------ + * AHP bit 26 Alternative half-precision + * DN bit 25 Default NaN + * FZ bit 24 Flush to Zero + * RMode bits 22-23 Round to {0 = Nearest, 1 = Positive, 2 = Negative, 3 = Zero} + * FZ16 bit 19 Flush to Zero for half-precision + */ + +constexpr u32 FPCR_MASK = 0x07C89F00; + +u32 A64JitState::GetFpcr() const { + return fpcr; +} + +void A64JitState::SetFpcr(u32 value) { + fpcr = value & FPCR_MASK; + + asimd_MXCSR &= 0x0000003D; + guest_MXCSR &= 0x0000003D; + asimd_MXCSR |= 0x00001f80; + guest_MXCSR |= 0x00001f80; // Mask all exceptions + + // RMode + const std::array MXCSR_RMode{0x0, 0x4000, 0x2000, 0x6000}; + guest_MXCSR |= MXCSR_RMode[(value >> 22) & 0x3]; + + if (Common::Bit<24>(value)) { + guest_MXCSR |= (1 << 15); // SSE Flush to Zero + guest_MXCSR |= (1 << 6); // SSE Denormals are Zero + } +} + +/** + * Comparing MXCSR and FPSR + * ======================== + * + * SSE MXCSR exception flags + * ------------------------- + * PE bit 5 Precision Flag + * UE bit 4 Underflow Flag + * OE bit 3 Overflow Flag + * ZE bit 2 Divide By Zero Flag + * DE bit 1 Denormal Flag // Appears to only be set when MXCSR.DAZ = 0 + * IE bit 0 Invalid Operation Flag + * + * A64 FPSR cumulative exception bits + * ---------------------------------- + * QC bit 27 Cumulative saturation bit + * IDC bit 7 Input Denormal cumulative exception bit // Only ever set when FPCR.FTZ = 1 + * IXC bit 4 Inexact cumulative exception bit + * UFC bit 3 Underflow cumulative exception bit + * OFC bit 2 Overflow cumulative exception bit + * DZC bit 1 Division by Zero cumulative exception bit + * IOC bit 0 Invalid Operation cumulative exception bit + */ + +u32 A64JitState::GetFpsr() const { + const u32 mxcsr = guest_MXCSR | asimd_MXCSR; + u32 fpsr = 0; + fpsr |= (mxcsr & 0b0000000000001); // IOC = IE + fpsr |= (mxcsr & 0b0000000111100) >> 1; // IXC, UFC, OFC, DZC = PE, UE, OE, ZE + fpsr |= fpsr_exc; + fpsr |= (fpsr_qc == 0 ? 0 : 1) << 27; + return fpsr; +} + +void A64JitState::SetFpsr(u32 value) { + guest_MXCSR &= ~0x0000003D; + asimd_MXCSR &= ~0x0000003D; + fpsr_qc = (value >> 27) & 1; + fpsr_exc = value & 0x9F; +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/a64_jitstate.h b/externals/dynarmic/src/dynarmic/backend/x64/a64_jitstate.h new file mode 100755 index 000000000..40cd9cc5c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/a64_jitstate.h @@ -0,0 +1,85 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include + +#include "dynarmic/backend/x64/nzcv_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A64/location_descriptor.h" + +namespace Dynarmic::Backend::X64 { + +class BlockOfCode; + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4324) // Structure was padded due to alignment specifier +#endif + +struct A64JitState { + using ProgramCounterType = u64; + + A64JitState() { ResetRSB(); } + + std::array reg{}; + u64 sp = 0; + u64 pc = 0; + + u32 cpsr_nzcv = 0; + + u32 GetPstate() const { + return NZCV::FromX64(cpsr_nzcv); + } + void SetPstate(u32 new_pstate) { + cpsr_nzcv = NZCV::ToX64(new_pstate); + } + + alignas(16) std::array vec{}; // Extension registers. + + // For internal use (See: BlockOfCode::RunCode) + u32 guest_MXCSR = 0x00001f80; + u32 asimd_MXCSR = 0x00009fc0; + bool halt_requested = false; + + // Exclusive state + static constexpr u64 RESERVATION_GRANULE_MASK = 0xFFFF'FFFF'FFFF'FFF0ull; + u8 exclusive_state = 0; + + static constexpr size_t RSBSize = 8; // MUST be a power of 2. + static constexpr size_t RSBPtrMask = RSBSize - 1; + u32 rsb_ptr = 0; + std::array rsb_location_descriptors; + std::array rsb_codeptrs; + void ResetRSB() { + rsb_location_descriptors.fill(0xFFFFFFFFFFFFFFFFull); + rsb_codeptrs.fill(0); + } + + u32 fpsr_exc = 0; + u32 fpsr_qc = 0; + u32 fpcr = 0; + u32 GetFpcr() const; + u32 GetFpsr() const; + void SetFpcr(u32 value); + void SetFpsr(u32 value); + + u64 GetUniqueHash() const noexcept { + const u64 fpcr_u64 = static_cast(fpcr & A64::LocationDescriptor::fpcr_mask) << A64::LocationDescriptor::fpcr_shift; + const u64 pc_u64 = pc & A64::LocationDescriptor::pc_mask; + return pc_u64 | fpcr_u64; + } +}; + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +using CodePtr = const void*; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/abi.cpp b/externals/dynarmic/src/dynarmic/backend/x64/abi.cpp new file mode 100755 index 000000000..b1c16a2d4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/abi.cpp @@ -0,0 +1,135 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/abi.h" + +#include +#include + +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/iterator_util.h" + +namespace Dynarmic::Backend::X64 { + +constexpr size_t XMM_SIZE = 16; + +struct FrameInfo { + size_t stack_subtraction; + size_t xmm_offset; + size_t frame_offset; +}; + +static FrameInfo CalculateFrameInfo(size_t num_gprs, size_t num_xmms, size_t frame_size) { + // We are initially 8 byte aligned because the return value is pushed onto an aligned stack after a call. + const size_t rsp_alignment = (num_gprs % 2 == 0) ? 8 : 0; + const size_t total_xmm_size = num_xmms * XMM_SIZE; + + if (frame_size & 0xF) { + frame_size += 0x10 - (frame_size & 0xF); + } + + return { + rsp_alignment + total_xmm_size + frame_size + ABI_SHADOW_SPACE, + frame_size + ABI_SHADOW_SPACE, + ABI_SHADOW_SPACE, + }; +} + +template +void ABI_PushRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size, const RegisterArrayT& regs) { + using namespace Xbyak::util; + + const size_t num_gprs = std::count_if(regs.begin(), regs.end(), HostLocIsGPR); + const size_t num_xmms = std::count_if(regs.begin(), regs.end(), HostLocIsXMM); + + FrameInfo frame_info = CalculateFrameInfo(num_gprs, num_xmms, frame_size); + + for (HostLoc gpr : regs) { + if (HostLocIsGPR(gpr)) { + code.push(HostLocToReg64(gpr)); + } + } + + if (frame_info.stack_subtraction != 0) { + code.sub(rsp, u32(frame_info.stack_subtraction)); + } + + size_t xmm_offset = frame_info.xmm_offset; + for (HostLoc xmm : regs) { + if (HostLocIsXMM(xmm)) { + if (code.HasHostFeature(HostFeature::AVX)) { + code.vmovaps(code.xword[rsp + xmm_offset], HostLocToXmm(xmm)); + } else { + code.movaps(code.xword[rsp + xmm_offset], HostLocToXmm(xmm)); + } + xmm_offset += XMM_SIZE; + } + } +} + +template +void ABI_PopRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size, const RegisterArrayT& regs) { + using namespace Xbyak::util; + + const size_t num_gprs = std::count_if(regs.begin(), regs.end(), HostLocIsGPR); + const size_t num_xmms = std::count_if(regs.begin(), regs.end(), HostLocIsXMM); + + FrameInfo frame_info = CalculateFrameInfo(num_gprs, num_xmms, frame_size); + + size_t xmm_offset = frame_info.xmm_offset; + for (HostLoc xmm : regs) { + if (HostLocIsXMM(xmm)) { + if (code.HasHostFeature(HostFeature::AVX)) { + code.vmovaps(HostLocToXmm(xmm), code.xword[rsp + xmm_offset]); + } else { + code.movaps(HostLocToXmm(xmm), code.xword[rsp + xmm_offset]); + } + xmm_offset += XMM_SIZE; + } + } + + if (frame_info.stack_subtraction != 0) { + code.add(rsp, u32(frame_info.stack_subtraction)); + } + + for (HostLoc gpr : Common::Reverse(regs)) { + if (HostLocIsGPR(gpr)) { + code.pop(HostLocToReg64(gpr)); + } + } +} + +void ABI_PushCalleeSaveRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size) { + ABI_PushRegistersAndAdjustStack(code, frame_size, ABI_ALL_CALLEE_SAVE); +} + +void ABI_PopCalleeSaveRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size) { + ABI_PopRegistersAndAdjustStack(code, frame_size, ABI_ALL_CALLEE_SAVE); +} + +void ABI_PushCallerSaveRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size) { + ABI_PushRegistersAndAdjustStack(code, frame_size, ABI_ALL_CALLER_SAVE); +} + +void ABI_PopCallerSaveRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size) { + ABI_PopRegistersAndAdjustStack(code, frame_size, ABI_ALL_CALLER_SAVE); +} + +void ABI_PushCallerSaveRegistersAndAdjustStackExcept(BlockOfCode& code, HostLoc exception) { + std::vector regs; + std::remove_copy(ABI_ALL_CALLER_SAVE.begin(), ABI_ALL_CALLER_SAVE.end(), std::back_inserter(regs), exception); + ABI_PushRegistersAndAdjustStack(code, 0, regs); +} + +void ABI_PopCallerSaveRegistersAndAdjustStackExcept(BlockOfCode& code, HostLoc exception) { + std::vector regs; + std::remove_copy(ABI_ALL_CALLER_SAVE.begin(), ABI_ALL_CALLER_SAVE.end(), std::back_inserter(regs), exception); + ABI_PopRegistersAndAdjustStack(code, 0, regs); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/abi.h b/externals/dynarmic/src/dynarmic/backend/x64/abi.h new file mode 100755 index 000000000..0ccc92ba5 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/abi.h @@ -0,0 +1,131 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ +#pragma once + +#include + +#include "dynarmic/backend/x64/hostloc.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +class BlockOfCode; + +#ifdef _WIN32 + +constexpr HostLoc ABI_RETURN = HostLoc::RAX; + +constexpr size_t ABI_PARAM_COUNT = 4; + +constexpr HostLoc ABI_PARAM1 = HostLoc::RCX; +constexpr HostLoc ABI_PARAM2 = HostLoc::RDX; +constexpr HostLoc ABI_PARAM3 = HostLoc::R8; +constexpr HostLoc ABI_PARAM4 = HostLoc::R9; + +constexpr std::array ABI_ALL_CALLER_SAVE = { + HostLoc::RAX, + HostLoc::RCX, + HostLoc::RDX, + HostLoc::R8, + HostLoc::R9, + HostLoc::R10, + HostLoc::R11, + HostLoc::XMM0, + HostLoc::XMM1, + HostLoc::XMM2, + HostLoc::XMM3, + HostLoc::XMM4, + HostLoc::XMM5, +}; + +constexpr std::array ABI_ALL_CALLEE_SAVE = { + HostLoc::RBX, + HostLoc::RSI, + HostLoc::RDI, + HostLoc::RBP, + HostLoc::R12, + HostLoc::R13, + HostLoc::R14, + HostLoc::R15, + HostLoc::XMM6, + HostLoc::XMM7, + HostLoc::XMM8, + HostLoc::XMM9, + HostLoc::XMM10, + HostLoc::XMM11, + HostLoc::XMM12, + HostLoc::XMM13, + HostLoc::XMM14, + HostLoc::XMM15, +}; + +constexpr size_t ABI_SHADOW_SPACE = 32; // bytes + +#else + +constexpr HostLoc ABI_RETURN = HostLoc::RAX; +constexpr HostLoc ABI_RETURN2 = HostLoc::RDX; + +constexpr size_t ABI_PARAM_COUNT = 6; + +constexpr HostLoc ABI_PARAM1 = HostLoc::RDI; +constexpr HostLoc ABI_PARAM2 = HostLoc::RSI; +constexpr HostLoc ABI_PARAM3 = HostLoc::RDX; +constexpr HostLoc ABI_PARAM4 = HostLoc::RCX; +constexpr HostLoc ABI_PARAM5 = HostLoc::R8; +constexpr HostLoc ABI_PARAM6 = HostLoc::R9; + +constexpr std::array ABI_ALL_CALLER_SAVE = { + HostLoc::RAX, + HostLoc::RCX, + HostLoc::RDX, + HostLoc::RDI, + HostLoc::RSI, + HostLoc::R8, + HostLoc::R9, + HostLoc::R10, + HostLoc::R11, + HostLoc::XMM0, + HostLoc::XMM1, + HostLoc::XMM2, + HostLoc::XMM3, + HostLoc::XMM4, + HostLoc::XMM5, + HostLoc::XMM6, + HostLoc::XMM7, + HostLoc::XMM8, + HostLoc::XMM9, + HostLoc::XMM10, + HostLoc::XMM11, + HostLoc::XMM12, + HostLoc::XMM13, + HostLoc::XMM14, + HostLoc::XMM15, +}; + +constexpr std::array ABI_ALL_CALLEE_SAVE = { + HostLoc::RBX, + HostLoc::RBP, + HostLoc::R12, + HostLoc::R13, + HostLoc::R14, + HostLoc::R15, +}; + +constexpr size_t ABI_SHADOW_SPACE = 0; // bytes + +#endif + +static_assert(ABI_ALL_CALLER_SAVE.size() + ABI_ALL_CALLEE_SAVE.size() == 31, "Invalid total number of registers"); + +void ABI_PushCalleeSaveRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size = 0); +void ABI_PopCalleeSaveRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size = 0); +void ABI_PushCallerSaveRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size = 0); +void ABI_PopCallerSaveRegistersAndAdjustStack(BlockOfCode& code, size_t frame_size = 0); + +void ABI_PushCallerSaveRegistersAndAdjustStackExcept(BlockOfCode& code, HostLoc exception); +void ABI_PopCallerSaveRegistersAndAdjustStackExcept(BlockOfCode& code, HostLoc exception); + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/block_of_code.cpp b/externals/dynarmic/src/dynarmic/backend/x64/block_of_code.cpp new file mode 100755 index 000000000..43683d2a5 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/block_of_code.cpp @@ -0,0 +1,393 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/block_of_code.h" + +#ifdef _WIN32 +# define WIN32_LEAN_AND_MEAN +# include +#else +# include +#endif + +#include +#include + +#include + +#include "dynarmic/backend/x64/a32_jitstate.h" +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/hostloc.h" +#include "dynarmic/backend/x64/perf_map.h" +#include "dynarmic/backend/x64/stack_layout.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" + +namespace Dynarmic::Backend::X64 { + +#ifdef _WIN32 +const Xbyak::Reg64 BlockOfCode::ABI_RETURN = HostLocToReg64(Dynarmic::Backend::X64::ABI_RETURN); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM1 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM1); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM2 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM2); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM3 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM3); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM4 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM4); +const std::array BlockOfCode::ABI_PARAMS = {BlockOfCode::ABI_PARAM1, BlockOfCode::ABI_PARAM2, BlockOfCode::ABI_PARAM3, BlockOfCode::ABI_PARAM4}; +#else +const Xbyak::Reg64 BlockOfCode::ABI_RETURN = HostLocToReg64(Dynarmic::Backend::X64::ABI_RETURN); +const Xbyak::Reg64 BlockOfCode::ABI_RETURN2 = HostLocToReg64(Dynarmic::Backend::X64::ABI_RETURN2); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM1 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM1); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM2 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM2); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM3 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM3); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM4 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM4); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM5 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM5); +const Xbyak::Reg64 BlockOfCode::ABI_PARAM6 = HostLocToReg64(Dynarmic::Backend::X64::ABI_PARAM6); +const std::array BlockOfCode::ABI_PARAMS = {BlockOfCode::ABI_PARAM1, BlockOfCode::ABI_PARAM2, BlockOfCode::ABI_PARAM3, BlockOfCode::ABI_PARAM4, BlockOfCode::ABI_PARAM5, BlockOfCode::ABI_PARAM6}; +#endif + +namespace { + +constexpr size_t CONSTANT_POOL_SIZE = 2 * 1024 * 1024; + +class CustomXbyakAllocator : public Xbyak::Allocator { +public: +#ifdef DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT + bool useProtect() const override { return false; } +#endif +}; + +// This is threadsafe as Xbyak::Allocator does not contain any state; it is a pure interface. +CustomXbyakAllocator s_allocator; + +#ifdef DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT +void ProtectMemory(const void* base, size_t size, bool is_executable) { +# ifdef _WIN32 + DWORD oldProtect = 0; + VirtualProtect(const_cast(base), size, is_executable ? PAGE_EXECUTE_READ : PAGE_READWRITE, &oldProtect); +# else + static const size_t pageSize = sysconf(_SC_PAGESIZE); + const size_t iaddr = reinterpret_cast(base); + const size_t roundAddr = iaddr & ~(pageSize - static_cast(1)); + const int mode = is_executable ? (PROT_READ | PROT_EXEC) : (PROT_READ | PROT_WRITE); + mprotect(reinterpret_cast(roundAddr), size + (iaddr - roundAddr), mode); +# endif +} +#endif + +HostFeature GetHostFeatures() { + HostFeature features = {}; + +#ifdef DYNARMIC_ENABLE_CPU_FEATURE_DETECTION + using Cpu = Xbyak::util::Cpu; + Xbyak::util::Cpu cpu_info; + + if (cpu_info.has(Cpu::tSSSE3)) + features |= HostFeature::SSSE3; + if (cpu_info.has(Cpu::tSSE41)) + features |= HostFeature::SSE41; + if (cpu_info.has(Cpu::tSSE42)) + features |= HostFeature::SSE42; + if (cpu_info.has(Cpu::tAVX)) + features |= HostFeature::AVX; + if (cpu_info.has(Cpu::tAVX2)) + features |= HostFeature::AVX2; + if (cpu_info.has(Cpu::tAVX512F)) + features |= HostFeature::AVX512F; + if (cpu_info.has(Cpu::tAVX512CD)) + features |= HostFeature::AVX512CD; + if (cpu_info.has(Cpu::tAVX512VL)) + features |= HostFeature::AVX512VL; + if (cpu_info.has(Cpu::tAVX512BW)) + features |= HostFeature::AVX512BW; + if (cpu_info.has(Cpu::tAVX512DQ)) + features |= HostFeature::AVX512DQ; + if (cpu_info.has(Cpu::tAVX512_BITALG)) + features |= HostFeature::AVX512BITALG; + if (cpu_info.has(Cpu::tAVX512VBMI)) + features |= HostFeature::AVX512VBMI; + if (cpu_info.has(Cpu::tPCLMULQDQ)) + features |= HostFeature::PCLMULQDQ; + if (cpu_info.has(Cpu::tF16C)) + features |= HostFeature::F16C; + if (cpu_info.has(Cpu::tFMA)) + features |= HostFeature::FMA; + if (cpu_info.has(Cpu::tAESNI)) + features |= HostFeature::AES; + if (cpu_info.has(Cpu::tPOPCNT)) + features |= HostFeature::POPCNT; + if (cpu_info.has(Cpu::tBMI1)) + features |= HostFeature::BMI1; + if (cpu_info.has(Cpu::tBMI2)) + features |= HostFeature::BMI2; + if (cpu_info.has(Cpu::tLZCNT)) + features |= HostFeature::LZCNT; + if (cpu_info.has(Cpu::tGFNI)) + features |= HostFeature::GFNI; + + if (cpu_info.has(Cpu::tBMI2)) { + // BMI2 instructions such as pdep and pext have been very slow up until Zen 3. + // Check for Zen 3 or newer by its family (0x19). + // See also: https://en.wikichip.org/wiki/amd/cpuid + if (cpu_info.has(Cpu::tAMD)) { + std::array data{}; + cpu_info.getCpuid(1, data.data()); + const u32 family_base = Common::Bits<8, 11>(data[0]); + const u32 family_extended = Common::Bits<20, 27>(data[0]); + const u32 family = family_base + family_extended; + if (family >= 0x19) + features |= HostFeature::FastBMI2; + } else { + features |= HostFeature::FastBMI2; + } + } +#endif + + return features; +} + +} // anonymous namespace + +BlockOfCode::BlockOfCode(RunCodeCallbacks cb, JitStateInfo jsi, size_t total_code_size, size_t far_code_offset, std::function rcp) + : Xbyak::CodeGenerator(total_code_size, nullptr, &s_allocator) + , cb(std::move(cb)) + , jsi(jsi) + , far_code_offset(far_code_offset) + , constant_pool(*this, CONSTANT_POOL_SIZE) + , host_features(GetHostFeatures()) { + ASSERT(total_code_size > far_code_offset); + EnableWriting(); + GenRunCode(rcp); +} + +void BlockOfCode::PreludeComplete() { + prelude_complete = true; + near_code_begin = getCurr(); + far_code_begin = getCurr() + far_code_offset; + ClearCache(); + DisableWriting(); +} + +void BlockOfCode::EnableWriting() { +#ifdef DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT + ProtectMemory(getCode(), maxSize_, false); +#endif +} + +void BlockOfCode::DisableWriting() { +#ifdef DYNARMIC_ENABLE_NO_EXECUTE_SUPPORT + ProtectMemory(getCode(), maxSize_, true); +#endif +} + +void BlockOfCode::ClearCache() { + ASSERT(prelude_complete); + in_far_code = false; + near_code_ptr = near_code_begin; + far_code_ptr = far_code_begin; + SetCodePtr(near_code_begin); +} + +size_t BlockOfCode::SpaceRemaining() const { + ASSERT(prelude_complete); + const u8* current_near_ptr = in_far_code ? reinterpret_cast(near_code_ptr) : getCode(); + const u8* current_far_ptr = in_far_code ? getCode() : reinterpret_cast(far_code_ptr); + if (current_near_ptr >= far_code_begin) + return 0; + if (current_far_ptr >= &top_[maxSize_]) + return 0; + return std::min(reinterpret_cast(far_code_begin) - current_near_ptr, &top_[maxSize_] - current_far_ptr); +} + +void BlockOfCode::RunCode(void* jit_state, CodePtr code_ptr) const { + run_code(jit_state, code_ptr); +} + +void BlockOfCode::StepCode(void* jit_state, CodePtr code_ptr) const { + step_code(jit_state, code_ptr); +} + +void BlockOfCode::ReturnFromRunCode(bool mxcsr_already_exited) { + size_t index = 0; + if (mxcsr_already_exited) + index |= MXCSR_ALREADY_EXITED; + jmp(return_from_run_code[index]); +} + +void BlockOfCode::ForceReturnFromRunCode(bool mxcsr_already_exited) { + size_t index = FORCE_RETURN; + if (mxcsr_already_exited) + index |= MXCSR_ALREADY_EXITED; + jmp(return_from_run_code[index]); +} + +void BlockOfCode::GenRunCode(std::function rcp) { + align(); + run_code = getCurr(); + + // This serves two purposes: + // 1. It saves all the registers we as a callee need to save. + // 2. It aligns the stack so that the code the JIT emits can assume + // that the stack is appropriately aligned for CALLs. + ABI_PushCalleeSaveRegistersAndAdjustStack(*this, sizeof(StackLayout)); + + mov(r15, ABI_PARAM1); + mov(rbx, ABI_PARAM2); // save temporarily in non-volatile register + + cb.GetTicksRemaining->EmitCall(*this); + mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)], ABI_RETURN); + mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], ABI_RETURN); + + rcp(*this); + + SwitchMxcsrOnEntry(); + jmp(rbx); + + align(); + step_code = getCurr(); + + ABI_PushCalleeSaveRegistersAndAdjustStack(*this, sizeof(StackLayout)); + + mov(r15, ABI_PARAM1); + + mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)], 1); + mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], 1); + + rcp(*this); + + SwitchMxcsrOnEntry(); + jmp(ABI_PARAM2); + + align(); + + // Dispatcher loop + + Xbyak::Label return_to_caller, return_to_caller_mxcsr_already_exited; + + align(); + return_from_run_code[0] = getCurr(); + + cmp(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], 0); + jng(return_to_caller); + cb.LookupBlock->EmitCall(*this); + jmp(ABI_RETURN); + + align(); + return_from_run_code[MXCSR_ALREADY_EXITED] = getCurr(); + + cmp(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], 0); + jng(return_to_caller_mxcsr_already_exited); + SwitchMxcsrOnEntry(); + cb.LookupBlock->EmitCall(*this); + jmp(ABI_RETURN); + + align(); + return_from_run_code[FORCE_RETURN] = getCurr(); + L(return_to_caller); + + SwitchMxcsrOnExit(); + // fallthrough + + return_from_run_code[MXCSR_ALREADY_EXITED | FORCE_RETURN] = getCurr(); + L(return_to_caller_mxcsr_already_exited); + + cb.AddTicks->EmitCall(*this, [this](RegList param) { + mov(param[0], qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)]); + sub(param[0], qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)]); + }); + + ABI_PopCalleeSaveRegistersAndAdjustStack(*this, sizeof(StackLayout)); + ret(); + + PerfMapRegister(run_code, getCurr(), "dynarmic_dispatcher"); +} + +void BlockOfCode::SwitchMxcsrOnEntry() { + stmxcsr(dword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, save_host_MXCSR)]); + ldmxcsr(dword[r15 + jsi.offsetof_guest_MXCSR]); +} + +void BlockOfCode::SwitchMxcsrOnExit() { + stmxcsr(dword[r15 + jsi.offsetof_guest_MXCSR]); + ldmxcsr(dword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, save_host_MXCSR)]); +} + +void BlockOfCode::EnterStandardASIMD() { + stmxcsr(dword[r15 + jsi.offsetof_guest_MXCSR]); + ldmxcsr(dword[r15 + jsi.offsetof_asimd_MXCSR]); +} + +void BlockOfCode::LeaveStandardASIMD() { + stmxcsr(dword[r15 + jsi.offsetof_asimd_MXCSR]); + ldmxcsr(dword[r15 + jsi.offsetof_guest_MXCSR]); +} + +void BlockOfCode::UpdateTicks() { + cb.AddTicks->EmitCall(*this, [this](RegList param) { + mov(param[0], qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)]); + sub(param[0], qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)]); + }); + + cb.GetTicksRemaining->EmitCall(*this); + mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_to_run)], ABI_RETURN); + mov(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], ABI_RETURN); +} + +void BlockOfCode::LookupBlock() { + cb.LookupBlock->EmitCall(*this); +} + +Xbyak::Address BlockOfCode::MConst(const Xbyak::AddressFrame& frame, u64 lower, u64 upper) { + return constant_pool.GetConstant(frame, lower, upper); +} + +void BlockOfCode::SwitchToFarCode() { + ASSERT(prelude_complete); + ASSERT(!in_far_code); + in_far_code = true; + near_code_ptr = getCurr(); + SetCodePtr(far_code_ptr); + + ASSERT_MSG(near_code_ptr < far_code_begin, "Near code has overwritten far code!"); +} + +void BlockOfCode::SwitchToNearCode() { + ASSERT(prelude_complete); + ASSERT(in_far_code); + in_far_code = false; + far_code_ptr = getCurr(); + SetCodePtr(near_code_ptr); +} + +CodePtr BlockOfCode::GetCodeBegin() const { + return near_code_begin; +} + +size_t BlockOfCode::GetTotalCodeSize() const { + return maxSize_; +} + +void* BlockOfCode::AllocateFromCodeSpace(size_t alloc_size) { + if (size_ + alloc_size >= maxSize_) { + throw Xbyak::Error(Xbyak::ERR_CODE_IS_TOO_BIG); + } + + void* ret = getCurr(); + size_ += alloc_size; + memset(ret, 0, alloc_size); + return ret; +} + +void BlockOfCode::SetCodePtr(CodePtr code_ptr) { + // The "size" defines where top_, the insertion point, is. + size_t required_size = reinterpret_cast(code_ptr) - getCode(); + setSize(required_size); +} + +void BlockOfCode::EnsurePatchLocationSize(CodePtr begin, size_t size) { + size_t current_size = getCurr() - reinterpret_cast(begin); + ASSERT(current_size <= size); + nop(size - current_size); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/block_of_code.h b/externals/dynarmic/src/dynarmic/backend/x64/block_of_code.h new file mode 100755 index 000000000..b56ba9d3a --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/block_of_code.h @@ -0,0 +1,179 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include +#include + +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/callback.h" +#include "dynarmic/backend/x64/constant_pool.h" +#include "dynarmic/backend/x64/host_feature.h" +#include "dynarmic/backend/x64/jitstate_info.h" +#include "dynarmic/common/cast_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +using CodePtr = const void*; + +struct RunCodeCallbacks { + std::unique_ptr LookupBlock; + std::unique_ptr AddTicks; + std::unique_ptr GetTicksRemaining; +}; + +class BlockOfCode final : public Xbyak::CodeGenerator { +public: + BlockOfCode(RunCodeCallbacks cb, JitStateInfo jsi, size_t total_code_size, size_t far_code_offset, std::function rcp); + BlockOfCode(const BlockOfCode&) = delete; + + /// Call when external emitters have finished emitting their preludes. + void PreludeComplete(); + + /// Change permissions to RW. This is required to support systems with W^X enforced. + void EnableWriting(); + /// Change permissions to RX. This is required to support systems with W^X enforced. + void DisableWriting(); + + /// Clears this block of code and resets code pointer to beginning. + void ClearCache(); + /// Calculates how much space is remaining to use. This is the minimum of near code and far code. + size_t SpaceRemaining() const; + + /// Runs emulated code from code_ptr. + void RunCode(void* jit_state, CodePtr code_ptr) const; + /// Runs emulated code from code_ptr for a single cycle. + void StepCode(void* jit_state, CodePtr code_ptr) const; + /// Code emitter: Returns to dispatcher + void ReturnFromRunCode(bool mxcsr_already_exited = false); + /// Code emitter: Returns to dispatcher, forces return to host + void ForceReturnFromRunCode(bool mxcsr_already_exited = false); + /// Code emitter: Makes guest MXCSR the current MXCSR + void SwitchMxcsrOnEntry(); + /// Code emitter: Makes saved host MXCSR the current MXCSR + void SwitchMxcsrOnExit(); + /// Code emitter: Enter standard ASIMD MXCSR region + void EnterStandardASIMD(); + /// Code emitter: Leave standard ASIMD MXCSR region + void LeaveStandardASIMD(); + /// Code emitter: Updates cycles remaining my calling cb.AddTicks and cb.GetTicksRemaining + /// @note this clobbers ABI caller-save registers + void UpdateTicks(); + /// Code emitter: Performs a block lookup based on current state + /// @note this clobbers ABI caller-save registers + void LookupBlock(); + + /// Code emitter: Calls the function + template + void CallFunction(FunctionPointer fn) { + static_assert(std::is_pointer_v && std::is_function_v>, + "Supplied type must be a pointer to a function"); + + const u64 address = reinterpret_cast(fn); + const u64 distance = address - (getCurr() + 5); + + if (distance >= 0x0000000080000000ULL && distance < 0xFFFFFFFF80000000ULL) { + // Far call + mov(rax, address); + call(rax); + } else { + call(fn); + } + } + + /// Code emitter: Calls the lambda. Lambda must not have any captures. + template + void CallLambda(Lambda l) { + CallFunction(Common::FptrCast(l)); + } + + Xbyak::Address MConst(const Xbyak::AddressFrame& frame, u64 lower, u64 upper = 0); + + /// Far code sits far away from the near code. Execution remains primarily in near code. + /// "Cold" / Rarely executed instructions sit in far code, so the CPU doesn't fetch them unless necessary. + void SwitchToFarCode(); + void SwitchToNearCode(); + + CodePtr GetCodeBegin() const; + size_t GetTotalCodeSize() const; + + const void* GetReturnFromRunCodeAddress() const { + return return_from_run_code[0]; + } + + const void* GetForceReturnFromRunCodeAddress() const { + return return_from_run_code[FORCE_RETURN]; + } + + void int3() { db(0xCC); } + + /// Allocate memory of `size` bytes from the same block of memory the code is in. + /// This is useful for objects that need to be placed close to or within code. + /// The lifetime of this memory is the same as the code around it. + void* AllocateFromCodeSpace(size_t size); + + void SetCodePtr(CodePtr code_ptr); + void EnsurePatchLocationSize(CodePtr begin, size_t size); + + // ABI registers +#ifdef _WIN32 + static const Xbyak::Reg64 ABI_RETURN; + static const Xbyak::Reg64 ABI_PARAM1; + static const Xbyak::Reg64 ABI_PARAM2; + static const Xbyak::Reg64 ABI_PARAM3; + static const Xbyak::Reg64 ABI_PARAM4; + static const std::array ABI_PARAMS; +#else + static const Xbyak::Reg64 ABI_RETURN; + static const Xbyak::Reg64 ABI_RETURN2; + static const Xbyak::Reg64 ABI_PARAM1; + static const Xbyak::Reg64 ABI_PARAM2; + static const Xbyak::Reg64 ABI_PARAM3; + static const Xbyak::Reg64 ABI_PARAM4; + static const Xbyak::Reg64 ABI_PARAM5; + static const Xbyak::Reg64 ABI_PARAM6; + static const std::array ABI_PARAMS; +#endif + + JitStateInfo GetJitStateInfo() const { return jsi; } + + bool HasHostFeature(HostFeature feature) const { + return (host_features & feature) == feature; + } + +private: + RunCodeCallbacks cb; + JitStateInfo jsi; + size_t far_code_offset; + + bool prelude_complete = false; + CodePtr near_code_begin = nullptr; + CodePtr far_code_begin = nullptr; + + ConstantPool constant_pool; + + bool in_far_code = false; + CodePtr near_code_ptr; + CodePtr far_code_ptr; + + using RunCodeFuncType = void (*)(void*, CodePtr); + RunCodeFuncType run_code = nullptr; + RunCodeFuncType step_code = nullptr; + static constexpr size_t MXCSR_ALREADY_EXITED = 1 << 0; + static constexpr size_t FORCE_RETURN = 1 << 1; + std::array return_from_run_code; + void GenRunCode(std::function rcp); + + const HostFeature host_features; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/block_range_information.cpp b/externals/dynarmic/src/dynarmic/backend/x64/block_range_information.cpp new file mode 100755 index 000000000..7dab84e59 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/block_range_information.cpp @@ -0,0 +1,44 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/block_range_information.h" + +#include +#include +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +template +void BlockRangeInformation::AddRange(boost::icl::discrete_interval range, IR::LocationDescriptor location) { + block_ranges.add(std::make_pair(range, std::set{location})); +} + +template +void BlockRangeInformation::ClearCache() { + block_ranges.clear(); +} + +template +tsl::robin_set BlockRangeInformation::InvalidateRanges(const boost::icl::interval_set& ranges) { + tsl::robin_set erase_locations; + for (auto invalidate_interval : ranges) { + auto pair = block_ranges.equal_range(invalidate_interval); + for (auto it = pair.first; it != pair.second; ++it) { + for (const auto& descriptor : it->second) { + erase_locations.insert(descriptor); + } + } + } + // TODO: EFFICIENCY: Remove ranges that are to be erased. + return erase_locations; +} + +template class BlockRangeInformation; +template class BlockRangeInformation; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/block_range_information.h b/externals/dynarmic/src/dynarmic/backend/x64/block_range_information.h new file mode 100755 index 000000000..a3d43f2b5 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/block_range_information.h @@ -0,0 +1,29 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include +#include +#include + +#include "dynarmic/ir/location_descriptor.h" + +namespace Dynarmic::Backend::X64 { + +template +class BlockRangeInformation { +public: + void AddRange(boost::icl::discrete_interval range, IR::LocationDescriptor location); + void ClearCache(); + tsl::robin_set InvalidateRanges(const boost::icl::interval_set& ranges); + +private: + boost::icl::interval_map> block_ranges; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/callback.cpp b/externals/dynarmic/src/dynarmic/backend/x64/callback.cpp new file mode 100755 index 000000000..1ecd8304f --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/callback.cpp @@ -0,0 +1,41 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/callback.h" + +#include "dynarmic/backend/x64/block_of_code.h" + +namespace Dynarmic::Backend::X64 { + +Callback::~Callback() = default; + +void SimpleCallback::EmitCall(BlockOfCode& code, std::function l) const { + l({code.ABI_PARAM1, code.ABI_PARAM2, code.ABI_PARAM3, code.ABI_PARAM4}); + code.CallFunction(fn); +} + +void SimpleCallback::EmitCallWithReturnPointer(BlockOfCode& code, std::function l) const { + l(code.ABI_PARAM1, {code.ABI_PARAM2, code.ABI_PARAM3, code.ABI_PARAM4}); + code.CallFunction(fn); +} + +void ArgCallback::EmitCall(BlockOfCode& code, std::function l) const { + l({code.ABI_PARAM2, code.ABI_PARAM3, code.ABI_PARAM4}); + code.mov(code.ABI_PARAM1, arg); + code.CallFunction(fn); +} + +void ArgCallback::EmitCallWithReturnPointer(BlockOfCode& code, std::function l) const { +#if defined(WIN32) && !defined(__MINGW64__) + l(code.ABI_PARAM2, {code.ABI_PARAM3, code.ABI_PARAM4}); + code.mov(code.ABI_PARAM1, arg); +#else + l(code.ABI_PARAM1, {code.ABI_PARAM3, code.ABI_PARAM4}); + code.mov(code.ABI_PARAM2, arg); +#endif + code.CallFunction(fn); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/callback.h b/externals/dynarmic/src/dynarmic/backend/x64/callback.h new file mode 100755 index 000000000..24405406d --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/callback.h @@ -0,0 +1,64 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +using RegList = std::vector; + +class BlockOfCode; + +class Callback { +public: + virtual ~Callback(); + + void EmitCall(BlockOfCode& code) const { + EmitCall(code, [](RegList) {}); + } + + virtual void EmitCall(BlockOfCode& code, std::function fn) const = 0; + virtual void EmitCallWithReturnPointer(BlockOfCode& code, std::function fn) const = 0; +}; + +class SimpleCallback final : public Callback { +public: + template + SimpleCallback(Function fn) + : fn(reinterpret_cast(fn)) {} + + using Callback::EmitCall; + + void EmitCall(BlockOfCode& code, std::function fn) const override; + void EmitCallWithReturnPointer(BlockOfCode& code, std::function fn) const override; + +private: + void (*fn)(); +}; + +class ArgCallback final : public Callback { +public: + template + ArgCallback(Function fn, u64 arg) + : fn(reinterpret_cast(fn)), arg(arg) {} + + using Callback::EmitCall; + + void EmitCall(BlockOfCode& code, std::function fn) const override; + void EmitCallWithReturnPointer(BlockOfCode& code, std::function fn) const override; + +private: + void (*fn)(); + u64 arg; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/constant_pool.cpp b/externals/dynarmic/src/dynarmic/backend/x64/constant_pool.cpp new file mode 100755 index 000000000..2f5015235 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/constant_pool.cpp @@ -0,0 +1,36 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/constant_pool.h" + +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/common/assert.h" + +namespace Dynarmic::Backend::X64 { + +ConstantPool::ConstantPool(BlockOfCode& code, size_t size) + : code(code), pool_size(size) { + code.int3(); + code.align(align_size); + pool_begin = reinterpret_cast(code.AllocateFromCodeSpace(size)); + current_pool_ptr = pool_begin; +} + +Xbyak::Address ConstantPool::GetConstant(const Xbyak::AddressFrame& frame, u64 lower, u64 upper) { + const auto constant = std::make_tuple(lower, upper); + auto iter = constant_info.find(constant); + if (iter == constant_info.end()) { + ASSERT(static_cast(current_pool_ptr - pool_begin) < pool_size); + std::memcpy(current_pool_ptr, &lower, sizeof(u64)); + std::memcpy(current_pool_ptr + sizeof(u64), &upper, sizeof(u64)); + iter = constant_info.emplace(constant, current_pool_ptr).first; + current_pool_ptr += align_size; + } + return frame[code.rip + iter->second]; +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/constant_pool.h b/externals/dynarmic/src/dynarmic/backend/x64/constant_pool.h new file mode 100755 index 000000000..792918bd2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/constant_pool.h @@ -0,0 +1,40 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +class BlockOfCode; + +/// ConstantPool allocates a block of memory from BlockOfCode. +/// It places constants into this block of memory, returning the address +/// of the memory location where the constant is placed. If the constant +/// already exists, its memory location is reused. +class ConstantPool final { +public: + ConstantPool(BlockOfCode& code, size_t size); + + Xbyak::Address GetConstant(const Xbyak::AddressFrame& frame, u64 lower, u64 upper = 0); + +private: + static constexpr size_t align_size = 16; // bytes + + std::map, void*> constant_info; + + BlockOfCode& code; + size_t pool_size; + u8* pool_begin; + u8* current_pool_ptr; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/constants.h b/externals/dynarmic/src/dynarmic/backend/x64/constants.h new file mode 100755 index 000000000..a458d1020 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/constants.h @@ -0,0 +1,45 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +// Redefinition of _MM_CMPINT_* constants for use with the 'vpcmp' instruction +namespace CmpInt { +constexpr u8 Equal = 0x0; +constexpr u8 LessThan = 0x1; +constexpr u8 LessEqual = 0x2; +constexpr u8 False = 0x3; +constexpr u8 NotEqual = 0x4; +constexpr u8 NotLessThan = 0x5; +constexpr u8 GreaterEqual = 0x5; +constexpr u8 NotLessEqual = 0x6; +constexpr u8 GreaterThan = 0x6; +constexpr u8 True = 0x7; +} // namespace CmpInt + +// Used to generate ternary logic truth-tables for vpternlog +// Use these to directly refer to terms and perform binary operations upon them +// and the resulting value will be the ternary lookup table +// ex: +// (Tern::a | ~Tern::b) & Tern::c +// = 0b10100010 +// = 0xa2 +// vpternlog a, b, c, 0xa2 +// +// ~(Tern::a ^ Tern::b) & Tern::c +// = 0b10000010 +// = 0x82 +// vpternlog a, b, c, 0x82 +namespace Tern { +constexpr u8 a = 0b11110000; +constexpr u8 b = 0b11001100; +constexpr u8 c = 0b10101010; +} // namespace Tern + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/devirtualize.h b/externals/dynarmic/src/dynarmic/backend/x64/devirtualize.h new file mode 100755 index 000000000..3914a4d76 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/devirtualize.h @@ -0,0 +1,81 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include + +#include "dynarmic/backend/x64/callback.h" +#include "dynarmic/common/cast_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic { +namespace Backend::X64 { + +namespace impl { + +template +struct ThunkBuilder; + +template +struct ThunkBuilder { + static R Thunk(C* this_, Args... args) { + return (this_->*mfp)(std::forward(args)...); + } +}; + +} // namespace impl + +template +ArgCallback DevirtualizeGeneric(mp::class_type* this_) { + return ArgCallback{&impl::ThunkBuilder::Thunk, reinterpret_cast(this_)}; +} + +template +ArgCallback DevirtualizeWindows(mp::class_type* this_) { + static_assert(sizeof(mfp) == 8); + return ArgCallback{Common::BitCast(mfp), reinterpret_cast(this_)}; +} + +template +ArgCallback DevirtualizeItanium(mp::class_type* this_) { + struct MemberFunctionPointer { + /// For a non-virtual function, this is a simple function pointer. + /// For a virtual function, it is (1 + virtual table offset in bytes). + u64 ptr; + /// The required adjustment to `this`, prior to the call. + u64 adj; + } mfp_struct = Common::BitCast(mfp); + + static_assert(sizeof(MemberFunctionPointer) == 16); + static_assert(sizeof(MemberFunctionPointer) == sizeof(mfp)); + + u64 fn_ptr = mfp_struct.ptr; + u64 this_ptr = reinterpret_cast(this_) + mfp_struct.adj; + if (mfp_struct.ptr & 1) { + u64 vtable = Common::BitCastPointee(this_ptr); + fn_ptr = Common::BitCastPointee(vtable + fn_ptr - 1); + } + return ArgCallback{fn_ptr, this_ptr}; +} + +template +ArgCallback Devirtualize(mp::class_type* this_) { +#if defined(__APPLE__) || defined(linux) || defined(__linux) || defined(__linux__) + return DevirtualizeItanium(this_); +#elif defined(__MINGW64__) + return DevirtualizeItanium(this_); +#elif defined(_WIN32) + return DevirtualizeWindows(this_); +#else + return DevirtualizeGeneric(this_); +#endif +} + +} // namespace Backend::X64 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64.cpp new file mode 100755 index 000000000..68ecbe518 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64.cpp @@ -0,0 +1,350 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/emit_x64.h" + +#include + +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/nzcv_util.h" +#include "dynarmic/backend/x64/perf_map.h" +#include "dynarmic/backend/x64/stack_layout.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/scope_exit.h" +#include "dynarmic/common/variant_util.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" + +// TODO: Have ARM flags in host flags and not have them use up GPR registers unless necessary. +// TODO: Actually implement that proper instruction selector you've always wanted to sweetheart. + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +EmitContext::EmitContext(RegAlloc& reg_alloc, IR::Block& block) + : reg_alloc(reg_alloc), block(block) {} + +size_t EmitContext::GetInstOffset(IR::Inst* inst) const { + return static_cast(std::distance(block.begin(), IR::Block::iterator(inst))); +} + +void EmitContext::EraseInstruction(IR::Inst* inst) { + block.Instructions().erase(inst); + inst->ClearArgs(); +} + +EmitX64::EmitX64(BlockOfCode& code) + : code(code) { + exception_handler.Register(code); +} + +EmitX64::~EmitX64() = default; + +std::optional EmitX64::GetBasicBlock(IR::LocationDescriptor descriptor) const { + const auto iter = block_descriptors.find(descriptor); + if (iter == block_descriptors.end()) { + return std::nullopt; + } + return iter->second; +} + +void EmitX64::EmitVoid(EmitContext&, IR::Inst*) { +} + +void EmitX64::EmitIdentity(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (!args[0].IsImmediate()) { + ctx.reg_alloc.DefineValue(inst, args[0]); + } +} + +void EmitX64::EmitBreakpoint(EmitContext&, IR::Inst*) { + code.int3(); +} + +void EmitX64::EmitCallHostFunction(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(nullptr, args[1], args[2], args[3]); + code.mov(rax, args[0].GetImmediateU64()); + code.call(rax); +} + +void EmitX64::PushRSBHelper(Xbyak::Reg64 loc_desc_reg, Xbyak::Reg64 index_reg, IR::LocationDescriptor target) { + using namespace Xbyak::util; + + const auto iter = block_descriptors.find(target); + CodePtr target_code_ptr = iter != block_descriptors.end() + ? iter->second.entrypoint + : code.GetReturnFromRunCodeAddress(); + + code.mov(index_reg.cvt32(), dword[r15 + code.GetJitStateInfo().offsetof_rsb_ptr]); + + code.mov(loc_desc_reg, target.Value()); + + patch_information[target].mov_rcx.emplace_back(code.getCurr()); + EmitPatchMovRcx(target_code_ptr); + + code.mov(qword[r15 + index_reg * 8 + code.GetJitStateInfo().offsetof_rsb_location_descriptors], loc_desc_reg); + code.mov(qword[r15 + index_reg * 8 + code.GetJitStateInfo().offsetof_rsb_codeptrs], rcx); + + code.add(index_reg.cvt32(), 1); + code.and_(index_reg.cvt32(), u32(code.GetJitStateInfo().rsb_ptr_mask)); + code.mov(dword[r15 + code.GetJitStateInfo().offsetof_rsb_ptr], index_reg.cvt32()); +} + +void EmitX64::EmitPushRSB(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[0].IsImmediate()); + const u64 unique_hash_of_target = args[0].GetImmediateU64(); + + ctx.reg_alloc.ScratchGpr(HostLoc::RCX); + const Xbyak::Reg64 loc_desc_reg = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 index_reg = ctx.reg_alloc.ScratchGpr(); + + PushRSBHelper(loc_desc_reg, index_reg, IR::LocationDescriptor{unique_hash_of_target}); +} + +void EmitX64::EmitGetCarryFromOp(EmitContext&, IR::Inst*) { + ASSERT_MSG(false, "should never happen"); +} + +void EmitX64::EmitGetOverflowFromOp(EmitContext&, IR::Inst*) { + ASSERT_MSG(false, "should never happen"); +} + +void EmitX64::EmitGetGEFromOp(EmitContext&, IR::Inst*) { + ASSERT_MSG(false, "should never happen"); +} + +void EmitX64::EmitGetUpperFromOp(EmitContext&, IR::Inst*) { + ASSERT_MSG(false, "should never happen"); +} + +void EmitX64::EmitGetLowerFromOp(EmitContext&, IR::Inst*) { + ASSERT_MSG(false, "should never happen"); +} + +void EmitX64::EmitGetNZCVFromOp(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const int bitsize = [&] { + switch (args[0].GetType()) { + case IR::Type::U8: + return 8; + case IR::Type::U16: + return 16; + case IR::Type::U32: + return 32; + case IR::Type::U64: + return 64; + default: + UNREACHABLE(); + } + }(); + + const Xbyak::Reg64 nzcv = ctx.reg_alloc.ScratchGpr(HostLoc::RAX); + const Xbyak::Reg value = ctx.reg_alloc.UseGpr(args[0]).changeBit(bitsize); + code.cmp(value, 0); + code.lahf(); + code.seto(code.al); + ctx.reg_alloc.DefineValue(inst, nzcv); +} + +void EmitX64::EmitNZCVFromPackedFlags(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (args[0].IsImmediate()) { + const Xbyak::Reg32 nzcv = ctx.reg_alloc.ScratchGpr().cvt32(); + u32 value = 0; + value |= Common::Bit<31>(args[0].GetImmediateU32()) ? (1 << 15) : 0; + value |= Common::Bit<30>(args[0].GetImmediateU32()) ? (1 << 14) : 0; + value |= Common::Bit<29>(args[0].GetImmediateU32()) ? (1 << 8) : 0; + value |= Common::Bit<28>(args[0].GetImmediateU32()) ? (1 << 0) : 0; + code.mov(nzcv, value); + ctx.reg_alloc.DefineValue(inst, nzcv); + } else if (code.HasHostFeature(HostFeature::FastBMI2)) { + const Xbyak::Reg32 nzcv = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.shr(nzcv, 28); + code.mov(tmp, NZCV::x64_mask); + code.pdep(nzcv, nzcv, tmp); + + ctx.reg_alloc.DefineValue(inst, nzcv); + } else { + const Xbyak::Reg32 nzcv = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + code.shr(nzcv, 28); + code.imul(nzcv, nzcv, NZCV::to_x64_multiplier); + code.and_(nzcv, NZCV::x64_mask); + + ctx.reg_alloc.DefineValue(inst, nzcv); + } +} + +void EmitX64::EmitAddCycles(size_t cycles) { + ASSERT(cycles < std::numeric_limits::max()); + code.sub(qword[rsp + ABI_SHADOW_SPACE + offsetof(StackLayout, cycles_remaining)], static_cast(cycles)); +} + +Xbyak::Label EmitX64::EmitCond(IR::Cond cond) { + Xbyak::Label pass; + + code.mov(eax, dword[r15 + code.GetJitStateInfo().offsetof_cpsr_nzcv]); + + // sahf restores SF, ZF, CF + // add al, 0x7F restores OF + + switch (cond) { + case IR::Cond::EQ: //z + code.sahf(); + code.jz(pass); + break; + case IR::Cond::NE: //!z + code.sahf(); + code.jnz(pass); + break; + case IR::Cond::CS: //c + code.sahf(); + code.jc(pass); + break; + case IR::Cond::CC: //!c + code.sahf(); + code.jnc(pass); + break; + case IR::Cond::MI: //n + code.sahf(); + code.js(pass); + break; + case IR::Cond::PL: //!n + code.sahf(); + code.jns(pass); + break; + case IR::Cond::VS: //v + code.cmp(al, 0x81); + code.jo(pass); + break; + case IR::Cond::VC: //!v + code.cmp(al, 0x81); + code.jno(pass); + break; + case IR::Cond::HI: //c & !z + code.sahf(); + code.cmc(); + code.ja(pass); + break; + case IR::Cond::LS: //!c | z + code.sahf(); + code.cmc(); + code.jna(pass); + break; + case IR::Cond::GE: // n == v + code.cmp(al, 0x81); + code.sahf(); + code.jge(pass); + break; + case IR::Cond::LT: // n != v + code.cmp(al, 0x81); + code.sahf(); + code.jl(pass); + break; + case IR::Cond::GT: // !z & (n == v) + code.cmp(al, 0x81); + code.sahf(); + code.jg(pass); + break; + case IR::Cond::LE: // z | (n != v) + code.cmp(al, 0x81); + code.sahf(); + code.jle(pass); + break; + default: + ASSERT_MSG(false, "Unknown cond {}", static_cast(cond)); + break; + } + + return pass; +} + +EmitX64::BlockDescriptor EmitX64::RegisterBlock(const IR::LocationDescriptor& descriptor, CodePtr entrypoint, CodePtr entrypoint_far, size_t size) { + PerfMapRegister(entrypoint, code.getCurr(), LocationDescriptorToFriendlyName(descriptor)); + code.SwitchToFarCode(); + PerfMapRegister(entrypoint_far, code.getCurr(), LocationDescriptorToFriendlyName(descriptor) + "_far"); + code.SwitchToNearCode(); + Patch(descriptor, entrypoint); + + BlockDescriptor block_desc{entrypoint, size}; + block_descriptors.emplace(descriptor.Value(), block_desc); + return block_desc; +} + +void EmitX64::EmitTerminal(IR::Terminal terminal, IR::LocationDescriptor initial_location, bool is_single_step) { + Common::VisitVariant(terminal, [this, initial_location, is_single_step](auto x) { + using T = std::decay_t; + if constexpr (!std::is_same_v) { + this->EmitTerminalImpl(x, initial_location, is_single_step); + } else { + ASSERT_MSG(false, "Invalid terminal"); + } + }); +} + +void EmitX64::Patch(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr) { + const CodePtr save_code_ptr = code.getCurr(); + const PatchInformation& patch_info = patch_information[target_desc]; + + for (CodePtr location : patch_info.jg) { + code.SetCodePtr(location); + EmitPatchJg(target_desc, target_code_ptr); + } + + for (CodePtr location : patch_info.jmp) { + code.SetCodePtr(location); + EmitPatchJmp(target_desc, target_code_ptr); + } + + for (CodePtr location : patch_info.mov_rcx) { + code.SetCodePtr(location); + EmitPatchMovRcx(target_code_ptr); + } + + code.SetCodePtr(save_code_ptr); +} + +void EmitX64::Unpatch(const IR::LocationDescriptor& target_desc) { + Patch(target_desc, nullptr); +} + +void EmitX64::ClearCache() { + block_descriptors.clear(); + patch_information.clear(); + + PerfMapClear(); +} + +void EmitX64::InvalidateBasicBlocks(const tsl::robin_set& locations) { + code.EnableWriting(); + SCOPE_EXIT { code.DisableWriting(); }; + + for (const auto& descriptor : locations) { + const auto it = block_descriptors.find(descriptor); + if (it == block_descriptors.end()) { + continue; + } + + if (patch_information.count(descriptor)) { + Unpatch(descriptor); + } + block_descriptors.erase(it); + } +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64.h b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64.h new file mode 100755 index 000000000..aea7b5cf9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64.h @@ -0,0 +1,130 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "dynarmic/backend/x64/exception_handler.h" +#include "dynarmic/backend/x64/reg_alloc.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/ir/location_descriptor.h" +#include "dynarmic/ir/terminal.h" + +namespace Dynarmic::IR { +class Block; +class Inst; +} // namespace Dynarmic::IR + +namespace Dynarmic { +enum class OptimizationFlag : u32; +} // namespace Dynarmic + +namespace Dynarmic::Backend::X64 { + +class BlockOfCode; + +using A64FullVectorWidth = std::integral_constant; + +// Array alias that always sizes itself according to the given type T +// relative to the size of a vector register. e.g. T = u32 would result +// in a std::array. +template +using VectorArray = std::array()>; + +template +using HalfVectorArray = std::array() / 2>; + +struct EmitContext { + EmitContext(RegAlloc& reg_alloc, IR::Block& block); + + size_t GetInstOffset(IR::Inst* inst) const; + void EraseInstruction(IR::Inst* inst); + + virtual FP::FPCR FPCR(bool fpcr_controlled = true) const = 0; + + virtual bool HasOptimization(OptimizationFlag flag) const = 0; + + RegAlloc& reg_alloc; + IR::Block& block; +}; + +class EmitX64 { +public: + struct BlockDescriptor { + CodePtr entrypoint; // Entrypoint of emitted code + size_t size; // Length in bytes of emitted code + }; + + explicit EmitX64(BlockOfCode& code); + virtual ~EmitX64(); + + /// Looks up an emitted host block in the cache. + std::optional GetBasicBlock(IR::LocationDescriptor descriptor) const; + + /// Empties the entire cache. + virtual void ClearCache(); + + /// Invalidates a selection of basic blocks. + void InvalidateBasicBlocks(const tsl::robin_set& locations); + +protected: + // Microinstruction emitters +#define OPCODE(name, type, ...) void Emit##name(EmitContext& ctx, IR::Inst* inst); +#define A32OPC(...) +#define A64OPC(...) +#include "dynarmic/ir/opcodes.inc" +#undef OPCODE +#undef A32OPC +#undef A64OPC + + // Helpers + virtual std::string LocationDescriptorToFriendlyName(const IR::LocationDescriptor&) const = 0; + void EmitAddCycles(size_t cycles); + Xbyak::Label EmitCond(IR::Cond cond); + BlockDescriptor RegisterBlock(const IR::LocationDescriptor& location_descriptor, CodePtr entrypoint, CodePtr entrypoint_far, size_t size); + void PushRSBHelper(Xbyak::Reg64 loc_desc_reg, Xbyak::Reg64 index_reg, IR::LocationDescriptor target); + + // Terminal instruction emitters + void EmitTerminal(IR::Terminal terminal, IR::LocationDescriptor initial_location, bool is_single_step); + virtual void EmitTerminalImpl(IR::Term::Interpret terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + virtual void EmitTerminalImpl(IR::Term::ReturnToDispatch terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + virtual void EmitTerminalImpl(IR::Term::LinkBlock terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + virtual void EmitTerminalImpl(IR::Term::LinkBlockFast terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + virtual void EmitTerminalImpl(IR::Term::PopRSBHint terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + virtual void EmitTerminalImpl(IR::Term::FastDispatchHint terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + virtual void EmitTerminalImpl(IR::Term::If terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + virtual void EmitTerminalImpl(IR::Term::CheckBit terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + virtual void EmitTerminalImpl(IR::Term::CheckHalt terminal, IR::LocationDescriptor initial_location, bool is_single_step) = 0; + + // Patching + struct PatchInformation { + std::vector jg; + std::vector jmp; + std::vector mov_rcx; + }; + void Patch(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr); + virtual void Unpatch(const IR::LocationDescriptor& target_desc); + virtual void EmitPatchJg(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr = nullptr) = 0; + virtual void EmitPatchJmp(const IR::LocationDescriptor& target_desc, CodePtr target_code_ptr = nullptr) = 0; + virtual void EmitPatchMovRcx(CodePtr target_code_ptr = nullptr) = 0; + + // State + BlockOfCode& code; + ExceptionHandler exception_handler; + tsl::robin_map block_descriptors; + tsl::robin_map patch_information; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_aes.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_aes.cpp new file mode 100755 index 000000000..be9faa3ee --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_aes.cpp @@ -0,0 +1,108 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/crypto/aes.h" +#include "dynarmic/ir/microinstruction.h" + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; +namespace AES = Common::Crypto::AES; + +using AESFn = void(AES::State&, const AES::State&); + +static void EmitAESFunction(RegAlloc::ArgumentInfo args, EmitContext& ctx, BlockOfCode& code, IR::Inst* inst, AESFn fn) { + constexpr u32 stack_space = static_cast(sizeof(AES::State)) * 2; + const Xbyak::Xmm input = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + + ctx.reg_alloc.HostCall(nullptr); + + ctx.reg_alloc.AllocStackSpace(stack_space + ABI_SHADOW_SPACE); + + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + sizeof(AES::State)]); + code.movaps(xword[code.ABI_PARAM2], input); + code.CallFunction(fn); + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE]); + + ctx.reg_alloc.ReleaseStackSpace(stack_space + ABI_SHADOW_SPACE); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitAESDecryptSingleRound(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AES)) { + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm zero = ctx.reg_alloc.ScratchXmm(); + + code.pxor(zero, zero); + code.aesdeclast(data, zero); + + ctx.reg_alloc.DefineValue(inst, data); + return; + } + + EmitAESFunction(args, ctx, code, inst, AES::DecryptSingleRound); +} + +void EmitX64::EmitAESEncryptSingleRound(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AES)) { + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm zero = ctx.reg_alloc.ScratchXmm(); + + code.pxor(zero, zero); + code.aesenclast(data, zero); + + ctx.reg_alloc.DefineValue(inst, data); + return; + } + + EmitAESFunction(args, ctx, code, inst, AES::EncryptSingleRound); +} + +void EmitX64::EmitAESInverseMixColumns(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AES)) { + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.aesimc(data, data); + + ctx.reg_alloc.DefineValue(inst, data); + return; + } + + EmitAESFunction(args, ctx, code, inst, AES::InverseMixColumns); +} + +void EmitX64::EmitAESMixColumns(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AES)) { + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm zero = ctx.reg_alloc.ScratchXmm(); + + code.pxor(zero, zero); + code.aesdeclast(data, zero); + code.aesenc(data, zero); + + ctx.reg_alloc.DefineValue(inst, data); + return; + } + + EmitAESFunction(args, ctx, code, inst, AES::MixColumns); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_crc32.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_crc32.cpp new file mode 100755 index 000000000..e15b5df04 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_crc32.cpp @@ -0,0 +1,148 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/crypto/crc32.h" +#include "dynarmic/ir/microinstruction.h" + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; +namespace CRC32 = Common::Crypto::CRC32; + +static void EmitCRC32Castagnoli(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, const int data_size) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::SSE42)) { + const Xbyak::Reg32 crc = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg value = ctx.reg_alloc.UseGpr(args[1]).changeBit(data_size); + code.crc32(crc, value); + ctx.reg_alloc.DefineValue(inst, crc); + return; + } + + ctx.reg_alloc.HostCall(inst, args[0], args[1], {}); + code.mov(code.ABI_PARAM3, data_size / CHAR_BIT); + code.CallFunction(&CRC32::ComputeCRC32Castagnoli); +} + +static void EmitCRC32ISO(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, const int data_size) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::PCLMULQDQ) && data_size < 32) { + const Xbyak::Reg32 crc = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg64 value = ctx.reg_alloc.UseScratchGpr(args[1]); + const Xbyak::Xmm xmm_value = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_const = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(xmm_const, code.MConst(xword, 0xb4e5b025'f7011641, 0x00000001'DB710641)); + + code.movzx(value.cvt32(), value.changeBit(data_size)); + code.xor_(value.cvt32(), crc); + code.movd(xmm_tmp, value.cvt32()); + code.pslldq(xmm_tmp, (64 - data_size) / 8); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpclmulqdq(xmm_value, xmm_tmp, xmm_const, 0x00); + code.pclmulqdq(xmm_value, xmm_const, 0x10); + code.pxor(xmm_value, xmm_tmp); + } else { + code.movdqa(xmm_value, xmm_tmp); + code.pclmulqdq(xmm_value, xmm_const, 0x00); + code.pclmulqdq(xmm_value, xmm_const, 0x10); + code.pxor(xmm_value, xmm_tmp); + } + + code.pextrd(crc, xmm_value, 2); + + ctx.reg_alloc.DefineValue(inst, crc); + return; + } + + if (code.HasHostFeature(HostFeature::PCLMULQDQ) && data_size == 32) { + const Xbyak::Reg32 crc = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 value = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + const Xbyak::Xmm xmm_value = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_const = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(xmm_const, code.MConst(xword, 0xb4e5b025'f7011641, 0x00000001'DB710641)); + + code.xor_(crc, value); + code.shl(crc.cvt64(), 32); + code.movq(xmm_value, crc.cvt64()); + + code.pclmulqdq(xmm_value, xmm_const, 0x00); + code.pclmulqdq(xmm_value, xmm_const, 0x10); + + code.pextrd(crc, xmm_value, 2); + + ctx.reg_alloc.DefineValue(inst, crc); + return; + } + + if (code.HasHostFeature(HostFeature::PCLMULQDQ) && data_size == 64) { + const Xbyak::Reg32 crc = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg64 value = ctx.reg_alloc.UseGpr(args[1]); + const Xbyak::Xmm xmm_value = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_const = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(xmm_const, code.MConst(xword, 0xb4e5b025'f7011641, 0x00000001'DB710641)); + + code.mov(crc, crc); + code.xor_(crc.cvt64(), value); + code.movq(xmm_value, crc.cvt64()); + + code.pclmulqdq(xmm_value, xmm_const, 0x00); + code.pclmulqdq(xmm_value, xmm_const, 0x10); + + code.pextrd(crc, xmm_value, 2); + + ctx.reg_alloc.DefineValue(inst, crc); + return; + } + + ctx.reg_alloc.HostCall(inst, args[0], args[1], {}); + code.mov(code.ABI_PARAM3, data_size / CHAR_BIT); + code.CallFunction(&CRC32::ComputeCRC32ISO); +} + +void EmitX64::EmitCRC32Castagnoli8(EmitContext& ctx, IR::Inst* inst) { + EmitCRC32Castagnoli(code, ctx, inst, 8); +} + +void EmitX64::EmitCRC32Castagnoli16(EmitContext& ctx, IR::Inst* inst) { + EmitCRC32Castagnoli(code, ctx, inst, 16); +} + +void EmitX64::EmitCRC32Castagnoli32(EmitContext& ctx, IR::Inst* inst) { + EmitCRC32Castagnoli(code, ctx, inst, 32); +} + +void EmitX64::EmitCRC32Castagnoli64(EmitContext& ctx, IR::Inst* inst) { + EmitCRC32Castagnoli(code, ctx, inst, 64); +} + +void EmitX64::EmitCRC32ISO8(EmitContext& ctx, IR::Inst* inst) { + EmitCRC32ISO(code, ctx, inst, 8); +} + +void EmitX64::EmitCRC32ISO16(EmitContext& ctx, IR::Inst* inst) { + EmitCRC32ISO(code, ctx, inst, 16); +} + +void EmitX64::EmitCRC32ISO32(EmitContext& ctx, IR::Inst* inst) { + EmitCRC32ISO(code, ctx, inst, 32); +} + +void EmitX64::EmitCRC32ISO64(EmitContext& ctx, IR::Inst* inst) { + EmitCRC32ISO(code, ctx, inst, 64); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp new file mode 100755 index 000000000..78cdd96a6 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp @@ -0,0 +1,1635 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +void EmitX64::EmitPack2x32To1x64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 lo = ctx.reg_alloc.UseScratchGpr(args[0]); + const Xbyak::Reg64 hi = ctx.reg_alloc.UseScratchGpr(args[1]); + + code.shl(hi, 32); + code.mov(lo.cvt32(), lo.cvt32()); // Zero extend to 64-bits + code.or_(lo, hi); + + ctx.reg_alloc.DefineValue(inst, lo); +} + +void EmitX64::EmitPack2x64To1x128(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 lo = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 hi = ctx.reg_alloc.UseGpr(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.movq(result, lo); + code.pinsrq(result, hi, 1); + } else { + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + code.movq(result, lo); + code.movq(tmp, hi); + code.punpcklqdq(result, tmp); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitLeastSignificantWord(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + // TODO: DefineValue directly on Argument + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 source = ctx.reg_alloc.UseGpr(args[0]); + code.mov(result.cvt32(), source.cvt32()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitMostSignificantWord(EmitContext& ctx, IR::Inst* inst) { + const auto carry_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetCarryFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.shr(result, 32); + + if (carry_inst) { + const Xbyak::Reg64 carry = ctx.reg_alloc.ScratchGpr(); + code.setc(carry.cvt8()); + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitLeastSignificantHalf(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + // TODO: DefineValue directly on Argument + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 source = ctx.reg_alloc.UseGpr(args[0]); + code.movzx(result.cvt32(), source.cvt16()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitLeastSignificantByte(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + // TODO: DefineValue directly on Argument + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 source = ctx.reg_alloc.UseGpr(args[0]); + code.movzx(result.cvt32(), source.cvt8()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitMostSignificantBit(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + // TODO: Flag optimization + code.shr(result, 31); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitIsZero32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + // TODO: Flag optimization + code.test(result, result); + code.sete(result.cvt8()); + code.movzx(result, result.cvt8()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitIsZero64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + // TODO: Flag optimization + code.test(result, result); + code.sete(result.cvt8()); + code.movzx(result, result.cvt8()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitTestBit(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + ASSERT(args[1].IsImmediate()); + // TODO: Flag optimization + code.bt(result, args[1].GetImmediateU8()); + code.setc(result.cvt8()); + ctx.reg_alloc.DefineValue(inst, result); +} + +static void EmitConditionalSelect(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, int bitsize) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg32 nzcv = ctx.reg_alloc.ScratchGpr(HostLoc::RAX).cvt32(); + const Xbyak::Reg then_ = ctx.reg_alloc.UseGpr(args[1]).changeBit(bitsize); + const Xbyak::Reg else_ = ctx.reg_alloc.UseScratchGpr(args[2]).changeBit(bitsize); + + code.mov(nzcv, dword[r15 + code.GetJitStateInfo().offsetof_cpsr_nzcv]); + + // sahf restores SF, ZF, CF + // add al, 0x7F restores OF + + switch (args[0].GetImmediateCond()) { + case IR::Cond::EQ: //z + code.sahf(); + code.cmovz(else_, then_); + break; + case IR::Cond::NE: //!z + code.sahf(); + code.cmovnz(else_, then_); + break; + case IR::Cond::CS: //c + code.sahf(); + code.cmovc(else_, then_); + break; + case IR::Cond::CC: //!c + code.sahf(); + code.cmovnc(else_, then_); + break; + case IR::Cond::MI: //n + code.sahf(); + code.cmovs(else_, then_); + break; + case IR::Cond::PL: //!n + code.sahf(); + code.cmovns(else_, then_); + break; + case IR::Cond::VS: //v + code.cmp(nzcv.cvt8(), 0x81); + code.cmovo(else_, then_); + break; + case IR::Cond::VC: //!v + code.cmp(nzcv.cvt8(), 0x81); + code.cmovno(else_, then_); + break; + case IR::Cond::HI: //c & !z + code.sahf(); + code.cmc(); + code.cmova(else_, then_); + break; + case IR::Cond::LS: //!c | z + code.sahf(); + code.cmc(); + code.cmovna(else_, then_); + break; + case IR::Cond::GE: // n == v + code.cmp(nzcv.cvt8(), 0x81); + code.sahf(); + code.cmovge(else_, then_); + break; + case IR::Cond::LT: // n != v + code.cmp(nzcv.cvt8(), 0x81); + code.sahf(); + code.cmovl(else_, then_); + break; + case IR::Cond::GT: // !z & (n == v) + code.cmp(nzcv.cvt8(), 0x81); + code.sahf(); + code.cmovg(else_, then_); + break; + case IR::Cond::LE: // z | (n != v) + code.cmp(nzcv.cvt8(), 0x81); + code.sahf(); + code.cmovle(else_, then_); + break; + case IR::Cond::AL: + case IR::Cond::NV: + code.mov(else_, then_); + break; + default: + ASSERT_MSG(false, "Invalid cond {}", static_cast(args[0].GetImmediateCond())); + } + + ctx.reg_alloc.DefineValue(inst, else_); +} + +void EmitX64::EmitConditionalSelect32(EmitContext& ctx, IR::Inst* inst) { + EmitConditionalSelect(code, ctx, inst, 32); +} + +void EmitX64::EmitConditionalSelect64(EmitContext& ctx, IR::Inst* inst) { + EmitConditionalSelect(code, ctx, inst, 64); +} + +void EmitX64::EmitConditionalSelectNZCV(EmitContext& ctx, IR::Inst* inst) { + EmitConditionalSelect(code, ctx, inst, 32); +} + +static void EmitExtractRegister(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, int bit_size) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg result = ctx.reg_alloc.UseScratchGpr(args[0]).changeBit(bit_size); + const Xbyak::Reg operand = ctx.reg_alloc.UseScratchGpr(args[1]).changeBit(bit_size); + const u8 lsb = args[2].GetImmediateU8(); + + code.shrd(result, operand, lsb); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitExtractRegister32(Dynarmic::Backend::X64::EmitContext& ctx, IR::Inst* inst) { + EmitExtractRegister(code, ctx, inst, 32); +} + +void EmitX64::EmitExtractRegister64(Dynarmic::Backend::X64::EmitContext& ctx, IR::Inst* inst) { + EmitExtractRegister(code, ctx, inst, 64); +} + +static void EmitReplicateBit(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, int bit_size) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const u8 bit = args[1].GetImmediateU8(); + + if (bit == bit_size - 1) { + const Xbyak::Reg result = ctx.reg_alloc.UseScratchGpr(args[0]).changeBit(bit_size); + + code.sar(result, bit_size - 1); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Reg value = ctx.reg_alloc.UseGpr(args[0]).changeBit(bit_size); + const Xbyak::Reg result = ctx.reg_alloc.ScratchGpr().changeBit(bit_size); + + code.xor_(result, result); + code.bt(value, bit); + code.sbb(result, result); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitReplicateBit32(Dynarmic::Backend::X64::EmitContext& ctx, IR::Inst* inst) { + EmitReplicateBit(code, ctx, inst, 32); +} + +void EmitX64::EmitReplicateBit64(Dynarmic::Backend::X64::EmitContext& ctx, IR::Inst* inst) { + EmitReplicateBit(code, ctx, inst, 64); +} + +void EmitX64::EmitLogicalShiftLeft32(EmitContext& ctx, IR::Inst* inst) { + const auto carry_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetCarryFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + auto& carry_arg = args[2]; + + if (!carry_inst) { + if (shift_arg.IsImmediate()) { + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const u8 shift = shift_arg.GetImmediateU8(); + + if (shift <= 31) { + code.shl(result, shift); + } else { + code.xor_(result, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + } else if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg32 shift = ctx.reg_alloc.UseGpr(shift_arg).cvt32(); + const Xbyak::Reg32 operand = ctx.reg_alloc.UseGpr(operand_arg).cvt32(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 zero = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.shlx(result, operand, shift); + code.xor_(zero, zero); + code.cmp(shift.cvt8(), 32); + code.cmovnb(result, zero); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.Use(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg32 zero = ctx.reg_alloc.ScratchGpr().cvt32(); + + // The 32-bit x64 SHL instruction masks the shift count by 0x1F before performing the shift. + // ARM differs from the behaviour: It does not mask the count, so shifts above 31 result in zeros. + + code.shl(result, code.cl); + code.xor_(zero, zero); + code.cmp(code.cl, 32); + code.cmovnb(result, zero); + + ctx.reg_alloc.DefineValue(inst, result); + } + } else { + if (shift_arg.IsImmediate()) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg32 carry = ctx.reg_alloc.UseScratchGpr(carry_arg).cvt32(); + + if (shift == 0) { + // There is nothing more to do. + } else if (shift < 32) { + code.bt(carry.cvt32(), 0); + code.shl(result, shift); + code.setc(carry.cvt8()); + } else if (shift > 32) { + code.xor_(result, result); + code.xor_(carry, carry); + } else { + code.mov(carry, result); + code.xor_(result, result); + code.and_(carry, 1); + } + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.UseScratch(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 carry = ctx.reg_alloc.UseScratchGpr(carry_arg).cvt32(); + + code.mov(tmp, 63); + code.cmp(code.cl, 63); + code.cmova(code.ecx, tmp); + code.shl(result.cvt64(), 32); + code.bt(carry.cvt32(), 0); + code.shl(result.cvt64(), code.cl); + code.setc(carry.cvt8()); + code.shr(result.cvt64(), 32); + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + ctx.reg_alloc.DefineValue(inst, result); + } + } +} + +void EmitX64::EmitLogicalShiftLeft64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + + if (shift_arg.IsImmediate()) { + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + const u8 shift = shift_arg.GetImmediateU8(); + + if (shift < 64) { + code.shl(result, shift); + } else { + code.xor_(result.cvt32(), result.cvt32()); + } + + ctx.reg_alloc.DefineValue(inst, result); + } else if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg64 shift = ctx.reg_alloc.UseGpr(shift_arg); + const Xbyak::Reg64 operand = ctx.reg_alloc.UseGpr(operand_arg); + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 zero = ctx.reg_alloc.ScratchGpr(); + + code.shlx(result, operand, shift); + code.xor_(zero.cvt32(), zero.cvt32()); + code.cmp(shift.cvt8(), 64); + code.cmovnb(result, zero); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.Use(shift_arg, HostLoc::RCX); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + const Xbyak::Reg64 zero = ctx.reg_alloc.ScratchGpr(); + + // The x64 SHL instruction masks the shift count by 0x1F before performing the shift. + // ARM differs from the behaviour: It does not mask the count, so shifts above 63 result in zeros. + + code.shl(result, code.cl); + code.xor_(zero.cvt32(), zero.cvt32()); + code.cmp(code.cl, 64); + code.cmovnb(result, zero); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitLogicalShiftRight32(EmitContext& ctx, IR::Inst* inst) { + const auto carry_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetCarryFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + auto& carry_arg = args[2]; + + if (!carry_inst) { + if (shift_arg.IsImmediate()) { + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const u8 shift = shift_arg.GetImmediateU8(); + + if (shift <= 31) { + code.shr(result, shift); + } else { + code.xor_(result, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + } else if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg32 shift = ctx.reg_alloc.UseGpr(shift_arg).cvt32(); + const Xbyak::Reg32 operand = ctx.reg_alloc.UseGpr(operand_arg).cvt32(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 zero = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.shrx(result, operand, shift); + code.xor_(zero, zero); + code.cmp(shift.cvt8(), 32); + code.cmovnb(result, zero); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.Use(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg32 zero = ctx.reg_alloc.ScratchGpr().cvt32(); + + // The 32-bit x64 SHR instruction masks the shift count by 0x1F before performing the shift. + // ARM differs from the behaviour: It does not mask the count, so shifts above 31 result in zeros. + + code.shr(result, code.cl); + code.xor_(zero, zero); + code.cmp(code.cl, 32); + code.cmovnb(result, zero); + + ctx.reg_alloc.DefineValue(inst, result); + } + } else { + if (shift_arg.IsImmediate()) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg32 carry = ctx.reg_alloc.UseScratchGpr(carry_arg).cvt32(); + + if (shift == 0) { + // There is nothing more to do. + } else if (shift < 32) { + code.shr(result, shift); + code.setc(carry.cvt8()); + } else if (shift == 32) { + code.bt(result, 31); + code.setc(carry.cvt8()); + code.mov(result, 0); + } else { + code.xor_(result, result); + code.xor_(carry, carry); + } + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.UseScratch(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 operand = ctx.reg_alloc.UseGpr(operand_arg).cvt32(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 carry = ctx.reg_alloc.UseScratchGpr(carry_arg).cvt32(); + + code.mov(result, 63); + code.cmp(code.cl, 63); + code.cmovnb(code.ecx, result); + code.mov(result, operand); + code.bt(carry.cvt32(), 0); + code.shr(result.cvt64(), code.cl); + code.setc(carry.cvt8()); + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + ctx.reg_alloc.DefineValue(inst, result); + } + } +} + +void EmitX64::EmitLogicalShiftRight64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + + if (shift_arg.IsImmediate()) { + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + const u8 shift = shift_arg.GetImmediateU8(); + + if (shift < 64) { + code.shr(result, shift); + } else { + code.xor_(result.cvt32(), result.cvt32()); + } + + ctx.reg_alloc.DefineValue(inst, result); + } else if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg64 shift = ctx.reg_alloc.UseGpr(shift_arg); + const Xbyak::Reg64 operand = ctx.reg_alloc.UseGpr(operand_arg); + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 zero = ctx.reg_alloc.ScratchGpr(); + + code.shrx(result, operand, shift); + code.xor_(zero.cvt32(), zero.cvt32()); + code.cmp(shift.cvt8(), 63); + code.cmovnb(result, zero); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.Use(shift_arg, HostLoc::RCX); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + const Xbyak::Reg64 zero = ctx.reg_alloc.ScratchGpr(); + + // The x64 SHR instruction masks the shift count by 0x1F before performing the shift. + // ARM differs from the behaviour: It does not mask the count, so shifts above 63 result in zeros. + + code.shr(result, code.cl); + code.xor_(zero.cvt32(), zero.cvt32()); + code.cmp(code.cl, 64); + code.cmovnb(result, zero); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitArithmeticShiftRight32(EmitContext& ctx, IR::Inst* inst) { + const auto carry_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetCarryFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + auto& carry_arg = args[2]; + + if (!carry_inst) { + if (shift_arg.IsImmediate()) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + + code.sar(result, u8(shift < 31 ? shift : 31)); + + ctx.reg_alloc.DefineValue(inst, result); + } else if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg32 shift = ctx.reg_alloc.UseScratchGpr(shift_arg).cvt32(); + const Xbyak::Reg32 operand = ctx.reg_alloc.UseGpr(operand_arg).cvt32(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 const31 = ctx.reg_alloc.ScratchGpr().cvt32(); + + // The 32-bit x64 SAR instruction masks the shift count by 0x1F before performing the shift. + // ARM differs from the behaviour: It does not mask the count. + + // We note that all shift values above 31 have the same behaviour as 31 does, so we saturate `shift` to 31. + code.mov(const31, 31); + code.cmp(shift.cvt8(), 31); + code.cmovnb(shift, const31); + code.sarx(result, operand, shift); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.UseScratch(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg32 const31 = ctx.reg_alloc.ScratchGpr().cvt32(); + + // The 32-bit x64 SAR instruction masks the shift count by 0x1F before performing the shift. + // ARM differs from the behaviour: It does not mask the count. + + // We note that all shift values above 31 have the same behaviour as 31 does, so we saturate `shift` to 31. + code.mov(const31, 31); + code.cmp(code.cl, u32(31)); + code.cmova(code.ecx, const31); + code.sar(result, code.cl); + + ctx.reg_alloc.DefineValue(inst, result); + } + } else { + if (shift_arg.IsImmediate()) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg8 carry = ctx.reg_alloc.UseScratchGpr(carry_arg).cvt8(); + + if (shift == 0) { + // There is nothing more to do. + } else if (shift <= 31) { + code.sar(result, shift); + code.setc(carry); + } else { + code.sar(result, 31); + code.bt(result, 31); + code.setc(carry); + } + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.UseScratch(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 operand = ctx.reg_alloc.UseGpr(operand_arg).cvt32(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 carry = ctx.reg_alloc.UseScratchGpr(carry_arg).cvt32(); + + code.mov(result, 63); + code.cmp(code.cl, 63); + code.cmovnb(code.ecx, result); + code.movsxd(result.cvt64(), operand); + code.bt(carry.cvt32(), 0); + code.sar(result.cvt64(), code.cl); + code.setc(carry.cvt8()); + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + ctx.reg_alloc.DefineValue(inst, result); + } + } +} + +void EmitX64::EmitArithmeticShiftRight64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + + if (shift_arg.IsImmediate()) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + + code.sar(result, u8(shift < 63 ? shift : 63)); + + ctx.reg_alloc.DefineValue(inst, result); + } else if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg64 shift = ctx.reg_alloc.UseScratchGpr(shift_arg); + const Xbyak::Reg64 operand = ctx.reg_alloc.UseGpr(operand_arg); + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 const63 = ctx.reg_alloc.ScratchGpr(); + + code.mov(const63.cvt32(), 63); + code.cmp(shift.cvt8(), 63); + code.cmovnb(shift, const63); + code.sarx(result, operand, shift); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.UseScratch(shift_arg, HostLoc::RCX); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + const Xbyak::Reg64 const63 = ctx.reg_alloc.ScratchGpr(); + + // The 64-bit x64 SAR instruction masks the shift count by 0x3F before performing the shift. + // ARM differs from the behaviour: It does not mask the count. + + // We note that all shift values above 63 have the same behaviour as 63 does, so we saturate `shift` to 63. + code.mov(const63, 63); + code.cmp(code.cl, u32(63)); + code.cmovnb(code.ecx, const63); + code.sar(result, code.cl); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitRotateRight32(EmitContext& ctx, IR::Inst* inst) { + const auto carry_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetCarryFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + auto& carry_arg = args[2]; + + if (!carry_inst) { + if (shift_arg.IsImmediate() && code.HasHostFeature(HostFeature::BMI2)) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg32 operand = ctx.reg_alloc.UseGpr(operand_arg).cvt32(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.rorx(result, operand, shift); + + ctx.reg_alloc.DefineValue(inst, result); + } else if (shift_arg.IsImmediate()) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + + code.ror(result, u8(shift & 0x1F)); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.Use(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + + // x64 ROR instruction does (shift & 0x1F) for us. + code.ror(result, code.cl); + + ctx.reg_alloc.DefineValue(inst, result); + } + } else { + if (shift_arg.IsImmediate()) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg8 carry = ctx.reg_alloc.UseScratchGpr(carry_arg).cvt8(); + + if (shift == 0) { + // There is nothing more to do. + } else if ((shift & 0x1F) == 0) { + code.bt(result, u8(31)); + code.setc(carry); + } else { + code.ror(result, shift); + code.setc(carry); + } + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.UseScratch(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const Xbyak::Reg8 carry = ctx.reg_alloc.UseScratchGpr(carry_arg).cvt8(); + + Xbyak::Label end; + + code.test(code.cl, code.cl); + code.jz(end); + + code.ror(result, code.cl); + code.bt(result, u8(31)); + code.setc(carry); + + code.L(end); + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + ctx.reg_alloc.DefineValue(inst, result); + } + } +} + +void EmitX64::EmitRotateRight64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + + if (shift_arg.IsImmediate() && code.HasHostFeature(HostFeature::BMI2)) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg64 operand = ctx.reg_alloc.UseGpr(operand_arg); + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + + code.rorx(result, operand, shift); + + ctx.reg_alloc.DefineValue(inst, result); + } else if (shift_arg.IsImmediate()) { + const u8 shift = shift_arg.GetImmediateU8(); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + + code.ror(result, u8(shift & 0x3F)); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.Use(shift_arg, HostLoc::RCX); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + + // x64 ROR instruction does (shift & 0x3F) for us. + code.ror(result, code.cl); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitRotateRightExtended(EmitContext& ctx, IR::Inst* inst) { + const auto carry_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetCarryFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg8 carry = ctx.reg_alloc.UseScratchGpr(args[1]).cvt8(); + + code.bt(carry.cvt32(), 0); + code.rcr(result, 1); + + if (carry_inst) { + code.setc(carry); + + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +static void EmitMaskedShift32(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, ShfitFT shift_fn, [[maybe_unused]] BMI2FT bmi2_shift) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + + if (shift_arg.IsImmediate()) { + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + const u32 shift = shift_arg.GetImmediateU32(); + + shift_fn(result, static_cast(shift & 0x1F)); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if constexpr (!std::is_same_v) { + if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 operand = ctx.reg_alloc.UseGpr(operand_arg).cvt32(); + const Xbyak::Reg32 shift = ctx.reg_alloc.UseGpr(shift_arg).cvt32(); + + (code.*bmi2_shift)(result, operand, shift); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + } + + ctx.reg_alloc.Use(shift_arg, HostLoc::RCX); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(operand_arg).cvt32(); + + shift_fn(result, code.cl); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +static void EmitMaskedShift64(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, ShfitFT shift_fn, [[maybe_unused]] BMI2FT bmi2_shift) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& operand_arg = args[0]; + auto& shift_arg = args[1]; + + if (shift_arg.IsImmediate()) { + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + const u64 shift = shift_arg.GetImmediateU64(); + + shift_fn(result, static_cast(shift & 0x3F)); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if constexpr (!std::is_same_v) { + if (code.HasHostFeature(HostFeature::BMI2)) { + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 operand = ctx.reg_alloc.UseGpr(operand_arg); + const Xbyak::Reg64 shift = ctx.reg_alloc.UseGpr(shift_arg); + + (code.*bmi2_shift)(result, operand, shift); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + } + + ctx.reg_alloc.Use(shift_arg, HostLoc::RCX); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(operand_arg); + + shift_fn(result, code.cl); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitLogicalShiftLeftMasked32(EmitContext& ctx, IR::Inst* inst) { + EmitMaskedShift32( + code, ctx, inst, [&](auto result, auto shift) { code.shl(result, shift); }, &Xbyak::CodeGenerator::shlx); +} + +void EmitX64::EmitLogicalShiftLeftMasked64(EmitContext& ctx, IR::Inst* inst) { + EmitMaskedShift64( + code, ctx, inst, [&](auto result, auto shift) { code.shl(result, shift); }, &Xbyak::CodeGenerator::shlx); +} + +void EmitX64::EmitLogicalShiftRightMasked32(EmitContext& ctx, IR::Inst* inst) { + EmitMaskedShift32( + code, ctx, inst, [&](auto result, auto shift) { code.shr(result, shift); }, &Xbyak::CodeGenerator::shrx); +} + +void EmitX64::EmitLogicalShiftRightMasked64(EmitContext& ctx, IR::Inst* inst) { + EmitMaskedShift64( + code, ctx, inst, [&](auto result, auto shift) { code.shr(result, shift); }, &Xbyak::CodeGenerator::shrx); +} + +void EmitX64::EmitArithmeticShiftRightMasked32(EmitContext& ctx, IR::Inst* inst) { + EmitMaskedShift32( + code, ctx, inst, [&](auto result, auto shift) { code.sar(result, shift); }, &Xbyak::CodeGenerator::sarx); +} + +void EmitX64::EmitArithmeticShiftRightMasked64(EmitContext& ctx, IR::Inst* inst) { + EmitMaskedShift64( + code, ctx, inst, [&](auto result, auto shift) { code.sar(result, shift); }, &Xbyak::CodeGenerator::sarx); +} + +void EmitX64::EmitRotateRightMasked32(EmitContext& ctx, IR::Inst* inst) { + EmitMaskedShift32( + code, ctx, inst, [&](auto result, auto shift) { code.ror(result, shift); }, nullptr); +} + +void EmitX64::EmitRotateRightMasked64(EmitContext& ctx, IR::Inst* inst) { + EmitMaskedShift64( + code, ctx, inst, [&](auto result, auto shift) { code.ror(result, shift); }, nullptr); +} + +static Xbyak::Reg8 DoCarry(RegAlloc& reg_alloc, Argument& carry_in, IR::Inst* carry_out) { + if (carry_in.IsImmediate()) { + return carry_out ? reg_alloc.ScratchGpr().cvt8() : Xbyak::Reg8{-1}; + } else { + return carry_out ? reg_alloc.UseScratchGpr(carry_in).cvt8() : reg_alloc.UseGpr(carry_in).cvt8(); + } +} + +static Xbyak::Reg64 DoNZCV(BlockOfCode& code, RegAlloc& reg_alloc, IR::Inst* nzcv_out) { + if (!nzcv_out) { + return Xbyak::Reg64{-1}; + } + + const Xbyak::Reg64 nzcv = reg_alloc.ScratchGpr(HostLoc::RAX); + code.xor_(nzcv.cvt32(), nzcv.cvt32()); + return nzcv; +} + +static void EmitAdd(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, int bitsize) { + const auto carry_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetCarryFromOp); + const auto overflow_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp); + const auto nzcv_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetNZCVFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& carry_in = args[2]; + + const Xbyak::Reg64 nzcv = DoNZCV(code, ctx.reg_alloc, nzcv_inst); + const Xbyak::Reg result = ctx.reg_alloc.UseScratchGpr(args[0]).changeBit(bitsize); + const Xbyak::Reg8 carry = DoCarry(ctx.reg_alloc, carry_in, carry_inst); + const Xbyak::Reg8 overflow = overflow_inst ? ctx.reg_alloc.ScratchGpr().cvt8() : Xbyak::Reg8{-1}; + + // TODO: Consider using LEA. + + if (args[1].IsImmediate() && args[1].GetType() == IR::Type::U32) { + const u32 op_arg = args[1].GetImmediateU32(); + if (carry_in.IsImmediate()) { + if (carry_in.GetImmediateU1()) { + code.stc(); + code.adc(result, op_arg); + } else { + code.add(result, op_arg); + } + } else { + code.bt(carry.cvt32(), 0); + code.adc(result, op_arg); + } + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(bitsize); + if (carry_in.IsImmediate()) { + if (carry_in.GetImmediateU1()) { + code.stc(); + code.adc(result, *op_arg); + } else { + code.add(result, *op_arg); + } + } else { + code.bt(carry.cvt32(), 0); + code.adc(result, *op_arg); + } + } + + if (nzcv_inst) { + code.lahf(); + code.seto(code.al); + ctx.reg_alloc.DefineValue(nzcv_inst, nzcv); + ctx.EraseInstruction(nzcv_inst); + } + if (carry_inst) { + code.setc(carry); + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + } + if (overflow_inst) { + code.seto(overflow); + ctx.reg_alloc.DefineValue(overflow_inst, overflow); + ctx.EraseInstruction(overflow_inst); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitAdd(code, ctx, inst, 32); +} + +void EmitX64::EmitAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitAdd(code, ctx, inst, 64); +} + +static void EmitSub(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, int bitsize) { + const auto carry_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetCarryFromOp); + const auto overflow_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp); + const auto nzcv_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetNZCVFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto& carry_in = args[2]; + const bool is_cmp = inst->UseCount() == size_t(!!carry_inst + !!overflow_inst + !!nzcv_inst) && carry_in.IsImmediate() && carry_in.GetImmediateU1(); + + const Xbyak::Reg64 nzcv = DoNZCV(code, ctx.reg_alloc, nzcv_inst); + const Xbyak::Reg result = (is_cmp ? ctx.reg_alloc.UseGpr(args[0]) : ctx.reg_alloc.UseScratchGpr(args[0])).changeBit(bitsize); + const Xbyak::Reg8 carry = DoCarry(ctx.reg_alloc, carry_in, carry_inst); + const Xbyak::Reg8 overflow = overflow_inst ? ctx.reg_alloc.ScratchGpr().cvt8() : Xbyak::Reg8{-1}; + + // TODO: Consider using LEA. + // Note that x64 CF is inverse of what the ARM carry flag is here. + + bool invert_output_carry = true; + + if (is_cmp) { + if (args[1].IsImmediate() && args[1].GetType() == IR::Type::U32) { + const u32 op_arg = args[1].GetImmediateU32(); + code.cmp(result, op_arg); + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(bitsize); + code.cmp(result, *op_arg); + } + } else if (args[1].IsImmediate() && args[1].GetType() == IR::Type::U32) { + const u32 op_arg = args[1].GetImmediateU32(); + if (carry_in.IsImmediate()) { + if (carry_in.GetImmediateU1()) { + code.sub(result, op_arg); + } else { + code.add(result, ~op_arg); + invert_output_carry = false; + } + } else { + code.bt(carry.cvt32(), 0); + code.adc(result, ~op_arg); + invert_output_carry = false; + } + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(bitsize); + if (carry_in.IsImmediate()) { + if (carry_in.GetImmediateU1()) { + code.sub(result, *op_arg); + } else { + code.stc(); + code.sbb(result, *op_arg); + } + } else { + code.bt(carry.cvt32(), 0); + code.cmc(); + code.sbb(result, *op_arg); + } + } + + if (nzcv_inst) { + if (invert_output_carry) { + code.cmc(); + } + code.lahf(); + code.seto(code.al); + ctx.reg_alloc.DefineValue(nzcv_inst, nzcv); + ctx.EraseInstruction(nzcv_inst); + } + if (carry_inst) { + if (invert_output_carry) { + code.setnc(carry); + } else { + code.setc(carry); + } + ctx.reg_alloc.DefineValue(carry_inst, carry); + ctx.EraseInstruction(carry_inst); + } + if (overflow_inst) { + code.seto(overflow); + ctx.reg_alloc.DefineValue(overflow_inst, overflow); + ctx.EraseInstruction(overflow_inst); + } + if (!is_cmp) { + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitSub32(EmitContext& ctx, IR::Inst* inst) { + EmitSub(code, ctx, inst, 32); +} + +void EmitX64::EmitSub64(EmitContext& ctx, IR::Inst* inst) { + EmitSub(code, ctx, inst, 64); +} + +void EmitX64::EmitMul32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + if (args[1].IsImmediate()) { + code.imul(result, result, args[1].GetImmediateU32()); + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(32); + + code.imul(result, *op_arg); + } + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitMul64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + + code.imul(result, *op_arg); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitUnsignedMultiplyHigh64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.ScratchGpr(HostLoc::RDX); + ctx.reg_alloc.UseScratch(args[0], HostLoc::RAX); + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + code.mul(*op_arg); + + ctx.reg_alloc.DefineValue(inst, rdx); +} + +void EmitX64::EmitSignedMultiplyHigh64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.ScratchGpr(HostLoc::RDX); + ctx.reg_alloc.UseScratch(args[0], HostLoc::RAX); + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + code.imul(*op_arg); + + ctx.reg_alloc.DefineValue(inst, rdx); +} + +void EmitX64::EmitUnsignedDiv32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.ScratchGpr(HostLoc::RAX); + ctx.reg_alloc.ScratchGpr(HostLoc::RDX); + const Xbyak::Reg32 dividend = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 divisor = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + + Xbyak::Label end; + + code.xor_(eax, eax); + code.test(divisor, divisor); + code.jz(end); + code.mov(eax, dividend); + code.xor_(edx, edx); + code.div(divisor); + code.L(end); + + ctx.reg_alloc.DefineValue(inst, eax); +} + +void EmitX64::EmitUnsignedDiv64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.ScratchGpr(HostLoc::RAX); + ctx.reg_alloc.ScratchGpr(HostLoc::RDX); + const Xbyak::Reg64 dividend = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 divisor = ctx.reg_alloc.UseGpr(args[1]); + + Xbyak::Label end; + + code.xor_(eax, eax); + code.test(divisor, divisor); + code.jz(end); + code.mov(rax, dividend); + code.xor_(edx, edx); + code.div(divisor); + code.L(end); + + ctx.reg_alloc.DefineValue(inst, rax); +} + +void EmitX64::EmitSignedDiv32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.ScratchGpr(HostLoc::RAX); + ctx.reg_alloc.ScratchGpr(HostLoc::RDX); + const Xbyak::Reg32 dividend = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 divisor = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + + Xbyak::Label end; + + code.xor_(eax, eax); + code.test(divisor, divisor); + code.jz(end); + code.mov(eax, dividend); + code.cdq(); + code.idiv(divisor); + code.L(end); + + ctx.reg_alloc.DefineValue(inst, eax); +} + +void EmitX64::EmitSignedDiv64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.ScratchGpr(HostLoc::RAX); + ctx.reg_alloc.ScratchGpr(HostLoc::RDX); + const Xbyak::Reg64 dividend = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 divisor = ctx.reg_alloc.UseGpr(args[1]); + + Xbyak::Label end; + + code.xor_(eax, eax); + code.test(divisor, divisor); + code.jz(end); + code.mov(rax, dividend); + code.cqo(); + code.idiv(divisor); + code.L(end); + + ctx.reg_alloc.DefineValue(inst, rax); +} + +void EmitX64::EmitAnd32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + if (args[1].IsImmediate()) { + const u32 op_arg = args[1].GetImmediateU32(); + + code.and_(result, op_arg); + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(32); + + code.and_(result, *op_arg); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitAnd64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + + if (args[1].FitsInImmediateS32()) { + const u32 op_arg = u32(args[1].GetImmediateS32()); + + code.and_(result, op_arg); + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(64); + + code.and_(result, *op_arg); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitEor32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + if (args[1].IsImmediate()) { + const u32 op_arg = args[1].GetImmediateU32(); + + code.xor_(result, op_arg); + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(32); + + code.xor_(result, *op_arg); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitEor64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + + if (args[1].FitsInImmediateS32()) { + const u32 op_arg = u32(args[1].GetImmediateS32()); + + code.xor_(result, op_arg); + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(64); + + code.xor_(result, *op_arg); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitOr32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + + if (args[1].IsImmediate()) { + const u32 op_arg = args[1].GetImmediateU32(); + + code.or_(result, op_arg); + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(32); + + code.or_(result, *op_arg); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitOr64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + + if (args[1].FitsInImmediateS32()) { + const u32 op_arg = u32(args[1].GetImmediateS32()); + + code.or_(result, op_arg); + } else { + OpArg op_arg = ctx.reg_alloc.UseOpArg(args[1]); + op_arg.setBit(64); + + code.or_(result, *op_arg); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitNot32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + Xbyak::Reg32 result; + if (args[0].IsImmediate()) { + result = ctx.reg_alloc.ScratchGpr().cvt32(); + code.mov(result, u32(~args[0].GetImmediateU32())); + } else { + result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + code.not_(result); + } + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitNot64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + Xbyak::Reg64 result; + if (args[0].IsImmediate()) { + result = ctx.reg_alloc.ScratchGpr(); + code.mov(result, ~args[0].GetImmediateU64()); + } else { + result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.not_(result); + } + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitSignExtendByteToWord(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.movsx(result.cvt32(), result.cvt8()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitSignExtendHalfToWord(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.movsx(result.cvt32(), result.cvt16()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitSignExtendByteToLong(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.movsx(result.cvt64(), result.cvt8()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitSignExtendHalfToLong(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.movsx(result.cvt64(), result.cvt16()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitSignExtendWordToLong(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.movsxd(result.cvt64(), result.cvt32()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitZeroExtendByteToWord(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.movzx(result.cvt32(), result.cvt8()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitZeroExtendHalfToWord(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.movzx(result.cvt32(), result.cvt16()); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitZeroExtendByteToLong(EmitContext& ctx, IR::Inst* inst) { + // x64 zeros upper 32 bits on a 32-bit move + EmitZeroExtendByteToWord(ctx, inst); +} + +void EmitX64::EmitZeroExtendHalfToLong(EmitContext& ctx, IR::Inst* inst) { + // x64 zeros upper 32 bits on a 32-bit move + EmitZeroExtendHalfToWord(ctx, inst); +} + +void EmitX64::EmitZeroExtendWordToLong(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.mov(result.cvt32(), result.cvt32()); // x64 zeros upper 32 bits on a 32-bit move + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitZeroExtendLongToQuad(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (args[0].IsInGpr()) { + const Xbyak::Reg64 source = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.movq(result, source); + ctx.reg_alloc.DefineValue(inst, result); + } else { + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + code.movq(result, result); + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitByteReverseWord(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg32 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + code.bswap(result); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitByteReverseHalf(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg16 result = ctx.reg_alloc.UseScratchGpr(args[0]).cvt16(); + code.rol(result, 8); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitByteReverseDual(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Reg64 result = ctx.reg_alloc.UseScratchGpr(args[0]); + code.bswap(result); + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitCountLeadingZeros32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (code.HasHostFeature(HostFeature::LZCNT)) { + const Xbyak::Reg32 source = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.lzcnt(result, source); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + const Xbyak::Reg32 source = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + + // The result of a bsr of zero is undefined, but zf is set after it. + code.bsr(result, source); + code.mov(source, 0xFFFFFFFF); + code.cmovz(result, source); + code.neg(result); + code.add(result, 31); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitCountLeadingZeros64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (code.HasHostFeature(HostFeature::LZCNT)) { + const Xbyak::Reg64 source = ctx.reg_alloc.UseGpr(args[0]).cvt64(); + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr().cvt64(); + + code.lzcnt(result, source); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + const Xbyak::Reg64 source = ctx.reg_alloc.UseScratchGpr(args[0]).cvt64(); + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr().cvt64(); + + // The result of a bsr of zero is undefined, but zf is set after it. + code.bsr(result, source); + code.mov(source.cvt32(), 0xFFFFFFFF); + code.cmovz(result.cvt32(), source.cvt32()); + code.neg(result.cvt32()); + code.add(result.cvt32(), 63); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitMaxSigned32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 x = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 y = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + + code.cmp(x, y); + code.cmovge(y, x); + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitMaxSigned64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 x = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 y = ctx.reg_alloc.UseScratchGpr(args[1]); + + code.cmp(x, y); + code.cmovge(y, x); + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitMaxUnsigned32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 x = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 y = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + + code.cmp(x, y); + code.cmova(y, x); + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitMaxUnsigned64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 x = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 y = ctx.reg_alloc.UseScratchGpr(args[1]); + + code.cmp(x, y); + code.cmova(y, x); + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitMinSigned32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 x = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 y = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + + code.cmp(x, y); + code.cmovle(y, x); + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitMinSigned64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 x = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 y = ctx.reg_alloc.UseScratchGpr(args[1]); + + code.cmp(x, y); + code.cmovle(y, x); + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitMinUnsigned32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 x = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 y = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + + code.cmp(x, y); + code.cmovb(y, x); + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitMinUnsigned64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 x = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Reg64 y = ctx.reg_alloc.UseScratchGpr(args[1]); + + code.cmp(x, y); + code.cmovb(y, x); + + ctx.reg_alloc.DefineValue(inst, y); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_floating_point.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_floating_point.cpp new file mode 100755 index 000000000..9d908a084 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_floating_point.cpp @@ -0,0 +1,1938 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/cast_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/op.h" +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/common/lut_from_list.h" +#include "dynarmic/interface/optimization_flags.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +namespace { + +const Xbyak::Reg64 INVALID_REG = Xbyak::Reg64(-1); + +constexpr u64 f16_negative_zero = 0x8000; +constexpr u64 f16_non_sign_mask = 0x7fff; + +constexpr u64 f32_negative_zero = 0x80000000u; +constexpr u64 f32_nan = 0x7fc00000u; +constexpr u64 f32_non_sign_mask = 0x7fffffffu; +constexpr u64 f32_smallest_normal = 0x00800000u; + +constexpr u64 f64_negative_zero = 0x8000000000000000u; +constexpr u64 f64_nan = 0x7ff8000000000000u; +constexpr u64 f64_non_sign_mask = 0x7fffffffffffffffu; +constexpr u64 f64_smallest_normal = 0x0010000000000000u; + +constexpr u64 f64_min_s16 = 0xc0e0000000000000u; // -32768 as a double +constexpr u64 f64_max_s16 = 0x40dfffc000000000u; // 32767 as a double +constexpr u64 f64_min_u16 = 0x0000000000000000u; // 0 as a double +constexpr u64 f64_max_u16 = 0x40efffe000000000u; // 65535 as a double +constexpr u64 f64_max_s32 = 0x41dfffffffc00000u; // 2147483647 as a double +constexpr u64 f64_min_u32 = 0x0000000000000000u; // 0 as a double +constexpr u64 f64_max_u32 = 0x41efffffffe00000u; // 4294967295 as a double +constexpr u64 f64_max_s64_lim = 0x43e0000000000000u; // 2^63 as a double (actual maximum unrepresentable) +constexpr u64 f64_min_u64 = 0x0000000000000000u; // 0 as a double +constexpr u64 f64_max_u64_lim = 0x43f0000000000000u; // 2^64 as a double (actual maximum unrepresentable) + +#define FCODE(NAME) \ + [&code](auto... args) { \ + if constexpr (fsize == 32) { \ + code.NAME##s(args...); \ + } else { \ + code.NAME##d(args...); \ + } \ + } +#define ICODE(NAME) \ + [&code](auto... args) { \ + if constexpr (fsize == 32) { \ + code.NAME##d(args...); \ + } else { \ + code.NAME##q(args...); \ + } \ + } + +std::optional ConvertRoundingModeToX64Immediate(FP::RoundingMode rounding_mode) { + switch (rounding_mode) { + case FP::RoundingMode::ToNearest_TieEven: + return 0b00; + case FP::RoundingMode::TowardsPlusInfinity: + return 0b10; + case FP::RoundingMode::TowardsMinusInfinity: + return 0b01; + case FP::RoundingMode::TowardsZero: + return 0b11; + default: + return std::nullopt; + } +} + +template +void DenormalsAreZero(BlockOfCode& code, EmitContext& ctx, std::initializer_list to_daz) { + if (ctx.FPCR().FZ()) { + for (const Xbyak::Xmm& xmm : to_daz) { + code.movaps(xmm0, code.MConst(xword, fsize == 32 ? f32_non_sign_mask : f64_non_sign_mask)); + code.andps(xmm0, xmm); + if constexpr (fsize == 32) { + code.pcmpgtd(xmm0, code.MConst(xword, f32_smallest_normal - 1)); + } else if (code.HasHostFeature(HostFeature::SSE42)) { + code.pcmpgtq(xmm0, code.MConst(xword, f64_smallest_normal - 1)); + } else { + code.pcmpgtd(xmm0, code.MConst(xword, f64_smallest_normal - 1)); + code.pshufd(xmm0, xmm0, 0b11100101); + } + code.orps(xmm0, code.MConst(xword, fsize == 32 ? f32_negative_zero : f64_negative_zero)); + code.andps(xmm, xmm0); + } + } +} + +template +void ZeroIfNaN(BlockOfCode& code, Xbyak::Xmm xmm_value, Xbyak::Xmm xmm_scratch) { + code.xorps(xmm_scratch, xmm_scratch); + FCODE(cmpords)(xmm_scratch, xmm_value); // true mask when ordered (i.e.: when not an NaN) + code.pand(xmm_value, xmm_scratch); +} + +template +void ForceToDefaultNaN(BlockOfCode& code, Xbyak::Xmm result) { + if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vcmpunords)(xmm0, result, result); + FCODE(blendvp)(result, code.MConst(xword, fsize == 32 ? f32_nan : f64_nan)); + } else { + Xbyak::Label end; + FCODE(ucomis)(result, result); + code.jnp(end); + code.movaps(result, code.MConst(xword, fsize == 32 ? f32_nan : f64_nan)); + code.L(end); + } +} + +template +Xbyak::Label ProcessNaN(BlockOfCode& code, Xbyak::Xmm a) { + Xbyak::Label nan, end; + + FCODE(ucomis)(a, a); + code.jp(nan, code.T_NEAR); + code.SwitchToFarCode(); + code.L(nan); + + code.orps(a, code.MConst(xword, fsize == 32 ? 0x00400000 : 0x0008'0000'0000'0000)); + + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + return end; +} + +template +void PostProcessNaN(BlockOfCode& code, Xbyak::Xmm result, Xbyak::Xmm tmp) { + code.movaps(tmp, result); + FCODE(cmpunordp)(tmp, tmp); + ICODE(psll)(tmp, int(fsize - 1)); + code.xorps(result, tmp); +} + +// This is necessary because x86 and ARM differ in they way they return NaNs from floating point operations +// +// ARM behaviour: +// op1 op2 result +// SNaN SNaN/QNaN op1 +// QNaN SNaN op2 +// QNaN QNaN op1 +// SNaN/QNaN other op1 +// other SNaN/QNaN op2 +// +// x86 behaviour: +// op1 op2 result +// SNaN/QNaN SNaN/QNaN op1 +// SNaN/QNaN other op1 +// other SNaN/QNaN op2 +// +// With ARM: SNaNs take priority. With x86: it doesn't matter. +// +// From the above we can see what differs between the architectures is +// the case when op1 == QNaN and op2 == SNaN. +// +// We assume that registers op1 and op2 are read-only. This function also trashes xmm0. +// We allow for the case where op1 and result are the same register. We do not read from op1 once result is written to. +template +void EmitPostProcessNaNs(BlockOfCode& code, Xbyak::Xmm result, Xbyak::Xmm op1, Xbyak::Xmm op2, Xbyak::Reg64 tmp, Xbyak::Label end) { + using FPT = mp::unsigned_integer_of_size; + constexpr FPT exponent_mask = FP::FPInfo::exponent_mask; + constexpr FPT mantissa_msb = FP::FPInfo::mantissa_msb; + constexpr u8 mantissa_msb_bit = static_cast(FP::FPInfo::explicit_mantissa_width - 1); + + // At this point we know that at least one of op1 and op2 is a NaN. + // Thus in op1 ^ op2 at least one of the two would have all 1 bits in the exponent. + // Keeping in mind xor is commutative, there are only four cases: + // SNaN ^ SNaN/Inf -> exponent == 0, mantissa_msb == 0 + // QNaN ^ QNaN -> exponent == 0, mantissa_msb == 0 + // QNaN ^ SNaN/Inf -> exponent == 0, mantissa_msb == 1 + // SNaN/QNaN ^ Otherwise -> exponent != 0, mantissa_msb == ? + // + // We're only really interested in op1 == QNaN and op2 == SNaN, + // so we filter out everything else. + // + // We do it this way instead of checking that op1 is QNaN because + // op1 == QNaN && op2 == QNaN is the most common case. With this method + // that case would only require one branch. + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vxorps(xmm0, op1, op2); + } else { + code.movaps(xmm0, op1); + code.xorps(xmm0, op2); + } + + constexpr size_t shift = fsize == 32 ? 0 : 48; + if constexpr (fsize == 32) { + code.movd(tmp.cvt32(), xmm0); + } else { + // We do this to avoid requiring 64-bit immediates + code.pextrw(tmp.cvt32(), xmm0, shift / 16); + } + code.and_(tmp.cvt32(), static_cast((exponent_mask | mantissa_msb) >> shift)); + code.cmp(tmp.cvt32(), static_cast(mantissa_msb >> shift)); + code.jne(end, code.T_NEAR); + + // If we're here there are four cases left: + // op1 == SNaN && op2 == QNaN + // op1 == Inf && op2 == QNaN + // op1 == QNaN && op2 == SNaN <<< The problematic case + // op1 == QNaN && op2 == Inf + + if constexpr (fsize == 32) { + code.movd(tmp.cvt32(), op2); + code.shl(tmp.cvt32(), 32 - mantissa_msb_bit); + } else { + code.movq(tmp, op2); + code.shl(tmp, 64 - mantissa_msb_bit); + } + // If op2 is a SNaN, CF = 0 and ZF = 0. + code.jna(end, code.T_NEAR); + + // Silence the SNaN as required by spec. + if (code.HasHostFeature(HostFeature::AVX)) { + code.vorps(result, op2, code.MConst(xword, mantissa_msb)); + } else { + code.movaps(result, op2); + code.orps(result, code.MConst(xword, mantissa_msb)); + } + code.jmp(end, code.T_NEAR); +} + +template +void FPTwoOp(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Function fn) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + Xbyak::Label end; + + Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (!ctx.FPCR().DN() && !ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + end = ProcessNaN(code, result); + } + if constexpr (std::is_member_function_pointer_v) { + (code.*fn)(result, result); + } else { + fn(result); + } + if (ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + // Do nothing + } else if (ctx.FPCR().DN()) { + ForceToDefaultNaN(code, result); + } else { + PostProcessNaN(code, result, ctx.reg_alloc.ScratchXmm()); + } + code.L(end); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +void FPThreeOp(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Function fn) { + using FPT = mp::unsigned_integer_of_size; + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (ctx.FPCR().DN() || ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand = ctx.reg_alloc.UseScratchXmm(args[1]); + + if constexpr (std::is_member_function_pointer_v) { + (code.*fn)(result, operand); + } else { + fn(result, operand); + } + + if (!ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + ForceToDefaultNaN(code, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Xmm op1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm op2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg64 tmp = ctx.reg_alloc.ScratchGpr(); + + Xbyak::Label end, nan, op_are_nans; + + code.movaps(result, op1); + if constexpr (std::is_member_function_pointer_v) { + (code.*fn)(result, op2); + } else { + fn(result, op2); + } + FCODE(ucomis)(result, result); + code.jp(nan, code.T_NEAR); + code.L(end); + + code.SwitchToFarCode(); + code.L(nan); + FCODE(ucomis)(op1, op2); + code.jp(op_are_nans); + // Here we must return a positive NaN, because the indefinite value on x86 is a negative NaN! + code.movaps(result, code.MConst(xword, FP::FPInfo::DefaultNaN())); + code.jmp(end, code.T_NEAR); + code.L(op_are_nans); + EmitPostProcessNaNs(code, result, op1, op2, tmp, end); + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); +} + +} // anonymous namespace + +void EmitX64::EmitFPAbs16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.pand(result, code.MConst(xword, f16_non_sign_mask)); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPAbs32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.pand(result, code.MConst(xword, f32_non_sign_mask)); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPAbs64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.pand(result, code.MConst(xword, f64_non_sign_mask)); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPNeg16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.pxor(result, code.MConst(xword, f16_negative_zero)); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPNeg32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.pxor(result, code.MConst(xword, f32_negative_zero)); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPNeg64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.pxor(result, code.MConst(xword, f64_negative_zero)); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPAdd32(EmitContext& ctx, IR::Inst* inst) { + FPThreeOp<32>(code, ctx, inst, &Xbyak::CodeGenerator::addss); +} + +void EmitX64::EmitFPAdd64(EmitContext& ctx, IR::Inst* inst) { + FPThreeOp<64>(code, ctx, inst, &Xbyak::CodeGenerator::addsd); +} + +void EmitX64::EmitFPDiv32(EmitContext& ctx, IR::Inst* inst) { + FPThreeOp<32>(code, ctx, inst, &Xbyak::CodeGenerator::divss); +} + +void EmitX64::EmitFPDiv64(EmitContext& ctx, IR::Inst* inst) { + FPThreeOp<64>(code, ctx, inst, &Xbyak::CodeGenerator::divsd); +} + +template +static void EmitFPMinMax(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg64 gpr_scratch = ctx.reg_alloc.ScratchGpr(); + + DenormalsAreZero(code, ctx, {result, operand}); + + Xbyak::Label equal, end, nan; + + FCODE(ucomis)(result, operand); + code.jz(equal, code.T_NEAR); + if constexpr (is_max) { + FCODE(maxs)(result, operand); + } else { + FCODE(mins)(result, operand); + } + code.L(end); + + code.SwitchToFarCode(); + + code.L(equal); + code.jp(nan); + if constexpr (is_max) { + code.andps(result, operand); + } else { + code.orps(result, operand); + } + code.jmp(end); + + code.L(nan); + if (ctx.FPCR().DN()) { + code.movaps(result, code.MConst(xword, fsize == 32 ? f32_nan : f64_nan)); + code.jmp(end); + } else { + code.movaps(tmp, result); + FCODE(adds)(result, operand); + EmitPostProcessNaNs(code, result, tmp, operand, gpr_scratch, end); + } + + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +static void EmitFPMinMaxNumeric(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + constexpr u8 mantissa_msb_bit = static_cast(FP::FPInfo::explicit_mantissa_width - 1); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm op1 = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm op2 = ctx.reg_alloc.UseScratchXmm(args[1]); // Result stored here! + Xbyak::Reg tmp = ctx.reg_alloc.ScratchGpr(); + tmp.setBit(fsize); + + const auto move_to_tmp = [&](const Xbyak::Xmm& xmm) { + if constexpr (fsize == 32) { + code.movd(tmp.cvt32(), xmm); + } else { + code.movq(tmp.cvt64(), xmm); + } + }; + + Xbyak::Label end, z, nan, op2_is_nan, snan, maybe_both_nan, normal; + + DenormalsAreZero(code, ctx, {op1, op2}); + FCODE(ucomis)(op1, op2); + code.jz(z, code.T_NEAR); + code.L(normal); + if constexpr (is_max) { + FCODE(maxs)(op2, op1); + } else { + FCODE(mins)(op2, op1); + } + code.L(end); + + code.SwitchToFarCode(); + + code.L(z); + code.jp(nan); + if constexpr (is_max) { + code.andps(op2, op1); + } else { + code.orps(op2, op1); + } + code.jmp(end); + + // NaN requirements: + // op1 op2 result + // SNaN anything op1 + // !SNaN SNaN op2 + // QNaN !NaN op2 + // !NaN QNaN op1 + // QNaN QNaN op1 + + code.L(nan); + FCODE(ucomis)(op1, op1); + code.jnp(op2_is_nan); + + // op1 is NaN + move_to_tmp(op1); + code.bt(tmp, mantissa_msb_bit); + code.jc(maybe_both_nan); + if (ctx.FPCR().DN()) { + code.L(snan); + code.movaps(op2, code.MConst(xword, FP::FPInfo::DefaultNaN())); + code.jmp(end); + } else { + code.movaps(op2, op1); + code.L(snan); + code.orps(op2, code.MConst(xword, FP::FPInfo::mantissa_msb)); + code.jmp(end); + } + + code.L(maybe_both_nan); + FCODE(ucomis)(op2, op2); + code.jnp(end, code.T_NEAR); + if (ctx.FPCR().DN()) { + code.jmp(snan); + } else { + move_to_tmp(op2); + code.bt(tmp.cvt64(), mantissa_msb_bit); + code.jnc(snan); + code.movaps(op2, op1); + code.jmp(end); + } + + // op2 is NaN + code.L(op2_is_nan); + move_to_tmp(op2); + code.bt(tmp, mantissa_msb_bit); + code.jnc(snan); + code.movaps(op2, op1); + code.jmp(end); + + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, op2); +} + +void EmitX64::EmitFPMax32(EmitContext& ctx, IR::Inst* inst) { + EmitFPMinMax<32, true>(code, ctx, inst); +} + +void EmitX64::EmitFPMax64(EmitContext& ctx, IR::Inst* inst) { + EmitFPMinMax<64, true>(code, ctx, inst); +} + +void EmitX64::EmitFPMaxNumeric32(EmitContext& ctx, IR::Inst* inst) { + EmitFPMinMaxNumeric<32, true>(code, ctx, inst); +} + +void EmitX64::EmitFPMaxNumeric64(EmitContext& ctx, IR::Inst* inst) { + EmitFPMinMaxNumeric<64, true>(code, ctx, inst); +} + +void EmitX64::EmitFPMin32(EmitContext& ctx, IR::Inst* inst) { + EmitFPMinMax<32, false>(code, ctx, inst); +} + +void EmitX64::EmitFPMin64(EmitContext& ctx, IR::Inst* inst) { + EmitFPMinMax<64, false>(code, ctx, inst); +} + +void EmitX64::EmitFPMinNumeric32(EmitContext& ctx, IR::Inst* inst) { + EmitFPMinMaxNumeric<32, false>(code, ctx, inst); +} + +void EmitX64::EmitFPMinNumeric64(EmitContext& ctx, IR::Inst* inst) { + EmitFPMinMaxNumeric<64, false>(code, ctx, inst); +} + +void EmitX64::EmitFPMul32(EmitContext& ctx, IR::Inst* inst) { + FPThreeOp<32>(code, ctx, inst, &Xbyak::CodeGenerator::mulss); +} + +void EmitX64::EmitFPMul64(EmitContext& ctx, IR::Inst* inst) { + FPThreeOp<64>(code, ctx, inst, &Xbyak::CodeGenerator::mulsd); +} + +template +static void EmitFPMulAdd(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if constexpr (fsize != 16) { + if (code.HasHostFeature(HostFeature::FMA) && ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm operand3 = ctx.reg_alloc.UseXmm(args[2]); + + FCODE(vfmadd231s)(result, operand2, operand3); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::FMA)) { + Xbyak::Label end, fallback; + + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm operand3 = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movaps(result, operand1); + FCODE(vfmadd231s)(result, operand2, operand3); + + code.movaps(tmp, code.MConst(xword, fsize == 32 ? f32_non_sign_mask : f64_non_sign_mask)); + code.andps(tmp, result); + FCODE(ucomis)(tmp, code.MConst(xword, fsize == 32 ? f32_smallest_normal : f64_smallest_normal)); + code.jz(fallback, code.T_NEAR); + code.L(end); + + code.SwitchToFarCode(); + code.L(fallback); + + code.sub(rsp, 8); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.movq(code.ABI_PARAM1, operand1); + code.movq(code.ABI_PARAM2, operand2); + code.movq(code.ABI_PARAM3, operand3); + code.mov(code.ABI_PARAM4.cvt32(), ctx.FPCR().Value()); +#ifdef _WIN32 + code.sub(rsp, 16 + ABI_SHADOW_SPACE); + code.lea(rax, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.mov(qword[rsp + ABI_SHADOW_SPACE], rax); + code.CallFunction(&FP::FPMulAdd); + code.add(rsp, 16 + ABI_SHADOW_SPACE); +#else + code.lea(code.ABI_PARAM5, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPMulAdd); +#endif + code.movq(result, code.ABI_RETURN); + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.add(rsp, 8); + + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (ctx.HasOptimization(OptimizationFlag::Unsafe_UnfuseFMA)) { + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm operand3 = ctx.reg_alloc.UseXmm(args[2]); + + FCODE(muls)(operand2, operand3); + FCODE(adds)(operand1, operand2); + + ctx.reg_alloc.DefineValue(inst, operand1); + return; + } + } + + ctx.reg_alloc.HostCall(inst, args[0], args[1], args[2]); + code.mov(code.ABI_PARAM4.cvt32(), ctx.FPCR().Value()); +#ifdef _WIN32 + ctx.reg_alloc.AllocStackSpace(16 + ABI_SHADOW_SPACE); + code.lea(rax, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.mov(qword[rsp + ABI_SHADOW_SPACE], rax); + code.CallFunction(&FP::FPMulAdd); + ctx.reg_alloc.ReleaseStackSpace(16 + ABI_SHADOW_SPACE); +#else + code.lea(code.ABI_PARAM5, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPMulAdd); +#endif +} + +void EmitX64::EmitFPMulAdd16(EmitContext& ctx, IR::Inst* inst) { + EmitFPMulAdd<16>(code, ctx, inst); +} + +void EmitX64::EmitFPMulAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitFPMulAdd<32>(code, ctx, inst); +} + +void EmitX64::EmitFPMulAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitFPMulAdd<64>(code, ctx, inst); +} + +template +static void EmitFPMulX(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const bool do_default_nan = ctx.FPCR().DN(); + + const Xbyak::Xmm op1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm op2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg64 tmp = do_default_nan ? INVALID_REG : ctx.reg_alloc.ScratchGpr(); + + Xbyak::Label end, nan, op_are_nans; + + if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vmuls)(result, op1, op2); + } else { + code.movaps(result, op1); + FCODE(muls)(result, op2); + } + FCODE(ucomis)(result, result); + code.jp(nan, code.T_NEAR); + code.L(end); + + code.SwitchToFarCode(); + code.L(nan); + FCODE(ucomis)(op1, op2); + code.jp(op_are_nans); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vxorps(result, op1, op2); + } else { + code.movaps(result, op1); + code.xorps(result, op2); + } + code.andps(result, code.MConst(xword, FP::FPInfo::sign_mask)); + code.orps(result, code.MConst(xword, FP::FPValue())); + code.jmp(end, code.T_NEAR); + code.L(op_are_nans); + if (do_default_nan) { + code.movaps(result, code.MConst(xword, FP::FPInfo::DefaultNaN())); + code.jmp(end, code.T_NEAR); + } else { + EmitPostProcessNaNs(code, result, op1, op2, tmp, end); + } + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPMulX32(EmitContext& ctx, IR::Inst* inst) { + EmitFPMulX<32>(code, ctx, inst); +} + +void EmitX64::EmitFPMulX64(EmitContext& ctx, IR::Inst* inst) { + EmitFPMulX<64>(code, ctx, inst); +} + +template +static void EmitFPRecipEstimate(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + if constexpr (fsize != 16) { + if (ctx.HasOptimization(OptimizationFlag::Unsafe_ReducedErrorFP)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm operand = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + if constexpr (fsize == 32) { + code.rcpss(result, operand); + } else { + code.cvtsd2ss(result, operand); + code.rcpss(result, result); + code.cvtss2sd(result, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.lea(code.ABI_PARAM3, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPRecipEstimate); +} + +void EmitX64::EmitFPRecipEstimate16(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipEstimate<16>(code, ctx, inst); +} + +void EmitX64::EmitFPRecipEstimate32(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipEstimate<32>(code, ctx, inst); +} + +void EmitX64::EmitFPRecipEstimate64(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipEstimate<64>(code, ctx, inst); +} + +template +static void EmitFPRecipExponent(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.lea(code.ABI_PARAM3, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPRecipExponent); +} + +void EmitX64::EmitFPRecipExponent16(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipExponent<16>(code, ctx, inst); +} + +void EmitX64::EmitFPRecipExponent32(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipExponent<32>(code, ctx, inst); +} + +void EmitX64::EmitFPRecipExponent64(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipExponent<64>(code, ctx, inst); +} + +template +static void EmitFPRecipStepFused(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if constexpr (fsize != 16) { + if (code.HasHostFeature(HostFeature::FMA) && ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + Xbyak::Label end, fallback; + + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.movaps(result, code.MConst(xword, FP::FPValue())); + FCODE(vfnmadd231s)(result, operand1, operand2); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::FMA)) { + Xbyak::Label end, fallback; + + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.movaps(result, code.MConst(xword, FP::FPValue())); + FCODE(vfnmadd231s)(result, operand1, operand2); + FCODE(ucomis)(result, result); + code.jp(fallback, code.T_NEAR); + code.L(end); + + code.SwitchToFarCode(); + code.L(fallback); + + code.sub(rsp, 8); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.movq(code.ABI_PARAM1, operand1); + code.movq(code.ABI_PARAM2, operand2); + code.mov(code.ABI_PARAM3.cvt32(), ctx.FPCR().Value()); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPRecipStepFused); + code.movq(result, code.ABI_RETURN); + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.add(rsp, 8); + + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (ctx.HasOptimization(OptimizationFlag::Unsafe_UnfuseFMA)) { + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.movaps(result, code.MConst(xword, FP::FPValue())); + FCODE(muls)(operand1, operand2); + FCODE(subs)(result, operand1); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + } + + ctx.reg_alloc.HostCall(inst, args[0], args[1]); + code.mov(code.ABI_PARAM3.cvt32(), ctx.FPCR().Value()); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPRecipStepFused); +} + +void EmitX64::EmitFPRecipStepFused16(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipStepFused<16>(code, ctx, inst); +} + +void EmitX64::EmitFPRecipStepFused32(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipStepFused<32>(code, ctx, inst); +} + +void EmitX64::EmitFPRecipStepFused64(EmitContext& ctx, IR::Inst* inst) { + EmitFPRecipStepFused<64>(code, ctx, inst); +} + +static void EmitFPRound(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, size_t fsize) { + const auto rounding_mode = static_cast(inst->GetArg(1).GetU8()); + const bool exact = inst->GetArg(2).GetU1(); + const auto round_imm = ConvertRoundingModeToX64Immediate(rounding_mode); + + if (fsize != 16 && code.HasHostFeature(HostFeature::SSE41) && round_imm && !exact) { + if (fsize == 64) { + FPTwoOp<64>(code, ctx, inst, [&](Xbyak::Xmm result) { + code.roundsd(result, result, *round_imm); + }); + } else { + FPTwoOp<32>(code, ctx, inst, [&](Xbyak::Xmm result) { + code.roundss(result, result, *round_imm); + }); + } + + return; + } + + using fsize_list = mp::list, + mp::lift_value, + mp::lift_value>; + using rounding_list = mp::list< + mp::lift_value, + mp::lift_value, + mp::lift_value, + mp::lift_value, + mp::lift_value>; + using exact_list = mp::list; + + static const auto lut = Common::GenerateLookupTableFromList( + [](auto args) { + return std::pair{ + mp::lower_to_tuple_v, + Common::FptrCast( + [](u64 input, FP::FPSR& fpsr, FP::FPCR fpcr) { + constexpr auto t = mp::lower_to_tuple_v; + constexpr size_t fsize = std::get<0>(t); + constexpr FP::RoundingMode rounding_mode = std::get<1>(t); + constexpr bool exact = std::get<2>(t); + using InputSize = mp::unsigned_integer_of_size; + + return FP::FPRoundInt(static_cast(input), fpcr, rounding_mode, exact, fpsr); + })}; + }, + mp::cartesian_product{}); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(inst, args[0]); + code.lea(code.ABI_PARAM2, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.mov(code.ABI_PARAM3.cvt32(), ctx.FPCR().Value()); + code.CallFunction(lut.at(std::make_tuple(fsize, rounding_mode, exact))); +} + +void EmitX64::EmitFPRoundInt16(EmitContext& ctx, IR::Inst* inst) { + EmitFPRound(code, ctx, inst, 16); +} + +void EmitX64::EmitFPRoundInt32(EmitContext& ctx, IR::Inst* inst) { + EmitFPRound(code, ctx, inst, 32); +} + +void EmitX64::EmitFPRoundInt64(EmitContext& ctx, IR::Inst* inst) { + EmitFPRound(code, ctx, inst, 64); +} + +template +static void EmitFPRSqrtEstimate(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + if constexpr (fsize != 16) { + if (ctx.HasOptimization(OptimizationFlag::Unsafe_ReducedErrorFP)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm operand = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + if constexpr (fsize == 32) { + code.rsqrtss(result, operand); + } else { + code.cvtsd2ss(result, operand); + code.rsqrtss(result, result); + code.cvtss2sd(result, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + // TODO: VRSQRT14SS implementation (AVX512F) + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm operand = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm value = ctx.reg_alloc.ScratchXmm(); + [[maybe_unused]] const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + + Xbyak::Label fallback, bad_values, end, default_nan; + bool needs_fallback = false; + + code.movaps(value, operand); + + code.movaps(xmm0, code.MConst(xword, fsize == 32 ? 0xFFFF8000 : 0xFFFF'F000'0000'0000)); + code.pand(value, xmm0); + code.por(value, code.MConst(xword, fsize == 32 ? 0x00008000 : 0x0000'1000'0000'0000)); + + // Detect NaNs, negatives, zeros, denormals and infinities + FCODE(ucomis)(value, code.MConst(xword, FPT(1) << FP::FPInfo::explicit_mantissa_width)); + code.jna(bad_values, code.T_NEAR); + + FCODE(sqrts)(value, value); + ICODE(mov)(result, code.MConst(xword, FP::FPValue())); + FCODE(divs)(result, value); + + ICODE(padd)(result, code.MConst(xword, fsize == 32 ? 0x00004000 : 0x0000'0800'0000'0000)); + code.pand(result, xmm0); + + code.L(end); + + code.SwitchToFarCode(); + + code.L(bad_values); + if constexpr (fsize == 32) { + code.movd(tmp, operand); + + if (!ctx.FPCR().FZ()) { + if (ctx.FPCR().DN()) { + // a > 0x80000000 + code.cmp(tmp, 0x80000000); + code.ja(default_nan, code.T_NEAR); + } + + // a > 0 && a < 0x00800000; + code.sub(tmp, 1); + code.cmp(tmp, 0x007FFFFF); + code.jb(fallback); + needs_fallback = true; + } + + code.rsqrtss(result, operand); + + if (ctx.FPCR().DN()) { + code.ucomiss(result, result); + code.jnp(end, code.T_NEAR); + } else { + // FZ ? (a >= 0x80800000 && a <= 0xFF800000) : (a >= 0x80000001 && a <= 0xFF800000) + // !FZ path takes into account the subtraction by one from the earlier block + code.add(tmp, ctx.FPCR().FZ() ? 0x7F800000 : 0x80000000); + code.cmp(tmp, ctx.FPCR().FZ() ? 0x7F000001 : 0x7F800000); + code.jnb(end, code.T_NEAR); + } + + code.L(default_nan); + code.movd(result, code.MConst(xword, 0x7FC00000)); + code.jmp(end, code.T_NEAR); + } else { + Xbyak::Label nan, zero; + + code.movaps(value, operand); + DenormalsAreZero(code, ctx, {value}); + code.pxor(result, result); + + code.ucomisd(value, result); + if (ctx.FPCR().DN()) { + code.jc(default_nan); + code.je(zero); + } else { + code.jp(nan); + code.je(zero); + code.jc(default_nan); + } + + if (!ctx.FPCR().FZ()) { + needs_fallback = true; + code.jmp(fallback); + } else { + // result = 0 + code.jmp(end, code.T_NEAR); + } + + code.L(zero); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpor(result, value, code.MConst(xword, 0x7FF0'0000'0000'0000)); + } else { + code.movaps(result, value); + code.por(result, code.MConst(xword, 0x7FF0'0000'0000'0000)); + } + code.jmp(end, code.T_NEAR); + + code.L(nan); + if (!ctx.FPCR().DN()) { + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpor(result, operand, code.MConst(xword, 0x0008'0000'0000'0000)); + } else { + code.movaps(result, operand); + code.por(result, code.MConst(xword, 0x0008'0000'0000'0000)); + } + code.jmp(end, code.T_NEAR); + } + + code.L(default_nan); + code.movq(result, code.MConst(xword, 0x7FF8'0000'0000'0000)); + code.jmp(end, code.T_NEAR); + } + + code.L(fallback); + if (needs_fallback) { + code.sub(rsp, 8); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.movq(code.ABI_PARAM1, operand); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.lea(code.ABI_PARAM3, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPRSqrtEstimate); + code.movq(result, rax); + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.add(rsp, 8); + code.jmp(end, code.T_NEAR); + } + + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.lea(code.ABI_PARAM3, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPRSqrtEstimate); +} + +void EmitX64::EmitFPRSqrtEstimate16(EmitContext& ctx, IR::Inst* inst) { + EmitFPRSqrtEstimate<16>(code, ctx, inst); +} + +void EmitX64::EmitFPRSqrtEstimate32(EmitContext& ctx, IR::Inst* inst) { + EmitFPRSqrtEstimate<32>(code, ctx, inst); +} + +void EmitX64::EmitFPRSqrtEstimate64(EmitContext& ctx, IR::Inst* inst) { + EmitFPRSqrtEstimate<64>(code, ctx, inst); +} + +template +static void EmitFPRSqrtStepFused(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if constexpr (fsize != 16) { + if (code.HasHostFeature(HostFeature::FMA | HostFeature::AVX) && ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vmovaps(result, code.MConst(xword, FP::FPValue())); + FCODE(vfnmadd231s)(result, operand1, operand2); + FCODE(vmuls)(result, result, code.MConst(xword, FP::FPValue())); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::FMA | HostFeature::AVX)) { + Xbyak::Label end, fallback; + + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vmovaps(result, code.MConst(xword, FP::FPValue())); + FCODE(vfnmadd231s)(result, operand1, operand2); + + // Detect if the intermediate result is infinity or NaN or nearly an infinity. + // Why do we need to care about infinities? This is because x86 doesn't allow us + // to fuse the divide-by-two with the rest of the FMA operation. Therefore the + // intermediate value may overflow and we would like to handle this case. + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + code.vpextrw(tmp, result, fsize == 32 ? 1 : 3); + code.and_(tmp.cvt16(), fsize == 32 ? 0x7f80 : 0x7ff0); + code.cmp(tmp.cvt16(), fsize == 32 ? 0x7f00 : 0x7fe0); + ctx.reg_alloc.Release(tmp); + + code.jae(fallback, code.T_NEAR); + + FCODE(vmuls)(result, result, code.MConst(xword, FP::FPValue())); + code.L(end); + + code.SwitchToFarCode(); + code.L(fallback); + + code.sub(rsp, 8); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.movq(code.ABI_PARAM1, operand1); + code.movq(code.ABI_PARAM2, operand2); + code.mov(code.ABI_PARAM3.cvt32(), ctx.FPCR().Value()); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPRSqrtStepFused); + code.movq(result, code.ABI_RETURN); + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.add(rsp, 8); + + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (ctx.HasOptimization(OptimizationFlag::Unsafe_UnfuseFMA)) { + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.movaps(result, code.MConst(xword, FP::FPValue())); + FCODE(muls)(operand1, operand2); + FCODE(subs)(result, operand1); + FCODE(muls)(result, code.MConst(xword, FP::FPValue())); + + ctx.reg_alloc.DefineValue(inst, operand1); + return; + } + } + + ctx.reg_alloc.HostCall(inst, args[0], args[1]); + code.mov(code.ABI_PARAM3.cvt32(), ctx.FPCR().Value()); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPRSqrtStepFused); +} + +void EmitX64::EmitFPRSqrtStepFused16(EmitContext& ctx, IR::Inst* inst) { + EmitFPRSqrtStepFused<16>(code, ctx, inst); +} + +void EmitX64::EmitFPRSqrtStepFused32(EmitContext& ctx, IR::Inst* inst) { + EmitFPRSqrtStepFused<32>(code, ctx, inst); +} + +void EmitX64::EmitFPRSqrtStepFused64(EmitContext& ctx, IR::Inst* inst) { + EmitFPRSqrtStepFused<64>(code, ctx, inst); +} + +void EmitX64::EmitFPSqrt32(EmitContext& ctx, IR::Inst* inst) { + FPTwoOp<32>(code, ctx, inst, &Xbyak::CodeGenerator::sqrtss); +} + +void EmitX64::EmitFPSqrt64(EmitContext& ctx, IR::Inst* inst) { + FPTwoOp<64>(code, ctx, inst, &Xbyak::CodeGenerator::sqrtsd); +} + +void EmitX64::EmitFPSub32(EmitContext& ctx, IR::Inst* inst) { + FPThreeOp<32>(code, ctx, inst, &Xbyak::CodeGenerator::subss); +} + +void EmitX64::EmitFPSub64(EmitContext& ctx, IR::Inst* inst) { + FPThreeOp<64>(code, ctx, inst, &Xbyak::CodeGenerator::subsd); +} + +static Xbyak::Reg64 SetFpscrNzcvFromFlags(BlockOfCode& code, EmitContext& ctx) { + ctx.reg_alloc.ScratchGpr(HostLoc::RCX); // shifting requires use of cl + const Xbyak::Reg64 nzcv = ctx.reg_alloc.ScratchGpr(); + + // x64 flags ARM flags + // ZF PF CF NZCV + // Unordered 1 1 1 0011 + // Greater than 0 0 0 0010 + // Less than 0 0 1 1000 + // Equal 1 0 0 0110 + // + // Thus we can take use ZF:CF as an index into an array like so: + // x64 ARM ARM as x64 + // ZF:CF NZCV NZ-----C-------V + // 0 0010 0000000100000000 = 0x0100 + // 1 1000 1000000000000000 = 0x8000 + // 2 0110 0100000100000000 = 0x4100 + // 3 0011 0000000100000001 = 0x0101 + + code.mov(nzcv, 0x0101'4100'8000'0100); + code.sete(cl); + code.rcl(cl, 5); // cl = ZF:CF:0000 + code.shr(nzcv, cl); + + return nzcv; +} + +void EmitX64::EmitFPCompare32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm reg_a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm reg_b = ctx.reg_alloc.UseXmm(args[1]); + const bool exc_on_qnan = args[2].GetImmediateU1(); + + if (exc_on_qnan) { + code.comiss(reg_a, reg_b); + } else { + code.ucomiss(reg_a, reg_b); + } + + const Xbyak::Reg64 nzcv = SetFpscrNzcvFromFlags(code, ctx); + ctx.reg_alloc.DefineValue(inst, nzcv); +} + +void EmitX64::EmitFPCompare64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm reg_a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm reg_b = ctx.reg_alloc.UseXmm(args[1]); + const bool exc_on_qnan = args[2].GetImmediateU1(); + + if (exc_on_qnan) { + code.comisd(reg_a, reg_b); + } else { + code.ucomisd(reg_a, reg_b); + } + + const Xbyak::Reg64 nzcv = SetFpscrNzcvFromFlags(code, ctx); + ctx.reg_alloc.DefineValue(inst, nzcv); +} + +void EmitX64::EmitFPHalfToDouble(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto rounding_mode = static_cast(args[1].GetImmediateU8()); + + if (code.HasHostFeature(HostFeature::F16C) && !ctx.FPCR().AHP() && !ctx.FPCR().FZ16()) { + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm value = ctx.reg_alloc.UseXmm(args[0]); + + // Double-conversion here is acceptable as this is expanding precision. + code.vcvtph2ps(result, value); + code.vcvtps2pd(result, result); + if (ctx.FPCR().DN()) { + ForceToDefaultNaN<64>(code, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.mov(code.ABI_PARAM3.cvt32(), static_cast(rounding_mode)); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPConvert); +} + +void EmitX64::EmitFPHalfToSingle(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto rounding_mode = static_cast(args[1].GetImmediateU8()); + + if (code.HasHostFeature(HostFeature::F16C) && !ctx.FPCR().AHP() && !ctx.FPCR().FZ16()) { + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm value = ctx.reg_alloc.UseXmm(args[0]); + + code.vcvtph2ps(result, value); + if (ctx.FPCR().DN()) { + ForceToDefaultNaN<32>(code, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.mov(code.ABI_PARAM3.cvt32(), static_cast(rounding_mode)); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPConvert); +} + +void EmitX64::EmitFPSingleToDouble(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto rounding_mode = static_cast(args[1].GetImmediateU8()); + + // We special-case the non-IEEE-defined ToOdd rounding mode. + if (rounding_mode == ctx.FPCR().RMode() && rounding_mode != FP::RoundingMode::ToOdd) { + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.cvtss2sd(result, result); + if (ctx.FPCR().DN()) { + ForceToDefaultNaN<64>(code, result); + } + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.mov(code.ABI_PARAM3.cvt32(), static_cast(rounding_mode)); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPConvert); + } +} + +void EmitX64::EmitFPSingleToHalf(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto rounding_mode = static_cast(args[1].GetImmediateU8()); + const auto round_imm = ConvertRoundingModeToX64Immediate(rounding_mode); + + if (code.HasHostFeature(HostFeature::F16C) && !ctx.FPCR().AHP() && !ctx.FPCR().FZ16()) { + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (ctx.FPCR().DN()) { + ForceToDefaultNaN<32>(code, result); + } + code.vcvtps2ph(result, result, static_cast(*round_imm)); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.mov(code.ABI_PARAM3.cvt32(), static_cast(rounding_mode)); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPConvert); +} + +void EmitX64::EmitFPDoubleToHalf(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto rounding_mode = static_cast(args[1].GetImmediateU8()); + + // NOTE: Do not double-convert here as that is inaccurate. + // To be accurate, the first conversion would need to be "round-to-odd", which x64 doesn't support. + + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.mov(code.ABI_PARAM3.cvt32(), static_cast(rounding_mode)); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPConvert); +} + +void EmitX64::EmitFPDoubleToSingle(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto rounding_mode = static_cast(args[1].GetImmediateU8()); + + // We special-case the non-IEEE-defined ToOdd rounding mode. + if (rounding_mode == ctx.FPCR().RMode() && rounding_mode != FP::RoundingMode::ToOdd) { + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.cvtsd2ss(result, result); + if (ctx.FPCR().DN()) { + ForceToDefaultNaN<32>(code, result); + } + ctx.reg_alloc.DefineValue(inst, result); + } else { + ctx.reg_alloc.HostCall(inst, args[0]); + code.mov(code.ABI_PARAM2.cvt32(), ctx.FPCR().Value()); + code.mov(code.ABI_PARAM3.cvt32(), static_cast(rounding_mode)); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.CallFunction(&FP::FPConvert); + } +} + +template +static void EmitFPToFixed(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const size_t fbits = args[1].GetImmediateU8(); + const auto rounding_mode = static_cast(args[2].GetImmediateU8()); + + if constexpr (fsize != 16) { + const auto round_imm = ConvertRoundingModeToX64Immediate(rounding_mode); + + if (code.HasHostFeature(HostFeature::SSE41) && round_imm) { + const Xbyak::Xmm src = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm scratch = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr().cvt64(); + + if constexpr (fsize == 64) { + if (fbits != 0) { + const u64 scale_factor = static_cast((fbits + 1023) << 52); + code.mulsd(src, code.MConst(xword, scale_factor)); + } + + code.roundsd(src, src, *round_imm); + } else { + if (fbits != 0) { + const u32 scale_factor = static_cast((fbits + 127) << 23); + code.mulss(src, code.MConst(xword, scale_factor)); + } + + code.roundss(src, src, *round_imm); + code.cvtss2sd(src, src); + } + + ZeroIfNaN<64>(code, src, scratch); + + if constexpr (isize == 64) { + Xbyak::Label saturate_max, end; + + if (unsigned_) { + code.maxsd(src, code.MConst(xword, f64_min_u64)); + } + code.movsd(scratch, code.MConst(xword, unsigned_ ? f64_max_u64_lim : f64_max_s64_lim)); + code.comisd(scratch, src); + code.jna(saturate_max, code.T_NEAR); + if (unsigned_) { + Xbyak::Label below_max; + + code.movsd(scratch, code.MConst(xword, f64_max_s64_lim)); + code.comisd(src, scratch); + code.jb(below_max); + code.subsd(src, scratch); + code.cvttsd2si(result, src); + code.btc(result, 63); + code.jmp(end); + code.L(below_max); + } + code.cvttsd2si(result, src); // 64 bit gpr + code.L(end); + + code.SwitchToFarCode(); + code.L(saturate_max); + code.mov(result, unsigned_ ? 0xFFFF'FFFF'FFFF'FFFF : 0x7FFF'FFFF'FFFF'FFFF); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + } else if constexpr (isize == 32) { + code.minsd(src, code.MConst(xword, unsigned_ ? f64_max_u32 : f64_max_s32)); + if (unsigned_) { + code.maxsd(src, code.MConst(xword, f64_min_u32)); + code.cvttsd2si(result, src); // 64 bit gpr + } else { + code.cvttsd2si(result.cvt32(), src); + } + } else { + code.minsd(src, code.MConst(xword, unsigned_ ? f64_max_u16 : f64_max_s16)); + code.maxsd(src, code.MConst(xword, unsigned_ ? f64_min_u16 : f64_min_s16)); + code.cvttsd2si(result, src); // 64 bit gpr + } + + ctx.reg_alloc.DefineValue(inst, result); + + return; + } + } + + using fbits_list = mp::lift_sequence>; + using rounding_list = mp::list< + mp::lift_value, + mp::lift_value, + mp::lift_value, + mp::lift_value, + mp::lift_value>; + + static const auto lut = Common::GenerateLookupTableFromList( + [](auto args) { + return std::pair{ + mp::lower_to_tuple_v, + Common::FptrCast( + [](u64 input, FP::FPSR& fpsr, FP::FPCR fpcr) { + constexpr auto t = mp::lower_to_tuple_v; + constexpr size_t fbits = std::get<0>(t); + constexpr FP::RoundingMode rounding_mode = std::get<1>(t); + using FPT = mp::unsigned_integer_of_size; + + return FP::FPToFixed(isize, static_cast(input), fbits, unsigned_, fpcr, rounding_mode, fpsr); + })}; + }, + mp::cartesian_product{}); + + ctx.reg_alloc.HostCall(inst, args[0]); + code.lea(code.ABI_PARAM2, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.mov(code.ABI_PARAM3.cvt32(), ctx.FPCR().Value()); + code.CallFunction(lut.at(std::make_tuple(fbits, rounding_mode))); +} + +void EmitX64::EmitFPDoubleToFixedS16(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<64, false, 16>(code, ctx, inst); +} + +void EmitX64::EmitFPDoubleToFixedS32(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<64, false, 32>(code, ctx, inst); +} + +void EmitX64::EmitFPDoubleToFixedS64(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<64, false, 64>(code, ctx, inst); +} + +void EmitX64::EmitFPDoubleToFixedU16(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<64, true, 16>(code, ctx, inst); +} + +void EmitX64::EmitFPDoubleToFixedU32(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<64, true, 32>(code, ctx, inst); +} + +void EmitX64::EmitFPDoubleToFixedU64(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<64, true, 64>(code, ctx, inst); +} + +void EmitX64::EmitFPHalfToFixedS16(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<16, false, 16>(code, ctx, inst); +} + +void EmitX64::EmitFPHalfToFixedS32(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<16, false, 32>(code, ctx, inst); +} + +void EmitX64::EmitFPHalfToFixedS64(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<16, false, 64>(code, ctx, inst); +} + +void EmitX64::EmitFPHalfToFixedU16(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<16, true, 16>(code, ctx, inst); +} + +void EmitX64::EmitFPHalfToFixedU32(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<16, true, 32>(code, ctx, inst); +} + +void EmitX64::EmitFPHalfToFixedU64(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<16, true, 64>(code, ctx, inst); +} + +void EmitX64::EmitFPSingleToFixedS16(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<32, false, 16>(code, ctx, inst); +} + +void EmitX64::EmitFPSingleToFixedS32(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<32, false, 32>(code, ctx, inst); +} + +void EmitX64::EmitFPSingleToFixedS64(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<32, false, 64>(code, ctx, inst); +} + +void EmitX64::EmitFPSingleToFixedU16(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<32, true, 16>(code, ctx, inst); +} + +void EmitX64::EmitFPSingleToFixedU32(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<32, true, 32>(code, ctx, inst); +} + +void EmitX64::EmitFPSingleToFixedU64(EmitContext& ctx, IR::Inst* inst) { + EmitFPToFixed<32, true, 64>(code, ctx, inst); +} + +void EmitX64::EmitFPFixedS16ToSingle(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg16 from = ctx.reg_alloc.UseGpr(args[0]).cvt16(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + [[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); // Not required + + code.movsx(tmp, from); + code.cvtsi2ss(result, tmp); + + if (fbits != 0) { + const u32 scale_factor = static_cast((127 - fbits) << 23); + code.mulss(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedU16ToSingle(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg16 from = ctx.reg_alloc.UseGpr(args[0]).cvt16(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + [[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); // Not required + + code.movzx(tmp, from); + code.cvtsi2ss(result, tmp); + + if (fbits != 0) { + const u32 scale_factor = static_cast((127 - fbits) << 23); + code.mulss(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedS32ToSingle(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 from = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + + if (rounding_mode == ctx.FPCR().RMode()) { + code.cvtsi2ss(result, from); + } else { + ASSERT(rounding_mode == FP::RoundingMode::ToNearest_TieEven); + code.EnterStandardASIMD(); + code.cvtsi2ss(result, from); + code.LeaveStandardASIMD(); + } + + if (fbits != 0) { + const u32 scale_factor = static_cast((127 - fbits) << 23); + code.mulss(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedU32ToSingle(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + + const auto op = [&] { + if (code.HasHostFeature(HostFeature::AVX512F)) { + const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]); + code.vcvtusi2ss(result, result, from.cvt32()); + } else { + // We are using a 64-bit GPR register to ensure we don't end up treating the input as signed + const Xbyak::Reg64 from = ctx.reg_alloc.UseScratchGpr(args[0]); + code.mov(from.cvt32(), from.cvt32()); // TODO: Verify if this is necessary + code.cvtsi2ss(result, from); + } + }; + + if (rounding_mode == ctx.FPCR().RMode()) { + op(); + } else { + ASSERT(rounding_mode == FP::RoundingMode::ToNearest_TieEven); + code.EnterStandardASIMD(); + op(); + code.LeaveStandardASIMD(); + } + + if (fbits != 0) { + const u32 scale_factor = static_cast((127 - fbits) << 23); + code.mulss(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedS16ToDouble(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg16 from = ctx.reg_alloc.UseGpr(args[0]).cvt16(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + [[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); // Not required + + code.movsx(tmp, from); + code.cvtsi2sd(result, tmp); + + if (fbits != 0) { + const u64 scale_factor = static_cast((1023 - fbits) << 52); + code.mulsd(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedU16ToDouble(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg16 from = ctx.reg_alloc.UseGpr(args[0]).cvt16(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + [[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); // Not required + + code.movzx(tmp, from); + code.cvtsi2sd(result, tmp); + + if (fbits != 0) { + const u64 scale_factor = static_cast((1023 - fbits) << 52); + code.mulsd(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedS32ToDouble(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 from = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + [[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); // Not required + + code.cvtsi2sd(result, from); + + if (fbits != 0) { + const u64 scale_factor = static_cast((1023 - fbits) << 52); + code.mulsd(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedU32ToDouble(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm to = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + [[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); // Not required + + if (code.HasHostFeature(HostFeature::AVX512F)) { + const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]); + code.vcvtusi2sd(to, to, from.cvt32()); + } else { + // We are using a 64-bit GPR register to ensure we don't end up treating the input as signed + const Xbyak::Reg64 from = ctx.reg_alloc.UseScratchGpr(args[0]); + code.mov(from.cvt32(), from.cvt32()); // TODO: Verify if this is necessary + code.cvtsi2sd(to, from); + } + + if (fbits != 0) { + const u64 scale_factor = static_cast((1023 - fbits) << 52); + code.mulsd(to, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, to); +} + +void EmitX64::EmitFPFixedS64ToDouble(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + ASSERT(rounding_mode == ctx.FPCR().RMode()); + + code.cvtsi2sd(result, from); + + if (fbits != 0) { + const u64 scale_factor = static_cast((1023 - fbits) << 52); + code.mulsd(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedS64ToSingle(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + ASSERT(rounding_mode == ctx.FPCR().RMode()); + + code.cvtsi2ss(result, from); + + if (fbits != 0) { + const u32 scale_factor = static_cast((127 - fbits) << 23); + code.mulss(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedU64ToDouble(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + ASSERT(rounding_mode == ctx.FPCR().RMode()); + + if (code.HasHostFeature(HostFeature::AVX512F)) { + code.vcvtusi2sd(result, result, from); + } else { + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movq(tmp, from); + code.punpckldq(tmp, code.MConst(xword, 0x4530000043300000, 0)); + code.subpd(tmp, code.MConst(xword, 0x4330000000000000, 0x4530000000000000)); + code.pshufd(result, tmp, 0b01001110); + code.addpd(result, tmp); + if (ctx.FPCR().RMode() == FP::RoundingMode::TowardsMinusInfinity) { + code.pand(result, code.MConst(xword, f64_non_sign_mask)); + } + } + + if (fbits != 0) { + const u64 scale_factor = static_cast((1023 - fbits) << 52); + code.mulsd(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPFixedU64ToSingle(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const size_t fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + ASSERT(rounding_mode == ctx.FPCR().RMode()); + + if (code.HasHostFeature(HostFeature::AVX512F)) { + const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]); + code.vcvtusi2ss(result, result, from); + } else { + const Xbyak::Reg64 from = ctx.reg_alloc.UseScratchGpr(args[0]); + code.pxor(result, result); + + Xbyak::Label negative; + Xbyak::Label end; + + code.test(from, from); + code.js(negative); + + code.cvtsi2ss(result, from); + code.jmp(end); + + code.L(negative); + const Xbyak::Reg64 tmp = ctx.reg_alloc.ScratchGpr(); + code.mov(tmp, from); + code.shr(tmp, 1); + code.and_(from.cvt32(), 1); + code.or_(from, tmp); + code.cvtsi2ss(result, from); + code.addss(result, result); + + code.L(end); + } + + if (fbits != 0) { + const u32 scale_factor = static_cast((127 - fbits) << 23); + code.mulss(result, code.MConst(xword, scale_factor)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_packed.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_packed.cpp new file mode 100755 index 000000000..3354df324 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_packed.cpp @@ -0,0 +1,712 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +void EmitX64::EmitPackedAddU8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + code.paddb(xmm_a, xmm_b); + + if (ge_inst) { + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm ones = ctx.reg_alloc.ScratchXmm(); + + code.pcmpeqb(ones, ones); + + code.movdqa(xmm_ge, xmm_a); + code.pminub(xmm_ge, xmm_b); + code.pcmpeqb(xmm_ge, xmm_b); + code.pxor(xmm_ge, ones); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + } + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedAddS8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + if (ge_inst) { + const Xbyak::Xmm saturated_sum = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + + code.pxor(xmm_ge, xmm_ge); + code.movdqa(saturated_sum, xmm_a); + code.paddsb(saturated_sum, xmm_b); + code.pcmpgtb(xmm_ge, saturated_sum); + code.pcmpeqb(saturated_sum, saturated_sum); + code.pxor(xmm_ge, saturated_sum); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + } + + code.paddb(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedAddU16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + code.paddw(xmm_a, xmm_b); + + if (ge_inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm ones = ctx.reg_alloc.ScratchXmm(); + + code.pcmpeqb(ones, ones); + + code.movdqa(xmm_ge, xmm_a); + code.pminuw(xmm_ge, xmm_b); + code.pcmpeqw(xmm_ge, xmm_b); + code.pxor(xmm_ge, ones); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + } else { + const Xbyak::Xmm tmp_a = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + + // !(b <= a+b) == b > a+b + code.movdqa(tmp_a, xmm_a); + code.movdqa(tmp_b, xmm_b); + code.paddw(tmp_a, code.MConst(xword, 0x80008000)); + code.paddw(tmp_b, code.MConst(xword, 0x80008000)); + code.pcmpgtw(tmp_b, tmp_a); // *Signed* comparison! + + ctx.reg_alloc.DefineValue(ge_inst, tmp_b); + ctx.EraseInstruction(ge_inst); + } + } + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedAddS16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + if (ge_inst) { + const Xbyak::Xmm saturated_sum = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + + code.pxor(xmm_ge, xmm_ge); + code.movdqa(saturated_sum, xmm_a); + code.paddsw(saturated_sum, xmm_b); + code.pcmpgtw(xmm_ge, saturated_sum); + code.pcmpeqw(saturated_sum, saturated_sum); + code.pxor(xmm_ge, saturated_sum); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + } + + code.paddw(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedSubU8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + if (ge_inst) { + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(xmm_ge, xmm_a); + code.pmaxub(xmm_ge, xmm_b); + code.pcmpeqb(xmm_ge, xmm_a); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + } + + code.psubb(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedSubS8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + if (ge_inst) { + const Xbyak::Xmm saturated_sum = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + + code.pxor(xmm_ge, xmm_ge); + code.movdqa(saturated_sum, xmm_a); + code.psubsb(saturated_sum, xmm_b); + code.pcmpgtb(xmm_ge, saturated_sum); + code.pcmpeqb(saturated_sum, saturated_sum); + code.pxor(xmm_ge, saturated_sum); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + } + + code.psubb(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedSubU16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + if (!ge_inst) { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + code.psubw(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); + return; + } + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(xmm_ge, xmm_a); + code.pmaxuw(xmm_ge, xmm_b); // Requires SSE 4.1 + code.pcmpeqw(xmm_ge, xmm_a); + + code.psubw(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + ctx.reg_alloc.DefineValue(inst, xmm_a); + return; + } + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm ones = ctx.reg_alloc.ScratchXmm(); + + // (a >= b) == !(b > a) + code.pcmpeqb(ones, ones); + code.paddw(xmm_a, code.MConst(xword, 0x80008000)); + code.paddw(xmm_b, code.MConst(xword, 0x80008000)); + code.movdqa(xmm_ge, xmm_b); + code.pcmpgtw(xmm_ge, xmm_a); // *Signed* comparison! + code.pxor(xmm_ge, ones); + + code.psubw(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedSubS16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + if (ge_inst) { + const Xbyak::Xmm saturated_diff = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_ge = ctx.reg_alloc.ScratchXmm(); + + code.pxor(xmm_ge, xmm_ge); + code.movdqa(saturated_diff, xmm_a); + code.psubsw(saturated_diff, xmm_b); + code.pcmpgtw(xmm_ge, saturated_diff); + code.pcmpeqw(saturated_diff, saturated_diff); + code.pxor(xmm_ge, saturated_diff); + + ctx.reg_alloc.DefineValue(ge_inst, xmm_ge); + ctx.EraseInstruction(ge_inst); + } + + code.psubw(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedHalvingAddU8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (args[0].IsInXmm() || args[1].IsInXmm()) { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm ones = ctx.reg_alloc.ScratchXmm(); + + // Since, + // pavg(a, b) == (a + b + 1) >> 1 + // Therefore, + // ~pavg(~a, ~b) == (a + b) >> 1 + + code.pcmpeqb(ones, ones); + code.pxor(xmm_a, ones); + code.pxor(xmm_b, ones); + code.pavgb(xmm_a, xmm_b); + code.pxor(xmm_a, ones); + + ctx.reg_alloc.DefineValue(inst, xmm_a); + } else { + const Xbyak::Reg32 reg_a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 reg_b = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + const Xbyak::Reg32 xor_a_b = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 and_a_b = reg_a; + const Xbyak::Reg32 result = reg_a; + + // This relies on the equality x+y == ((x&y) << 1) + (x^y). + // Note that x^y always contains the LSB of the result. + // Since we want to calculate (x+y)/2, we can instead calculate (x&y) + ((x^y)>>1). + // We mask by 0x7F to remove the LSB so that it doesn't leak into the field below. + + code.mov(xor_a_b, reg_a); + code.and_(and_a_b, reg_b); + code.xor_(xor_a_b, reg_b); + code.shr(xor_a_b, 1); + code.and_(xor_a_b, 0x7F7F7F7F); + code.add(result, xor_a_b); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitPackedHalvingAddU16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (args[0].IsInXmm() || args[1].IsInXmm()) { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, xmm_a); + code.pand(xmm_a, xmm_b); + code.pxor(tmp, xmm_b); + code.psrlw(tmp, 1); + code.paddw(xmm_a, tmp); + + ctx.reg_alloc.DefineValue(inst, xmm_a); + } else { + const Xbyak::Reg32 reg_a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 reg_b = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + const Xbyak::Reg32 xor_a_b = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 and_a_b = reg_a; + const Xbyak::Reg32 result = reg_a; + + // This relies on the equality x+y == ((x&y) << 1) + (x^y). + // Note that x^y always contains the LSB of the result. + // Since we want to calculate (x+y)/2, we can instead calculate (x&y) + ((x^y)>>1). + // We mask by 0x7FFF to remove the LSB so that it doesn't leak into the field below. + + code.mov(xor_a_b, reg_a); + code.and_(and_a_b, reg_b); + code.xor_(xor_a_b, reg_b); + code.shr(xor_a_b, 1); + code.and_(xor_a_b, 0x7FFF7FFF); + code.add(result, xor_a_b); + + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitPackedHalvingAddS8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 reg_a = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 reg_b = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + const Xbyak::Reg32 xor_a_b = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 and_a_b = reg_a; + const Xbyak::Reg32 result = reg_a; + const Xbyak::Reg32 carry = ctx.reg_alloc.ScratchGpr().cvt32(); + + // This relies on the equality x+y == ((x&y) << 1) + (x^y). + // Note that x^y always contains the LSB of the result. + // Since we want to calculate (x+y)/2, we can instead calculate (x&y) + ((x^y)>>1). + // We mask by 0x7F to remove the LSB so that it doesn't leak into the field below. + // carry propagates the sign bit from (x^y)>>1 upwards by one. + + code.mov(xor_a_b, reg_a); + code.and_(and_a_b, reg_b); + code.xor_(xor_a_b, reg_b); + code.mov(carry, xor_a_b); + code.and_(carry, 0x80808080); + code.shr(xor_a_b, 1); + code.and_(xor_a_b, 0x7F7F7F7F); + code.add(result, xor_a_b); + code.xor_(result, carry); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitPackedHalvingAddS16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + // This relies on the equality x+y == ((x&y) << 1) + (x^y). + // Note that x^y always contains the LSB of the result. + // Since we want to calculate (x+y)/2, we can instead calculate (x&y) + ((x^y)>>>1). + // The arithmetic shift right makes this signed. + + code.movdqa(tmp, xmm_a); + code.pand(xmm_a, xmm_b); + code.pxor(tmp, xmm_b); + code.psraw(tmp, 1); + code.paddw(xmm_a, tmp); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedHalvingSubU8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 minuend = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 subtrahend = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + + // This relies on the equality x-y == (x^y) - (((x^y)&y) << 1). + // Note that x^y always contains the LSB of the result. + // Since we want to calculate (x+y)/2, we can instead calculate ((x^y)>>1) - ((x^y)&y). + + code.xor_(minuend, subtrahend); + code.and_(subtrahend, minuend); + code.shr(minuend, 1); + + // At this point, + // minuend := (a^b) >> 1 + // subtrahend := (a^b) & b + + // We must now perform a partitioned subtraction. + // We can do this because minuend contains 7 bit fields. + // We use the extra bit in minuend as a bit to borrow from; we set this bit. + // We invert this bit at the end as this tells us if that bit was borrowed from. + code.or_(minuend, 0x80808080); + code.sub(minuend, subtrahend); + code.xor_(minuend, 0x80808080); + + // minuend now contains the desired result. + ctx.reg_alloc.DefineValue(inst, minuend); +} + +void EmitX64::EmitPackedHalvingSubS8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 minuend = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 subtrahend = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + + const Xbyak::Reg32 carry = ctx.reg_alloc.ScratchGpr().cvt32(); + + // This relies on the equality x-y == (x^y) - (((x^y)&y) << 1). + // Note that x^y always contains the LSB of the result. + // Since we want to calculate (x-y)/2, we can instead calculate ((x^y)>>1) - ((x^y)&y). + + code.xor_(minuend, subtrahend); + code.and_(subtrahend, minuend); + code.mov(carry, minuend); + code.and_(carry, 0x80808080); + code.shr(minuend, 1); + + // At this point, + // minuend := (a^b) >> 1 + // subtrahend := (a^b) & b + // carry := (a^b) & 0x80808080 + + // We must now perform a partitioned subtraction. + // We can do this because minuend contains 7 bit fields. + // We use the extra bit in minuend as a bit to borrow from; we set this bit. + // We invert this bit at the end as this tells us if that bit was borrowed from. + // We then sign extend the result into this bit. + code.or_(minuend, 0x80808080); + code.sub(minuend, subtrahend); + code.xor_(minuend, 0x80808080); + code.xor_(minuend, carry); + + ctx.reg_alloc.DefineValue(inst, minuend); +} + +void EmitX64::EmitPackedHalvingSubU16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm minuend = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm subtrahend = ctx.reg_alloc.UseScratchXmm(args[1]); + + // This relies on the equality x-y == (x^y) - (((x^y)&y) << 1). + // Note that x^y always contains the LSB of the result. + // Since we want to calculate (x-y)/2, we can instead calculate ((x^y)>>1) - ((x^y)&y). + + code.pxor(minuend, subtrahend); + code.pand(subtrahend, minuend); + code.psrlw(minuend, 1); + + // At this point, + // minuend := (a^b) >> 1 + // subtrahend := (a^b) & b + + code.psubw(minuend, subtrahend); + + ctx.reg_alloc.DefineValue(inst, minuend); +} + +void EmitX64::EmitPackedHalvingSubS16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm minuend = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm subtrahend = ctx.reg_alloc.UseScratchXmm(args[1]); + + // This relies on the equality x-y == (x^y) - (((x^y)&y) << 1). + // Note that x^y always contains the LSB of the result. + // Since we want to calculate (x-y)/2, we can instead calculate ((x^y)>>>1) - ((x^y)&y). + + code.pxor(minuend, subtrahend); + code.pand(subtrahend, minuend); + code.psraw(minuend, 1); + + // At this point, + // minuend := (a^b) >>> 1 + // subtrahend := (a^b) & b + + code.psubw(minuend, subtrahend); + + ctx.reg_alloc.DefineValue(inst, minuend); +} + +static void EmitPackedSubAdd(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, bool hi_is_sum, bool is_signed, bool is_halving) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const auto ge_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetGEFromOp); + + const Xbyak::Reg32 reg_a_hi = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 reg_b_hi = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + const Xbyak::Reg32 reg_a_lo = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 reg_b_lo = ctx.reg_alloc.ScratchGpr().cvt32(); + Xbyak::Reg32 reg_sum, reg_diff; + + if (is_signed) { + code.movsx(reg_a_lo, reg_a_hi.cvt16()); + code.movsx(reg_b_lo, reg_b_hi.cvt16()); + code.sar(reg_a_hi, 16); + code.sar(reg_b_hi, 16); + } else { + code.movzx(reg_a_lo, reg_a_hi.cvt16()); + code.movzx(reg_b_lo, reg_b_hi.cvt16()); + code.shr(reg_a_hi, 16); + code.shr(reg_b_hi, 16); + } + + if (hi_is_sum) { + code.sub(reg_a_lo, reg_b_hi); + code.add(reg_a_hi, reg_b_lo); + reg_diff = reg_a_lo; + reg_sum = reg_a_hi; + } else { + code.add(reg_a_lo, reg_b_hi); + code.sub(reg_a_hi, reg_b_lo); + reg_diff = reg_a_hi; + reg_sum = reg_a_lo; + } + + if (ge_inst) { + // The reg_b registers are no longer required. + const Xbyak::Reg32 ge_sum = reg_b_hi; + const Xbyak::Reg32 ge_diff = reg_b_lo; + + code.mov(ge_sum, reg_sum); + code.mov(ge_diff, reg_diff); + + if (!is_signed) { + code.shl(ge_sum, 15); + code.sar(ge_sum, 31); + } else { + code.not_(ge_sum); + code.sar(ge_sum, 31); + } + code.not_(ge_diff); + code.sar(ge_diff, 31); + code.and_(ge_sum, hi_is_sum ? 0xFFFF0000 : 0x0000FFFF); + code.and_(ge_diff, hi_is_sum ? 0x0000FFFF : 0xFFFF0000); + code.or_(ge_sum, ge_diff); + + ctx.reg_alloc.DefineValue(ge_inst, ge_sum); + ctx.EraseInstruction(ge_inst); + } + + if (is_halving) { + code.shl(reg_a_lo, 15); + code.shr(reg_a_hi, 1); + } else { + code.shl(reg_a_lo, 16); + } + + // reg_a_lo now contains the low word and reg_a_hi now contains the high word. + // Merge them. + code.shld(reg_a_hi, reg_a_lo, 16); + + ctx.reg_alloc.DefineValue(inst, reg_a_hi); +} + +void EmitX64::EmitPackedAddSubU16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedSubAdd(code, ctx, inst, true, false, false); +} + +void EmitX64::EmitPackedAddSubS16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedSubAdd(code, ctx, inst, true, true, false); +} + +void EmitX64::EmitPackedSubAddU16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedSubAdd(code, ctx, inst, false, false, false); +} + +void EmitX64::EmitPackedSubAddS16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedSubAdd(code, ctx, inst, false, true, false); +} + +void EmitX64::EmitPackedHalvingAddSubU16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedSubAdd(code, ctx, inst, true, false, true); +} + +void EmitX64::EmitPackedHalvingAddSubS16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedSubAdd(code, ctx, inst, true, true, true); +} + +void EmitX64::EmitPackedHalvingSubAddU16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedSubAdd(code, ctx, inst, false, false, true); +} + +void EmitX64::EmitPackedHalvingSubAddS16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedSubAdd(code, ctx, inst, false, true, true); +} + +static void EmitPackedOperation(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, void (Xbyak::CodeGenerator::*fn)(const Xbyak::Mmx& mmx, const Xbyak::Operand&)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + (code.*fn)(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedSaturatedAddU8(EmitContext& ctx, IR::Inst* inst) { + EmitPackedOperation(code, ctx, inst, &Xbyak::CodeGenerator::paddusb); +} + +void EmitX64::EmitPackedSaturatedAddS8(EmitContext& ctx, IR::Inst* inst) { + EmitPackedOperation(code, ctx, inst, &Xbyak::CodeGenerator::paddsb); +} + +void EmitX64::EmitPackedSaturatedSubU8(EmitContext& ctx, IR::Inst* inst) { + EmitPackedOperation(code, ctx, inst, &Xbyak::CodeGenerator::psubusb); +} + +void EmitX64::EmitPackedSaturatedSubS8(EmitContext& ctx, IR::Inst* inst) { + EmitPackedOperation(code, ctx, inst, &Xbyak::CodeGenerator::psubsb); +} + +void EmitX64::EmitPackedSaturatedAddU16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedOperation(code, ctx, inst, &Xbyak::CodeGenerator::paddusw); +} + +void EmitX64::EmitPackedSaturatedAddS16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedOperation(code, ctx, inst, &Xbyak::CodeGenerator::paddsw); +} + +void EmitX64::EmitPackedSaturatedSubU16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedOperation(code, ctx, inst, &Xbyak::CodeGenerator::psubusw); +} + +void EmitX64::EmitPackedSaturatedSubS16(EmitContext& ctx, IR::Inst* inst) { + EmitPackedOperation(code, ctx, inst, &Xbyak::CodeGenerator::psubsw); +} + +void EmitX64::EmitPackedAbsDiffSumS8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + // TODO: Optimize with zero-extension detection + code.movaps(tmp, code.MConst(xword, 0xFFFFFFFF)); + code.pand(xmm_a, tmp); + code.pand(xmm_b, tmp); + code.psadbw(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitPackedSelect(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const size_t num_args_in_xmm = args[0].IsInXmm() + args[1].IsInXmm() + args[2].IsInXmm(); + + if (num_args_in_xmm >= 2) { + const Xbyak::Xmm ge = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm to = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm from = ctx.reg_alloc.UseScratchXmm(args[2]); + + code.pand(from, ge); + code.pandn(ge, to); + code.por(from, ge); + + ctx.reg_alloc.DefineValue(inst, from); + } else if (code.HasHostFeature(HostFeature::BMI1)) { + const Xbyak::Reg32 ge = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 to = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + const Xbyak::Reg32 from = ctx.reg_alloc.UseScratchGpr(args[2]).cvt32(); + + code.and_(from, ge); + code.andn(to, ge, to); + code.or_(from, to); + + ctx.reg_alloc.DefineValue(inst, from); + } else { + const Xbyak::Reg32 ge = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 to = ctx.reg_alloc.UseGpr(args[1]).cvt32(); + const Xbyak::Reg32 from = ctx.reg_alloc.UseScratchGpr(args[2]).cvt32(); + + code.and_(from, ge); + code.not_(ge); + code.and_(ge, to); + code.or_(from, ge); + + ctx.reg_alloc.DefineValue(inst, from); + } +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_saturation.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_saturation.cpp new file mode 100755 index 000000000..a4cd2becc --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_saturation.cpp @@ -0,0 +1,315 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +namespace { + +enum class Op { + Add, + Sub, +}; + +template +void EmitSignedSaturatedOp(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + const auto overflow_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + Xbyak::Reg result = ctx.reg_alloc.UseScratchGpr(args[0]).changeBit(size); + Xbyak::Reg addend = ctx.reg_alloc.UseGpr(args[1]).changeBit(size); + Xbyak::Reg overflow = ctx.reg_alloc.ScratchGpr().changeBit(size); + + constexpr u64 int_max = static_cast(std::numeric_limits>::max()); + if constexpr (size < 64) { + code.xor_(overflow.cvt32(), overflow.cvt32()); + code.bt(result.cvt32(), size - 1); + code.adc(overflow.cvt32(), int_max); + } else { + code.mov(overflow, int_max); + code.bt(result, 63); + code.adc(overflow, 0); + } + + // overflow now contains 0x7F... if a was positive, or 0x80... if a was negative + + if constexpr (op == Op::Add) { + code.add(result, addend); + } else { + code.sub(result, addend); + } + + if constexpr (size == 8) { + code.cmovo(result.cvt32(), overflow.cvt32()); + } else { + code.cmovo(result, overflow); + } + + if (overflow_inst) { + code.seto(overflow.cvt8()); + + ctx.reg_alloc.DefineValue(overflow_inst, overflow); + ctx.EraseInstruction(overflow_inst); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +void EmitUnsignedSaturatedOp(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + const auto overflow_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + Xbyak::Reg op_result = ctx.reg_alloc.UseScratchGpr(args[0]).changeBit(size); + Xbyak::Reg addend = ctx.reg_alloc.UseScratchGpr(args[1]).changeBit(size); + + constexpr u64 boundary = op == Op::Add ? std::numeric_limits>::max() : 0; + + if constexpr (op == Op::Add) { + code.add(op_result, addend); + } else { + code.sub(op_result, addend); + } + code.mov(addend, boundary); + if constexpr (size == 8) { + code.cmovae(addend.cvt32(), op_result.cvt32()); + } else { + code.cmovae(addend, op_result); + } + + if (overflow_inst) { + const Xbyak::Reg overflow = ctx.reg_alloc.ScratchGpr(); + code.setb(overflow.cvt8()); + + ctx.reg_alloc.DefineValue(overflow_inst, overflow); + ctx.EraseInstruction(overflow_inst); + } + + ctx.reg_alloc.DefineValue(inst, addend); +} + +} // anonymous namespace + +void EmitX64::EmitSignedSaturatedAdd8(EmitContext& ctx, IR::Inst* inst) { + EmitSignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitSignedSaturatedAdd16(EmitContext& ctx, IR::Inst* inst) { + EmitSignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitSignedSaturatedAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitSignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitSignedSaturatedAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitSignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitSignedSaturatedDoublingMultiplyReturnHigh16(EmitContext& ctx, IR::Inst* inst) { + const auto overflow_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg32 x = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); + const Xbyak::Reg32 y = ctx.reg_alloc.UseScratchGpr(args[1]).cvt32(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.movsx(x, x.cvt16()); + code.movsx(y, y.cvt16()); + + code.imul(x, y); + code.lea(y, ptr[x.cvt64() + x.cvt64()]); + code.mov(tmp, x); + code.shr(tmp, 15); + code.xor_(y, x); + code.mov(y, 0x7FFF); + code.cmovns(y, tmp); + + if (overflow_inst) { + code.sets(tmp.cvt8()); + + ctx.reg_alloc.DefineValue(overflow_inst, tmp); + ctx.EraseInstruction(overflow_inst); + } + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitSignedSaturatedDoublingMultiplyReturnHigh32(EmitContext& ctx, IR::Inst* inst) { + const auto overflow_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Reg64 x = ctx.reg_alloc.UseScratchGpr(args[0]); + const Xbyak::Reg64 y = ctx.reg_alloc.UseScratchGpr(args[1]); + const Xbyak::Reg64 tmp = ctx.reg_alloc.ScratchGpr(); + + code.movsxd(x, x.cvt32()); + code.movsxd(y, y.cvt32()); + + code.imul(x, y); + code.lea(y, ptr[x + x]); + code.mov(tmp, x); + code.shr(tmp, 31); + code.xor_(y, x); + code.mov(y.cvt32(), 0x7FFFFFFF); + code.cmovns(y.cvt32(), tmp.cvt32()); + + if (overflow_inst) { + code.sets(tmp.cvt8()); + + ctx.reg_alloc.DefineValue(overflow_inst, tmp); + ctx.EraseInstruction(overflow_inst); + } + + ctx.reg_alloc.DefineValue(inst, y); +} + +void EmitX64::EmitSignedSaturatedSub8(EmitContext& ctx, IR::Inst* inst) { + EmitSignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitSignedSaturatedSub16(EmitContext& ctx, IR::Inst* inst) { + EmitSignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitSignedSaturatedSub32(EmitContext& ctx, IR::Inst* inst) { + EmitSignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitSignedSaturatedSub64(EmitContext& ctx, IR::Inst* inst) { + EmitSignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitSignedSaturation(EmitContext& ctx, IR::Inst* inst) { + const auto overflow_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const size_t N = args[1].GetImmediateU8(); + ASSERT(N >= 1 && N <= 32); + + if (N == 32) { + if (overflow_inst) { + const auto no_overflow = IR::Value(false); + overflow_inst->ReplaceUsesWith(no_overflow); + } + // TODO: DefineValue directly on Argument + const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 source = ctx.reg_alloc.UseGpr(args[0]); + code.mov(result.cvt32(), source.cvt32()); + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const u32 mask = (1u << N) - 1; + const u32 positive_saturated_value = (1u << (N - 1)) - 1; + const u32 negative_saturated_value = 1u << (N - 1); + + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 reg_a = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 overflow = ctx.reg_alloc.ScratchGpr().cvt32(); + + // overflow now contains a value between 0 and mask if it was originally between {negative,positive}_saturated_value. + code.lea(overflow, code.ptr[reg_a.cvt64() + negative_saturated_value]); + + // Put the appropriate saturated value in result + code.mov(result, reg_a); + code.sar(result, 31); + code.xor_(result, positive_saturated_value); + + // Do the saturation + code.cmp(overflow, mask); + code.cmovbe(result, reg_a); + + if (overflow_inst) { + code.seta(overflow.cvt8()); + + ctx.reg_alloc.DefineValue(overflow_inst, overflow); + ctx.EraseInstruction(overflow_inst); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitUnsignedSaturatedAdd8(EmitContext& ctx, IR::Inst* inst) { + EmitUnsignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitUnsignedSaturatedAdd16(EmitContext& ctx, IR::Inst* inst) { + EmitUnsignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitUnsignedSaturatedAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitUnsignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitUnsignedSaturatedAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitUnsignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitUnsignedSaturatedSub8(EmitContext& ctx, IR::Inst* inst) { + EmitUnsignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitUnsignedSaturatedSub16(EmitContext& ctx, IR::Inst* inst) { + EmitUnsignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitUnsignedSaturatedSub32(EmitContext& ctx, IR::Inst* inst) { + EmitUnsignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitUnsignedSaturatedSub64(EmitContext& ctx, IR::Inst* inst) { + EmitUnsignedSaturatedOp(code, ctx, inst); +} + +void EmitX64::EmitUnsignedSaturation(EmitContext& ctx, IR::Inst* inst) { + const auto overflow_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetOverflowFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const size_t N = args[1].GetImmediateU8(); + ASSERT(N <= 31); + + const u32 saturated_value = (1u << N) - 1; + + const Xbyak::Reg32 result = ctx.reg_alloc.ScratchGpr().cvt32(); + const Xbyak::Reg32 reg_a = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + const Xbyak::Reg32 overflow = ctx.reg_alloc.ScratchGpr().cvt32(); + + // Pseudocode: result = clamp(reg_a, 0, saturated_value); + code.xor_(overflow, overflow); + code.cmp(reg_a, saturated_value); + code.mov(result, saturated_value); + code.cmovle(result, overflow); + code.cmovbe(result, reg_a); + + if (overflow_inst) { + code.seta(overflow.cvt8()); + + ctx.reg_alloc.DefineValue(overflow_inst, overflow); + ctx.EraseInstruction(overflow_inst); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_sm4.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_sm4.cpp new file mode 100755 index 000000000..bee51a80f --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_sm4.cpp @@ -0,0 +1,20 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/crypto/sm4.h" +#include "dynarmic/ir/microinstruction.h" + +namespace Dynarmic::Backend::X64 { + +void EmitX64::EmitSM4AccessSubstitutionBox(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + ctx.reg_alloc.HostCall(inst, args[0]); + code.CallFunction(&Common::Crypto::SM4::AccessSubstitutionBox); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector.cpp new file mode 100755 index 000000000..4615320d4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector.cpp @@ -0,0 +1,5031 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include +#include +#include + +#include + +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/constants.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/math_util.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +template +static void EmitVectorOperation(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Function fn) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + (code.*fn)(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +template +static void EmitAVXVectorOperation(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Function fn) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + (code.*fn)(xmm_a, xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +template +static void EmitOneArgumentFallback(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Lambda lambda) { + const auto fn = static_cast*>(lambda); + constexpr u32 stack_space = 2 * 16; + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm arg1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + + ctx.reg_alloc.HostCall(nullptr); + ctx.reg_alloc.AllocStackSpace(stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + + code.movaps(xword[code.ABI_PARAM2], arg1); + code.CallFunction(fn); + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 0 * 16]); + + ctx.reg_alloc.ReleaseStackSpace(stack_space + ABI_SHADOW_SPACE); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +static void EmitOneArgumentFallbackWithSaturation(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Lambda lambda) { + const auto fn = static_cast*>(lambda); + constexpr u32 stack_space = 2 * 16; + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm arg1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + + ctx.reg_alloc.HostCall(nullptr); + ctx.reg_alloc.AllocStackSpace(stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + + code.movaps(xword[code.ABI_PARAM2], arg1); + code.CallFunction(fn); + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 0 * 16]); + + ctx.reg_alloc.ReleaseStackSpace(stack_space + ABI_SHADOW_SPACE); + + code.or_(code.byte[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], code.ABI_RETURN.cvt8()); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +static void EmitTwoArgumentFallbackWithSaturation(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Lambda lambda) { + const auto fn = static_cast*>(lambda); + constexpr u32 stack_space = 3 * 16; + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm arg1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm arg2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + + ctx.reg_alloc.HostCall(nullptr); + ctx.reg_alloc.AllocStackSpace(stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE + 2 * 16]); + + code.movaps(xword[code.ABI_PARAM2], arg1); + code.movaps(xword[code.ABI_PARAM3], arg2); + code.CallFunction(fn); + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 0 * 16]); + + ctx.reg_alloc.ReleaseStackSpace(stack_space + ABI_SHADOW_SPACE); + + code.or_(code.byte[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], code.ABI_RETURN.cvt8()); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +static void EmitTwoArgumentFallback(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Lambda lambda) { + const auto fn = static_cast*>(lambda); + constexpr u32 stack_space = 3 * 16; + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm arg1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm arg2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + + ctx.reg_alloc.HostCall(nullptr); + ctx.reg_alloc.AllocStackSpace(stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE + 2 * 16]); + + code.movaps(xword[code.ABI_PARAM2], arg1); + code.movaps(xword[code.ABI_PARAM3], arg2); + code.CallFunction(fn); + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 0 * 16]); + + ctx.reg_alloc.ReleaseStackSpace(stack_space + ABI_SHADOW_SPACE); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorGetElement8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[1].IsImmediate()); + const u8 index = args[1].GetImmediateU8(); + + // TODO: DefineValue directly on Argument for index == 0 + + const Xbyak::Xmm source = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Reg32 dest = ctx.reg_alloc.ScratchGpr().cvt32(); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pextrb(dest, source, index); + } else { + code.pextrw(dest, source, index / 2); + if (index % 2 == 1) { + code.shr(dest, 8); + } else { + code.and_(dest, 0xFF); // TODO: Remove when zext handling is corrected + } + } + + ctx.reg_alloc.DefineValue(inst, dest); +} + +void EmitX64::EmitVectorGetElement16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[1].IsImmediate()); + const u8 index = args[1].GetImmediateU8(); + + // TODO: DefineValue directly on Argument for index == 0 + + const Xbyak::Xmm source = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Reg32 dest = ctx.reg_alloc.ScratchGpr().cvt32(); + code.pextrw(dest, source, index); + ctx.reg_alloc.DefineValue(inst, dest); +} + +void EmitX64::EmitVectorGetElement32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[1].IsImmediate()); + const u8 index = args[1].GetImmediateU8(); + + // TODO: DefineValue directly on Argument for index == 0 + + const Xbyak::Reg32 dest = ctx.reg_alloc.ScratchGpr().cvt32(); + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm source = ctx.reg_alloc.UseXmm(args[0]); + code.pextrd(dest, source, index); + } else { + const Xbyak::Xmm source = ctx.reg_alloc.UseScratchXmm(args[0]); + code.pshufd(source, source, index); + code.movd(dest, source); + } + + ctx.reg_alloc.DefineValue(inst, dest); +} + +void EmitX64::EmitVectorGetElement64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[1].IsImmediate()); + const u8 index = args[1].GetImmediateU8(); + + if (index == 0) { + // TODO: DefineValue directly on Argument for index == 0 + const Xbyak::Reg64 dest = ctx.reg_alloc.ScratchGpr().cvt64(); + const Xbyak::Xmm source = ctx.reg_alloc.UseXmm(args[0]); + code.movq(dest, source); + ctx.reg_alloc.DefineValue(inst, dest); + return; + } + + const Xbyak::Reg64 dest = ctx.reg_alloc.ScratchGpr().cvt64(); + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm source = ctx.reg_alloc.UseXmm(args[0]); + code.pextrq(dest, source, 1); + } else { + const Xbyak::Xmm source = ctx.reg_alloc.UseScratchXmm(args[0]); + code.punpckhqdq(source, source); + code.movq(dest, source); + } + + ctx.reg_alloc.DefineValue(inst, dest); +} + +void EmitX64::EmitVectorSetElement8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[1].IsImmediate()); + const u8 index = args[1].GetImmediateU8(); + const Xbyak::Xmm source_vector = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Reg8 source_elem = ctx.reg_alloc.UseGpr(args[2]).cvt8(); + + code.pinsrb(source_vector, source_elem.cvt32(), index); + + ctx.reg_alloc.DefineValue(inst, source_vector); + } else { + const Xbyak::Reg32 source_elem = ctx.reg_alloc.UseScratchGpr(args[2]).cvt32(); + const Xbyak::Reg32 tmp = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.pextrw(tmp, source_vector, index / 2); + if (index % 2 == 0) { + code.and_(tmp, 0xFF00); + code.and_(source_elem, 0x00FF); + code.or_(tmp, source_elem); + } else { + code.and_(tmp, 0x00FF); + code.shl(source_elem, 8); + code.or_(tmp, source_elem); + } + code.pinsrw(source_vector, tmp, index / 2); + + ctx.reg_alloc.DefineValue(inst, source_vector); + } +} + +void EmitX64::EmitVectorSetElement16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[1].IsImmediate()); + const u8 index = args[1].GetImmediateU8(); + + const Xbyak::Xmm source_vector = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Reg16 source_elem = ctx.reg_alloc.UseGpr(args[2]).cvt16(); + + code.pinsrw(source_vector, source_elem.cvt32(), index); + + ctx.reg_alloc.DefineValue(inst, source_vector); +} + +void EmitX64::EmitVectorSetElement32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[1].IsImmediate()); + const u8 index = args[1].GetImmediateU8(); + const Xbyak::Xmm source_vector = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Reg32 source_elem = ctx.reg_alloc.UseGpr(args[2]).cvt32(); + + code.pinsrd(source_vector, source_elem, index); + + ctx.reg_alloc.DefineValue(inst, source_vector); + } else { + const Xbyak::Reg32 source_elem = ctx.reg_alloc.UseScratchGpr(args[2]).cvt32(); + + code.pinsrw(source_vector, source_elem, index * 2); + code.shr(source_elem, 16); + code.pinsrw(source_vector, source_elem, index * 2 + 1); + + ctx.reg_alloc.DefineValue(inst, source_vector); + } +} + +void EmitX64::EmitVectorSetElement64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + ASSERT(args[1].IsImmediate()); + const u8 index = args[1].GetImmediateU8(); + const Xbyak::Xmm source_vector = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Reg64 source_elem = ctx.reg_alloc.UseGpr(args[2]); + + code.pinsrq(source_vector, source_elem, index); + + ctx.reg_alloc.DefineValue(inst, source_vector); + } else { + const Xbyak::Reg64 source_elem = ctx.reg_alloc.UseGpr(args[2]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movq(tmp, source_elem); + + if (index == 0) { + code.movsd(source_vector, tmp); + } else { + code.punpcklqdq(source_vector, tmp); + } + + ctx.reg_alloc.DefineValue(inst, source_vector); + } +} + +static void VectorAbs8(BlockOfCode& code, EmitContext& ctx, const Xbyak::Xmm& data) { + if (code.HasHostFeature(HostFeature::SSSE3)) { + code.pabsb(data, data); + } else { + const Xbyak::Xmm temp = ctx.reg_alloc.ScratchXmm(); + code.pxor(temp, temp); + code.psubb(temp, data); + code.pminub(data, temp); + } +} + +static void VectorAbs16(BlockOfCode& code, EmitContext& ctx, const Xbyak::Xmm& data) { + if (code.HasHostFeature(HostFeature::SSSE3)) { + code.pabsw(data, data); + } else { + const Xbyak::Xmm temp = ctx.reg_alloc.ScratchXmm(); + code.pxor(temp, temp); + code.psubw(temp, data); + code.pmaxsw(data, temp); + } +} + +static void VectorAbs32(BlockOfCode& code, EmitContext& ctx, const Xbyak::Xmm& data) { + if (code.HasHostFeature(HostFeature::SSSE3)) { + code.pabsd(data, data); + } else { + const Xbyak::Xmm temp = ctx.reg_alloc.ScratchXmm(); + code.movdqa(temp, data); + code.psrad(temp, 31); + code.pxor(data, temp); + code.psubd(data, temp); + } +} + +static void VectorAbs64(BlockOfCode& code, EmitContext& ctx, const Xbyak::Xmm& data) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + code.vpabsq(data, data); + } else { + const Xbyak::Xmm temp = ctx.reg_alloc.ScratchXmm(); + code.pshufd(temp, data, 0b11110101); + code.psrad(temp, 31); + code.pxor(data, temp); + code.psubq(data, temp); + } +} + +static void EmitVectorAbs(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + + switch (esize) { + case 8: + VectorAbs8(code, ctx, data); + break; + case 16: + VectorAbs16(code, ctx, data); + break; + case 32: + VectorAbs32(code, ctx, data); + break; + case 64: + VectorAbs64(code, ctx, data); + break; + } + + ctx.reg_alloc.DefineValue(inst, data); +} + +void EmitX64::EmitVectorAbs8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorAbs(8, ctx, inst, code); +} + +void EmitX64::EmitVectorAbs16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorAbs(16, ctx, inst, code); +} + +void EmitX64::EmitVectorAbs32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorAbs(32, ctx, inst, code); +} + +void EmitX64::EmitVectorAbs64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorAbs(64, ctx, inst, code); +} + +void EmitX64::EmitVectorAdd8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::paddb); +} + +void EmitX64::EmitVectorAdd16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::paddw); +} + +void EmitX64::EmitVectorAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::paddd); +} + +void EmitX64::EmitVectorAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::paddq); +} + +void EmitX64::EmitVectorAnd(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pand); +} + +static void ArithmeticShiftRightByte(EmitContext& ctx, BlockOfCode& code, const Xbyak::Xmm& result, u8 shift_amount) { + if (code.HasHostFeature(HostFeature::AVX512VL | HostFeature::GFNI)) { + const u64 shift_matrix = shift_amount < 8 + ? (0x0102040810204080 << (shift_amount * 8)) | (0x8080808080808080 >> (64 - shift_amount * 8)) + : 0x8080808080808080; + code.vgf2p8affineqb(result, result, code.MConst(xword_b, shift_matrix), 0); + return; + } + + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.punpckhbw(tmp, result); + code.punpcklbw(result, result); + code.psraw(tmp, 8 + shift_amount); + code.psraw(result, 8 + shift_amount); + code.packsswb(result, tmp); +} + +void EmitX64::EmitVectorArithmeticShiftRight8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + ArithmeticShiftRightByte(ctx, code, result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorArithmeticShiftRight16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + code.psraw(result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorArithmeticShiftRight32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + code.psrad(result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorArithmeticShiftRight64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = std::min(args[1].GetImmediateU8(), u8(63)); + + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + code.vpsraq(result, result, shift_amount); + } else { + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + + const u64 sign_bit = 0x80000000'00000000u >> shift_amount; + + code.pxor(tmp2, tmp2); + code.psrlq(result, shift_amount); + code.movdqa(tmp1, code.MConst(xword, sign_bit, sign_bit)); + code.pand(tmp1, result); + code.psubq(tmp2, tmp1); + code.por(result, tmp2); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +static constexpr T VShift(T x, T y) { + const s8 shift_amount = static_cast(static_cast(y)); + const s64 bit_size = static_cast(Common::BitSize()); + + if constexpr (std::is_signed_v) { + if (shift_amount >= bit_size) { + return 0; + } + + if (shift_amount <= -bit_size) { + // Parentheses necessary, as MSVC doesn't appear to consider cast parentheses + // as a grouping in terms of precedence, causing warning C4554 to fire. See: + // https://developercommunity.visualstudio.com/content/problem/144783/msvc-2017-does-not-understand-that-static-cast-cou.html + return x >> (T(bit_size - 1)); + } + } else if (shift_amount <= -bit_size || shift_amount >= bit_size) { + return 0; + } + + if (shift_amount < 0) { + return x >> T(-shift_amount); + } + + using unsigned_type = std::make_unsigned_t; + return static_cast(static_cast(x) << static_cast(shift_amount)); +} + +void EmitX64::EmitVectorArithmeticVShift8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), VShift); + }); +} + +void EmitX64::EmitVectorArithmeticVShift16(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512BW)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm left_shift = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm right_shift = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vmovdqa(tmp, code.MConst(xword, 0x00FF00FF00FF00FF, 0x00FF00FF00FF00FF)); + code.vpxor(right_shift, right_shift, right_shift); + code.vpsubw(right_shift, right_shift, left_shift); + + code.vpsllw(xmm0, left_shift, 8); + code.vpsraw(xmm0, xmm0, 15); + + code.vpand(right_shift, right_shift, tmp); + code.vpand(left_shift, left_shift, tmp); + + code.vpsravw(tmp, result, right_shift); + code.vpsllvw(result, result, left_shift); + code.pblendvb(result, tmp); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), VShift); + }); +} + +void EmitX64::EmitVectorArithmeticVShift32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX2)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm left_shift = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm right_shift = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vmovdqa(tmp, code.MConst(xword, 0x000000FF000000FF, 0x000000FF000000FF)); + code.vpxor(right_shift, right_shift, right_shift); + code.vpsubd(right_shift, right_shift, left_shift); + + code.vpslld(xmm0, left_shift, 24); + + code.vpand(right_shift, right_shift, tmp); + code.vpand(left_shift, left_shift, tmp); + + code.vpsravd(tmp, result, right_shift); + code.vpsllvd(result, result, left_shift); + code.blendvps(result, tmp); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), VShift); + }); +} + +void EmitX64::EmitVectorArithmeticVShift64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm left_shift = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm right_shift = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vmovdqa(tmp, code.MConst(xword, 0x00000000000000FF, 0x00000000000000FF)); + code.vpxor(right_shift, right_shift, right_shift); + code.vpsubq(right_shift, right_shift, left_shift); + + code.vpsllq(xmm0, left_shift, 56); + + code.vpand(right_shift, right_shift, tmp); + code.vpand(left_shift, left_shift, tmp); + + code.vpsravq(tmp, result, right_shift); + code.vpsllvq(result, result, left_shift); + code.blendvpd(result, tmp); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), VShift); + }); +} + +void EmitX64::EmitVectorBroadcastLower8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::AVX2)) { + code.vpbroadcastb(a, a); + code.vmovq(a, a); + } else if (code.HasHostFeature(HostFeature::SSSE3)) { + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.pxor(tmp, tmp); + code.pshufb(a, tmp); + code.movq(a, a); + } else { + code.punpcklbw(a, a); + code.pshuflw(a, a, 0); + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorBroadcastLower16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.pshuflw(a, a, 0); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorBroadcastLower32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.pshuflw(a, a, 0b01000100); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorBroadcast8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::AVX2)) { + code.vpbroadcastb(a, a); + } else if (code.HasHostFeature(HostFeature::SSSE3)) { + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.pxor(tmp, tmp); + code.pshufb(a, tmp); + } else { + code.punpcklbw(a, a); + code.pshuflw(a, a, 0); + code.punpcklqdq(a, a); + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorBroadcast16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::AVX2)) { + code.vpbroadcastw(a, a); + } else { + code.pshuflw(a, a, 0); + code.punpcklqdq(a, a); + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorBroadcast32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::AVX2)) { + code.vpbroadcastd(a, a); + } else { + code.pshufd(a, a, 0); + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorBroadcast64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::AVX2)) { + code.vpbroadcastq(a, a); + } else { + code.punpcklqdq(a, a); + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +template +static void EmitVectorCountLeadingZeros(VectorArray& result, const VectorArray& data) { + for (size_t i = 0; i < result.size(); i++) { + T element = data[i]; + + size_t count = Common::BitSize(); + while (element != 0) { + element >>= 1; + --count; + } + + result[i] = static_cast(count); + } +} + +void EmitX64::EmitVectorCountLeadingZeros8(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSSE3)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp1, code.MConst(xword, 0x0101010102020304, 0x0000000000000000)); + code.movdqa(tmp2, tmp1); + + code.pshufb(tmp2, data); + code.psrlw(data, 4); + code.pand(data, code.MConst(xword, 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F)); + code.pshufb(tmp1, data); + + code.movdqa(data, code.MConst(xword, 0x0404040404040404, 0x0404040404040404)); + + code.pcmpeqb(data, tmp1); + code.pand(data, tmp2); + code.paddb(data, tmp1); + + ctx.reg_alloc.DefineValue(inst, data); + return; + } + + EmitOneArgumentFallback(code, ctx, inst, EmitVectorCountLeadingZeros); +} + +void EmitX64::EmitVectorCountLeadingZeros16(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vpsrlw(tmp, data, 1); + code.vpor(data, data, tmp); + code.vpsrlw(tmp, data, 2); + code.vpor(data, data, tmp); + code.vpsrlw(tmp, data, 4); + code.vpor(data, data, tmp); + code.vpsrlw(tmp, data, 8); + code.vpor(data, data, tmp); + code.vpcmpeqw(zeros, zeros, zeros); + code.vpcmpeqw(tmp, tmp, tmp); + code.vpcmpeqw(zeros, zeros, data); + code.vpmullw(data, data, code.MConst(xword, 0xf0d3f0d3f0d3f0d3, 0xf0d3f0d3f0d3f0d3)); + code.vpsllw(tmp, tmp, 15); + code.vpsllw(zeros, zeros, 7); + code.vpsrlw(data, data, 12); + code.vmovdqa(result, code.MConst(xword, 0x0903060a040b0c10, 0x0f080e0207050d01)); + code.vpor(tmp, tmp, zeros); + code.vpor(data, data, tmp); + code.vpshufb(result, result, data); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::SSSE3)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, data); + code.psrlw(tmp, 1); + code.por(data, tmp); + code.movdqa(tmp, data); + code.psrlw(tmp, 2); + code.por(data, tmp); + code.movdqa(tmp, data); + code.psrlw(tmp, 4); + code.por(data, tmp); + code.movdqa(tmp, data); + code.psrlw(tmp, 8); + code.por(data, tmp); + code.pcmpeqw(zeros, zeros); + code.pcmpeqw(tmp, tmp); + code.pcmpeqw(zeros, data); + code.pmullw(data, code.MConst(xword, 0xf0d3f0d3f0d3f0d3, 0xf0d3f0d3f0d3f0d3)); + code.psllw(tmp, 15); + code.psllw(zeros, 7); + code.psrlw(data, 12); + code.movdqa(result, code.MConst(xword, 0x0903060a040b0c10, 0x0f080e0207050d01)); + code.por(tmp, zeros); + code.por(data, tmp); + code.pshufb(result, data); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitOneArgumentFallback(code, ctx, inst, EmitVectorCountLeadingZeros); +} + +void EmitX64::EmitVectorCountLeadingZeros32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512CD)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + code.vplzcntd(data, data); + + ctx.reg_alloc.DefineValue(inst, data); + return; + } + + EmitOneArgumentFallback(code, ctx, inst, EmitVectorCountLeadingZeros); +} + +void EmitX64::EmitVectorDeinterleaveEven8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, code.MConst(xword, 0x00FF00FF00FF00FF, 0x00FF00FF00FF00FF)); + code.pand(lhs, tmp); + code.pand(rhs, tmp); + code.packuswb(lhs, rhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveEven16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.pslld(lhs, 16); + code.psrad(lhs, 16); + + code.pslld(rhs, 16); + code.psrad(rhs, 16); + + code.packssdw(lhs, rhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveEven32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseXmm(args[1]); + + code.shufps(lhs, rhs, 0b10001000); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveEven64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseXmm(args[1]); + + code.shufpd(lhs, rhs, 0b00); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveEvenLower8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, code.MConst(xword, 0x00FF00FF00FF00FF, 0x00FF00FF00FF00FF)); + code.pand(lhs, tmp); + code.pand(rhs, tmp); + code.packuswb(lhs, rhs); + code.pshufd(lhs, lhs, 0b11011000); + code.movq(lhs, lhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveEvenLower16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.pslld(lhs, 16); + code.psrad(lhs, 16); + + code.pslld(rhs, 16); + code.psrad(rhs, 16); + + code.packssdw(lhs, rhs); + code.pshufd(lhs, lhs, 0b11011000); + code.movq(lhs, lhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveEvenLower32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseXmm(args[1]); + + code.unpcklps(lhs, rhs); + code.movq(lhs, lhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveEvenLower64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + [[maybe_unused]] const Xbyak::Xmm rhs = ctx.reg_alloc.UseXmm(args[1]); + + code.movq(lhs, lhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveOdd8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.psraw(lhs, 8); + code.psraw(rhs, 8); + code.packsswb(lhs, rhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveOdd16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.psrad(lhs, 16); + code.psrad(rhs, 16); + code.packssdw(lhs, rhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveOdd32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseXmm(args[1]); + + code.shufps(lhs, rhs, 0b11011101); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveOdd64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseXmm(args[1]); + + code.shufpd(lhs, rhs, 0b11); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveOddLower8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.psraw(lhs, 8); + code.psraw(rhs, 8); + code.packsswb(lhs, rhs); + code.pshufd(lhs, lhs, 0b11011000); + code.movq(lhs, lhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveOddLower16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.psrad(lhs, 16); + code.psrad(rhs, 16); + code.packssdw(lhs, rhs); + code.pshufd(lhs, lhs, 0b11011000); + code.movq(lhs, lhs); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveOddLower32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm lhs = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm zero = ctx.reg_alloc.ScratchXmm(); + + code.xorps(zero, zero); + code.unpcklps(lhs, rhs); + code.unpckhpd(lhs, zero); + + ctx.reg_alloc.DefineValue(inst, lhs); +} + +void EmitX64::EmitVectorDeinterleaveOddLower64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + [[maybe_unused]] const Xbyak::Xmm lhs = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm rhs = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.movq(rhs, rhs); + + ctx.reg_alloc.DefineValue(inst, rhs); +} + +void EmitX64::EmitVectorEor(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pxor); +} + +void EmitX64::EmitVectorEqual8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pcmpeqb); +} + +void EmitX64::EmitVectorEqual16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pcmpeqw); +} + +void EmitX64::EmitVectorEqual32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pcmpeqd); +} + +void EmitX64::EmitVectorEqual64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pcmpeqq); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.pcmpeqd(xmm_a, xmm_b); + code.pshufd(tmp, xmm_a, 0b10110001); + code.pand(xmm_a, tmp); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitVectorEqual128(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.pcmpeqq(xmm_a, xmm_b); + code.pshufd(tmp, xmm_a, 0b01001110); + code.pand(xmm_a, tmp); + + ctx.reg_alloc.DefineValue(inst, xmm_a); + } else { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.pcmpeqd(xmm_a, xmm_b); + code.pshufd(tmp, xmm_a, 0b10110001); + code.pand(xmm_a, tmp); + code.pshufd(tmp, xmm_a, 0b01001110); + code.pand(xmm_a, tmp); + + ctx.reg_alloc.DefineValue(inst, xmm_a); + } +} + +void EmitX64::EmitVectorExtract(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const u8 position = args[2].GetImmediateU8(); + ASSERT(position % 8 == 0); + + if (position == 0) { + ctx.reg_alloc.DefineValue(inst, args[0]); + return; + } + + if (code.HasHostFeature(HostFeature::SSSE3)) { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.palignr(xmm_b, xmm_a, position / 8); + ctx.reg_alloc.DefineValue(inst, xmm_b); + return; + } + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.psrldq(xmm_a, position / 8); + code.pslldq(xmm_b, (128 - position) / 8); + code.por(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitVectorExtractLower(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + + const u8 position = args[2].GetImmediateU8(); + ASSERT(position % 8 == 0); + + if (position != 0) { + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + code.punpcklqdq(xmm_a, xmm_b); + code.psrldq(xmm_a, position / 8); + } + code.movq(xmm_a, xmm_a); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitVectorGreaterS8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pcmpgtb); +} + +void EmitX64::EmitVectorGreaterS16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pcmpgtw); +} + +void EmitX64::EmitVectorGreaterS32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pcmpgtd); +} + +void EmitX64::EmitVectorGreaterS64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE42)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pcmpgtq); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + for (size_t i = 0; i < result.size(); ++i) { + result[i] = (a[i] > b[i]) ? ~u64(0) : 0; + } + }); +} + +static void EmitVectorHalvingAddSigned(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, b); + code.pand(tmp, a); + code.pxor(a, b); + + switch (esize) { + case 8: + ArithmeticShiftRightByte(ctx, code, a, 1); + code.paddb(a, tmp); + break; + case 16: + code.psraw(a, 1); + code.paddw(a, tmp); + break; + case 32: + code.psrad(a, 1); + code.paddd(a, tmp); + break; + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorHalvingAddS8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingAddSigned(8, ctx, inst, code); +} + +void EmitX64::EmitVectorHalvingAddS16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingAddSigned(16, ctx, inst, code); +} + +void EmitX64::EmitVectorHalvingAddS32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingAddSigned(32, ctx, inst, code); +} + +static void EmitVectorHalvingAddUnsigned(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, b); + + switch (esize) { + case 8: + code.pavgb(tmp, a); + code.pxor(a, b); + code.pand(a, code.MConst(xword, 0x0101010101010101, 0x0101010101010101)); + code.psubb(tmp, a); + break; + case 16: + code.pavgw(tmp, a); + code.pxor(a, b); + code.pand(a, code.MConst(xword, 0x0001000100010001, 0x0001000100010001)); + code.psubw(tmp, a); + break; + case 32: + code.pand(tmp, a); + code.pxor(a, b); + code.psrld(a, 1); + code.paddd(tmp, a); + break; + } + + ctx.reg_alloc.DefineValue(inst, tmp); +} + +void EmitX64::EmitVectorHalvingAddU8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingAddUnsigned(8, ctx, inst, code); +} + +void EmitX64::EmitVectorHalvingAddU16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingAddUnsigned(16, ctx, inst, code); +} + +void EmitX64::EmitVectorHalvingAddU32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingAddUnsigned(32, ctx, inst, code); +} + +static void EmitVectorHalvingSubSigned(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + switch (esize) { + case 8: { + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp, code.MConst(xword, 0x8080808080808080, 0x8080808080808080)); + code.pxor(a, tmp); + code.pxor(b, tmp); + code.pavgb(b, a); + code.psubb(a, b); + break; + } + case 16: { + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp, code.MConst(xword, 0x8000800080008000, 0x8000800080008000)); + code.pxor(a, tmp); + code.pxor(b, tmp); + code.pavgw(b, a); + code.psubw(a, b); + break; + } + case 32: + code.pxor(a, b); + code.pand(b, a); + code.psrad(a, 1); + code.psubd(a, b); + break; + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorHalvingSubS8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingSubSigned(8, ctx, inst, code); +} + +void EmitX64::EmitVectorHalvingSubS16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingSubSigned(16, ctx, inst, code); +} + +void EmitX64::EmitVectorHalvingSubS32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingSubSigned(32, ctx, inst, code); +} + +static void EmitVectorHalvingSubUnsigned(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + switch (esize) { + case 8: + code.pavgb(b, a); + code.psubb(a, b); + break; + case 16: + code.pavgw(b, a); + code.psubw(a, b); + break; + case 32: + code.pxor(a, b); + code.pand(b, a); + code.psrld(a, 1); + code.psubd(a, b); + break; + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorHalvingSubU8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingSubUnsigned(8, ctx, inst, code); +} + +void EmitX64::EmitVectorHalvingSubU16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingSubUnsigned(16, ctx, inst, code); +} + +void EmitX64::EmitVectorHalvingSubU32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorHalvingSubUnsigned(32, ctx, inst, code); +} + +static void EmitVectorInterleaveLower(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, int size) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + switch (size) { + case 8: + code.punpcklbw(a, b); + break; + case 16: + code.punpcklwd(a, b); + break; + case 32: + code.punpckldq(a, b); + break; + case 64: + code.punpcklqdq(a, b); + break; + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorInterleaveLower8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorInterleaveLower(code, ctx, inst, 8); +} + +void EmitX64::EmitVectorInterleaveLower16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorInterleaveLower(code, ctx, inst, 16); +} + +void EmitX64::EmitVectorInterleaveLower32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorInterleaveLower(code, ctx, inst, 32); +} + +void EmitX64::EmitVectorInterleaveLower64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorInterleaveLower(code, ctx, inst, 64); +} + +static void EmitVectorInterleaveUpper(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, int size) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + switch (size) { + case 8: + code.punpckhbw(a, b); + break; + case 16: + code.punpckhwd(a, b); + break; + case 32: + code.punpckhdq(a, b); + break; + case 64: + code.punpckhqdq(a, b); + break; + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorInterleaveUpper8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorInterleaveUpper(code, ctx, inst, 8); +} + +void EmitX64::EmitVectorInterleaveUpper16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorInterleaveUpper(code, ctx, inst, 16); +} + +void EmitX64::EmitVectorInterleaveUpper32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorInterleaveUpper(code, ctx, inst, 32); +} + +void EmitX64::EmitVectorInterleaveUpper64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorInterleaveUpper(code, ctx, inst, 64); +} + +void EmitX64::EmitVectorLogicalShiftLeft8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + if (shift_amount == 0) { + // do nothing + } else if (shift_amount >= 8) { + code.pxor(result, result); + } else if (shift_amount == 1) { + code.paddb(result, result); + } else if (code.HasHostFeature(HostFeature::AVX512VL | HostFeature::GFNI)) { + const u64 shift_matrix = 0x0102040810204080 >> (shift_amount * 8); + code.vgf2p8affineqb(result, result, code.MConst(xword_b, shift_matrix), 0); + } else { + const u64 replicand = (0xFFULL << shift_amount) & 0xFF; + const u64 mask = Common::Replicate(replicand, Common::BitSize()); + + code.psllw(result, shift_amount); + code.pand(result, code.MConst(xword, mask, mask)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorLogicalShiftLeft16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + code.psllw(result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorLogicalShiftLeft32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + code.pslld(result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorLogicalShiftLeft64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + code.psllq(result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorLogicalShiftRight8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + if (shift_amount == 0) { + // Do nothing + } else if (shift_amount >= 8) { + code.pxor(result, result); + } else if (code.HasHostFeature(HostFeature::AVX512VL | HostFeature::GFNI)) { + const u64 shift_matrix = 0x0102040810204080 << (shift_amount * 8); + code.vgf2p8affineqb(result, result, code.MConst(xword_b, shift_matrix), 0); + } else { + const u64 replicand = 0xFEULL >> shift_amount; + const u64 mask = Common::Replicate(replicand, Common::BitSize()); + + code.psrlw(result, shift_amount); + code.pand(result, code.MConst(xword, mask, mask)); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorLogicalShiftRight16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + code.psrlw(result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorLogicalShiftRight32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + code.psrld(result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorLogicalShiftRight64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const u8 shift_amount = args[1].GetImmediateU8(); + + code.psrlq(result, shift_amount); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorLogicalVShift8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), VShift); + }); +} + +void EmitX64::EmitVectorLogicalVShift16(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512BW)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm left_shift = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm right_shift = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vmovdqa(tmp, code.MConst(xword, 0x00FF00FF00FF00FF, 0x00FF00FF00FF00FF)); + code.vpxor(right_shift, right_shift, right_shift); + code.vpsubw(right_shift, right_shift, left_shift); + code.vpand(left_shift, left_shift, tmp); + code.vpand(right_shift, right_shift, tmp); + + code.vpsllvw(tmp, result, left_shift); + code.vpsrlvw(result, result, right_shift); + code.vpor(result, result, tmp); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), VShift); + }); +} + +void EmitX64::EmitVectorLogicalVShift32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX2)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm left_shift = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm right_shift = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vmovdqa(tmp, code.MConst(xword, 0x000000FF000000FF, 0x000000FF000000FF)); + code.vpxor(right_shift, right_shift, right_shift); + code.vpsubd(right_shift, right_shift, left_shift); + code.vpand(left_shift, left_shift, tmp); + code.vpand(right_shift, right_shift, tmp); + + code.vpsllvd(tmp, result, left_shift); + code.vpsrlvd(result, result, right_shift); + code.vpor(result, result, tmp); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), VShift); + }); +} + +void EmitX64::EmitVectorLogicalVShift64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX2)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm left_shift = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm right_shift = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vmovdqa(tmp, code.MConst(xword, 0x00000000000000FF, 0x00000000000000FF)); + code.vpxor(right_shift, right_shift, right_shift); + code.vpsubq(right_shift, right_shift, left_shift); + code.vpand(left_shift, left_shift, tmp); + code.vpand(right_shift, right_shift, tmp); + + code.vpsllvq(tmp, result, left_shift); + code.vpsrlvq(result, result, right_shift); + code.vpor(result, result, tmp); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), VShift); + }); +} + +void EmitX64::EmitVectorMaxS8(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pmaxsb); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp_b, b); + + code.pcmpgtb(tmp_b, a); + code.pand(b, tmp_b); + code.pandn(tmp_b, a); + code.por(tmp_b, b); + + ctx.reg_alloc.DefineValue(inst, tmp_b); +} + +void EmitX64::EmitVectorMaxS16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pmaxsw); +} + +void EmitX64::EmitVectorMaxS32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pmaxsd); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp_b, b); + + code.pcmpgtd(tmp_b, a); + code.pand(b, tmp_b); + code.pandn(tmp_b, a); + code.por(tmp_b, b); + + ctx.reg_alloc.DefineValue(inst, tmp_b); +} + +void EmitX64::EmitVectorMaxS64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + EmitAVXVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::vpmaxsq); + return; + } + + if (code.HasHostFeature(HostFeature::AVX)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + + code.vpcmpgtq(xmm0, y, x); + code.pblendvb(x, y); + + ctx.reg_alloc.DefineValue(inst, x); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), [](auto x, auto y) { return std::max(x, y); }); + }); +} + +void EmitX64::EmitVectorMaxU8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pmaxub); +} + +void EmitX64::EmitVectorMaxU16(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pmaxuw); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + code.psubusw(a, b); + code.paddw(a, b); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorMaxU32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pmaxud); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp_b, b); + + code.pxor(tmp_b, tmp); + code.pxor(tmp, a); + + code.pcmpgtd(tmp, tmp_b); + code.pand(a, tmp); + code.pandn(tmp, b); + code.por(a, tmp); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorMaxU64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + EmitAVXVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::vpmaxuq); + return; + } + + if (code.HasHostFeature(HostFeature::AVX)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vmovdqa(xmm0, code.MConst(xword, 0x8000000000000000, 0x8000000000000000)); + code.vpsubq(tmp, y, xmm0); + code.vpsubq(xmm0, x, xmm0); + code.vpcmpgtq(xmm0, tmp, xmm0); + code.pblendvb(x, y); + + ctx.reg_alloc.DefineValue(inst, x); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), [](auto x, auto y) { return std::max(x, y); }); + }); +} + +void EmitX64::EmitVectorMinS8(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pminsb); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp_b, b); + + code.pcmpgtb(tmp_b, a); + code.pand(a, tmp_b); + code.pandn(tmp_b, b); + code.por(a, tmp_b); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorMinS16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pminsw); +} + +void EmitX64::EmitVectorMinS32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pminsd); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp_b, b); + + code.pcmpgtd(tmp_b, a); + code.pand(a, tmp_b); + code.pandn(tmp_b, b); + code.por(a, tmp_b); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorMinS64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + EmitAVXVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::vpminsq); + return; + } + + if (code.HasHostFeature(HostFeature::AVX)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.vpcmpgtq(xmm0, y, x); + code.pblendvb(y, x); + + ctx.reg_alloc.DefineValue(inst, y); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), [](auto x, auto y) { return std::min(x, y); }); + }); +} + +void EmitX64::EmitVectorMinU8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pminub); +} + +void EmitX64::EmitVectorMinU16(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pminuw); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp_b, b); + + code.psubusw(tmp_b, a); + code.psubw(b, tmp_b); + + ctx.reg_alloc.DefineValue(inst, b); +} + +void EmitX64::EmitVectorMinU32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pminud); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + const Xbyak::Xmm sint_max_plus_one = ctx.reg_alloc.ScratchXmm(); + code.movdqa(sint_max_plus_one, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + + const Xbyak::Xmm tmp_a = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp_a, a); + code.psubd(tmp_a, sint_max_plus_one); + + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp_b, b); + code.psubd(tmp_b, sint_max_plus_one); + + code.pcmpgtd(tmp_b, tmp_a); + code.pand(a, tmp_b); + code.pandn(tmp_b, b); + code.por(a, tmp_b); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorMinU64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + EmitAVXVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::vpminuq); + return; + } + + if (code.HasHostFeature(HostFeature::AVX)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.vmovdqa(xmm0, code.MConst(xword, 0x8000000000000000, 0x8000000000000000)); + code.vpsubq(tmp, y, xmm0); + code.vpsubq(xmm0, x, xmm0); + code.vpcmpgtq(xmm0, tmp, xmm0); + code.pblendvb(y, x); + + ctx.reg_alloc.DefineValue(inst, y); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), [](auto x, auto y) { return std::min(x, y); }); + }); +} + +void EmitX64::EmitVectorMultiply8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp_a = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp_b = ctx.reg_alloc.ScratchXmm(); + + // TODO: Optimize + code.movdqa(tmp_a, a); + code.movdqa(tmp_b, b); + code.pmullw(a, b); + code.psrlw(tmp_a, 8); + code.psrlw(tmp_b, 8); + code.pmullw(tmp_a, tmp_b); + code.pand(a, code.MConst(xword, 0x00FF00FF00FF00FF, 0x00FF00FF00FF00FF)); + code.psllw(tmp_a, 8); + code.por(a, tmp_a); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorMultiply16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pmullw); +} + +void EmitX64::EmitVectorMultiply32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pmulld); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, a); + code.psrlq(a, 32); + code.pmuludq(tmp, b); + code.psrlq(b, 32); + code.pmuludq(a, b); + code.pshufd(tmp, tmp, 0b00001000); + code.pshufd(b, a, 0b00001000); + code.punpckldq(tmp, b); + + ctx.reg_alloc.DefineValue(inst, tmp); +} + +void EmitX64::EmitVectorMultiply64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512DQ)) { + EmitAVXVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::vpmullq); + return; + } + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Reg64 tmp1 = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 tmp2 = ctx.reg_alloc.ScratchGpr(); + + code.movq(tmp1, a); + code.movq(tmp2, b); + code.imul(tmp2, tmp1); + code.pextrq(tmp1, a, 1); + code.movq(a, tmp2); + code.pextrq(tmp2, b, 1); + code.imul(tmp1, tmp2); + code.pinsrq(a, tmp1, 1); + + ctx.reg_alloc.DefineValue(inst, a); + return; + } + + const Xbyak::Xmm a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp3 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp1, a); + code.movdqa(tmp2, a); + code.movdqa(tmp3, b); + + code.psrlq(tmp1, 32); + code.psrlq(tmp3, 32); + + code.pmuludq(tmp2, b); + code.pmuludq(tmp3, a); + code.pmuludq(b, tmp1); + + code.paddq(b, tmp3); + code.psllq(b, 32); + code.paddq(tmp2, b); + + ctx.reg_alloc.DefineValue(inst, tmp2); +} + +void EmitX64::EmitVectorNarrow16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512BW)) { + const Xbyak::Xmm a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vpmovwb(result, a); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + + code.pxor(zeros, zeros); + code.pand(a, code.MConst(xword, 0x00FF00FF00FF00FF, 0x00FF00FF00FF00FF)); + code.packuswb(a, zeros); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorNarrow32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + const Xbyak::Xmm a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vpmovdw(result, a); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + + code.pxor(zeros, zeros); + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pblendw(a, zeros, 0b10101010); + code.packusdw(a, zeros); + } else { + code.pslld(a, 16); + code.psrad(a, 16); + code.packssdw(a, zeros); + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorNarrow64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + const Xbyak::Xmm a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vpmovqd(result, a); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + + code.pxor(zeros, zeros); + code.shufps(a, zeros, 0b00001000); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorNot(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.ScratchXmm(); + + code.pcmpeqw(xmm_b, xmm_b); + code.pxor(xmm_a, xmm_b); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitVectorOr(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::por); +} + +void EmitX64::EmitVectorPairedAddLower8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.punpcklqdq(xmm_a, xmm_b); + code.movdqa(tmp, xmm_a); + code.psllw(xmm_a, 8); + code.paddw(xmm_a, tmp); + code.pxor(tmp, tmp); + code.psrlw(xmm_a, 8); + code.packuswb(xmm_a, tmp); + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitVectorPairedAddLower16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.punpcklqdq(xmm_a, xmm_b); + if (code.HasHostFeature(HostFeature::SSSE3)) { + code.pxor(tmp, tmp); + code.phaddw(xmm_a, tmp); + } else { + code.movdqa(tmp, xmm_a); + code.pslld(xmm_a, 16); + code.paddd(xmm_a, tmp); + code.pxor(tmp, tmp); + code.psrad(xmm_a, 16); + code.packssdw(xmm_a, tmp); // Note: packusdw is SSE4.1, hence the arithmetic shift above. + } + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitVectorPairedAddLower32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.punpcklqdq(xmm_a, xmm_b); + if (code.HasHostFeature(HostFeature::SSSE3)) { + code.pxor(tmp, tmp); + code.phaddd(xmm_a, tmp); + } else { + code.movdqa(tmp, xmm_a); + code.psllq(xmm_a, 32); + code.paddq(xmm_a, tmp); + code.psrlq(xmm_a, 32); + code.pshufd(xmm_a, xmm_a, 0b11011000); + } + + ctx.reg_alloc.DefineValue(inst, xmm_a); +} + +void EmitX64::EmitVectorPairedAdd8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm d = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.movdqa(d, b); + code.psllw(a, 8); + code.psllw(b, 8); + code.paddw(a, c); + code.paddw(b, d); + code.psrlw(a, 8); + code.psrlw(b, 8); + code.packuswb(a, b); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorPairedAdd16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::SSSE3)) { + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + code.phaddw(a, b); + + ctx.reg_alloc.DefineValue(inst, a); + } else { + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm d = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.movdqa(d, b); + code.pslld(a, 16); + code.pslld(b, 16); + code.paddd(a, c); + code.paddd(b, d); + code.psrad(a, 16); + code.psrad(b, 16); + code.packssdw(a, b); + + ctx.reg_alloc.DefineValue(inst, a); + } +} + +void EmitX64::EmitVectorPairedAdd32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::SSSE3)) { + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + + code.phaddd(a, b); + + ctx.reg_alloc.DefineValue(inst, a); + } else { + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm d = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.movdqa(d, b); + code.psllq(a, 32); + code.psllq(b, 32); + code.paddq(a, c); + code.paddq(b, d); + code.shufps(a, b, 0b11011101); + + ctx.reg_alloc.DefineValue(inst, a); + } +} + +void EmitX64::EmitVectorPairedAdd64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.punpcklqdq(a, b); + code.punpckhqdq(c, b); + code.paddq(a, c); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorPairedAddSignedWiden8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.psllw(a, 8); + code.psraw(c, 8); + code.psraw(a, 8); + code.paddw(a, c); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorPairedAddSignedWiden16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.pslld(a, 16); + code.psrad(c, 16); + code.psrad(a, 16); + code.paddd(a, c); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorPairedAddSignedWiden32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + code.vpsraq(c, a, 32); + code.vpsllq(a, a, 32); + code.vpsraq(a, a, 32); + code.vpaddq(a, a, c); + } else { + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.psllq(a, 32); + code.movdqa(tmp1, code.MConst(xword, 0x80000000'00000000, 0x80000000'00000000)); + code.movdqa(tmp2, tmp1); + code.pand(tmp1, a); + code.pand(tmp2, c); + code.psrlq(a, 32); + code.psrlq(c, 32); + code.psrad(tmp1, 31); + code.psrad(tmp2, 31); + code.por(a, tmp1); + code.por(c, tmp2); + code.paddq(a, c); + } + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorPairedAddUnsignedWiden8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.psllw(a, 8); + code.psrlw(c, 8); + code.psrlw(a, 8); + code.paddw(a, c); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorPairedAddUnsignedWiden16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.pslld(a, 16); + code.psrld(c, 16); + code.psrld(a, 16); + code.paddd(a, c); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorPairedAddUnsignedWiden32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm c = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(c, a); + code.psllq(a, 32); + code.psrlq(c, 32); + code.psrlq(a, 32); + code.paddq(a, c); + + ctx.reg_alloc.DefineValue(inst, a); +} + +template +static void PairedOperation(VectorArray& result, const VectorArray& x, const VectorArray& y, Function fn) { + const size_t range = x.size() / 2; + + for (size_t i = 0; i < range; i++) { + result[i] = fn(x[2 * i], x[2 * i + 1]); + } + + for (size_t i = 0; i < range; i++) { + result[range + i] = fn(y[2 * i], y[2 * i + 1]); + } +} + +template +static void PairedMax(VectorArray& result, const VectorArray& x, const VectorArray& y) { + PairedOperation(result, x, y, [](auto a, auto b) { return std::max(a, b); }); +} + +template +static void PairedMin(VectorArray& result, const VectorArray& x, const VectorArray& y) { + PairedOperation(result, x, y, [](auto a, auto b) { return std::min(a, b); }); +} + +void EmitX64::EmitVectorPairedMaxS8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + PairedMax(result, a, b); + }); +} + +void EmitX64::EmitVectorPairedMaxS16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + PairedMax(result, a, b); + }); +} + +void EmitX64::EmitVectorPairedMaxS32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, x); + code.shufps(tmp, y, 0b10001000); + code.shufps(x, y, 0b11011101); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pmaxsd(x, tmp); + + ctx.reg_alloc.DefineValue(inst, x); + } else { + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp2, tmp); + code.pcmpgtd(tmp2, x); + code.pand(tmp, tmp2); + code.pandn(tmp2, x); + code.por(tmp2, tmp); + + ctx.reg_alloc.DefineValue(inst, tmp2); + } +} + +void EmitX64::EmitVectorPairedMaxU8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + PairedMax(result, a, b); + }); +} + +void EmitX64::EmitVectorPairedMaxU16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + PairedMax(result, a, b); + }); +} + +void EmitX64::EmitVectorPairedMaxU32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp1, x); + code.shufps(tmp1, y, 0b10001000); + code.shufps(x, y, 0b11011101); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pmaxud(x, tmp1); + + ctx.reg_alloc.DefineValue(inst, x); + } else { + const Xbyak::Xmm tmp3 = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp3, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp2, x); + + code.pxor(tmp2, tmp3); + code.pxor(tmp3, tmp1); + code.pcmpgtd(tmp3, tmp2); + code.pand(tmp1, tmp3); + code.pandn(tmp3, x); + code.por(tmp1, tmp3); + + ctx.reg_alloc.DefineValue(inst, tmp1); + } +} + +void EmitX64::EmitVectorPairedMinS8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + PairedMin(result, a, b); + }); +} + +void EmitX64::EmitVectorPairedMinS16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + PairedMin(result, a, b); + }); +} + +void EmitX64::EmitVectorPairedMinS32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp, x); + code.shufps(tmp, y, 0b10001000); + code.shufps(x, y, 0b11011101); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pminsd(x, tmp); + + ctx.reg_alloc.DefineValue(inst, x); + } else { + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + + code.movaps(tmp2, x); + code.pcmpgtd(tmp2, tmp); + code.pand(tmp, tmp2); + code.pandn(tmp2, x); + code.por(tmp2, tmp); + + ctx.reg_alloc.DefineValue(inst, tmp2); + } +} + +void EmitX64::EmitVectorPairedMinU8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + PairedMin(result, a, b); + }); +} + +void EmitX64::EmitVectorPairedMinU16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + PairedMin(result, a, b); + }); +} + +void EmitX64::EmitVectorPairedMinU32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp1, x); + code.shufps(tmp1, y, 0b10001000); + code.shufps(x, y, 0b11011101); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pminud(x, tmp1); + + ctx.reg_alloc.DefineValue(inst, x); + } else { + const Xbyak::Xmm tmp3 = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp3, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp2, tmp1); + + code.pxor(tmp2, tmp3); + code.pxor(tmp3, x); + code.pcmpgtd(tmp3, tmp2); + code.pand(tmp1, tmp3); + code.pandn(tmp3, x); + code.por(tmp1, tmp3); + + ctx.reg_alloc.DefineValue(inst, tmp1); + } +} + +template +static D PolynomialMultiply(T lhs, T rhs) { + constexpr size_t bit_size = Common::BitSize(); + const std::bitset operand(lhs); + + D res = 0; + for (size_t i = 0; i < bit_size; i++) { + if (operand[i]) { + res ^= rhs << i; + } + } + + return res; +} + +void EmitX64::EmitVectorPolynomialMultiply8(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm alternate = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm mask = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg32 counter = ctx.reg_alloc.ScratchGpr().cvt32(); + + Xbyak::Label loop; + + code.pxor(result, result); + code.movdqa(mask, code.MConst(xword, 0x0101010101010101, 0x0101010101010101)); + code.mov(counter, 8); + + code.L(loop); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpand(xmm0, xmm_b, mask); + code.vpxor(alternate, result, xmm_a); + } else { + code.movdqa(xmm0, xmm_b); + code.movdqa(alternate, result); + code.pand(xmm0, mask); + code.pxor(alternate, xmm_a); + } + code.pcmpeqb(xmm0, mask); + code.paddb(mask, mask); + code.paddb(xmm_a, xmm_a); + code.pblendvb(result, alternate); + code.dec(counter); + code.jnz(loop); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + std::transform(a.begin(), a.end(), b.begin(), result.begin(), PolynomialMultiply); + }); +} + +void EmitX64::EmitVectorPolynomialMultiplyLong8(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm alternate = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm mask = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg32 counter = ctx.reg_alloc.ScratchGpr().cvt32(); + + Xbyak::Label loop; + + code.pmovzxbw(xmm_a, xmm_a); + code.pmovzxbw(xmm_b, xmm_b); + code.pxor(result, result); + code.movdqa(mask, code.MConst(xword, 0x0001000100010001, 0x0001000100010001)); + code.mov(counter, 8); + + code.L(loop); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpand(xmm0, xmm_b, mask); + code.vpxor(alternate, result, xmm_a); + } else { + code.movdqa(xmm0, xmm_b); + code.movdqa(alternate, result); + code.pand(xmm0, mask); + code.pxor(alternate, xmm_a); + } + code.pcmpeqw(xmm0, mask); + code.paddw(mask, mask); + code.paddw(xmm_a, xmm_a); + code.pblendvb(result, alternate); + code.dec(counter); + code.jnz(loop); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + for (size_t i = 0; i < result.size(); i++) { + result[i] = PolynomialMultiply(a[i], b[i]); + } + }); +} + +void EmitX64::EmitVectorPolynomialMultiplyLong64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::PCLMULQDQ)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + code.pclmulqdq(xmm_a, xmm_b, 0x00); + + ctx.reg_alloc.DefineValue(inst, xmm_a); + return; + } + + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a, const VectorArray& b) { + const auto handle_high_bits = [](u64 lhs, u64 rhs) { + constexpr size_t bit_size = Common::BitSize(); + u64 result = 0; + + for (size_t i = 1; i < bit_size; i++) { + if (Common::Bit(i, lhs)) { + result ^= rhs >> (bit_size - i); + } + } + + return result; + }; + + result[0] = PolynomialMultiply(a[0], b[0]); + result[1] = handle_high_bits(a[0], b[0]); + }); +} + +void EmitX64::EmitVectorPopulationCount(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::AVX512VL | HostFeature::AVX512BITALG)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.vpopcntb(data, data); + + ctx.reg_alloc.DefineValue(inst, data); + return; + } + + if (code.HasHostFeature(HostFeature::SSSE3)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm low_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm high_a = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(high_a, low_a); + code.psrlw(high_a, 4); + code.movdqa(tmp1, code.MConst(xword, 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F)); + code.pand(high_a, tmp1); // High nibbles + code.pand(low_a, tmp1); // Low nibbles + + code.movdqa(tmp1, code.MConst(xword, 0x0302020102010100, 0x0403030203020201)); + code.movdqa(tmp2, tmp1); + code.pshufb(tmp1, low_a); + code.pshufb(tmp2, high_a); + + code.paddb(tmp1, tmp2); + + ctx.reg_alloc.DefineValue(inst, tmp1); + return; + } + + EmitOneArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + std::transform(a.begin(), a.end(), result.begin(), [](u8 val) { + return static_cast(Common::BitCount(val)); + }); + }); +} + +void EmitX64::EmitVectorReverseBits(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::AVX512VL | HostFeature::GFNI)) { + code.vgf2p8affineqb(data, data, code.MConst(xword_b, 0x8040201008040201), 0); + } else { + const Xbyak::Xmm high_nibble_reg = ctx.reg_alloc.ScratchXmm(); + code.movdqa(high_nibble_reg, code.MConst(xword, 0xF0F0F0F0F0F0F0F0, 0xF0F0F0F0F0F0F0F0)); + code.pand(high_nibble_reg, data); + code.pxor(data, high_nibble_reg); + code.psrld(high_nibble_reg, 4); + + if (code.HasHostFeature(HostFeature::SSSE3)) { + // High lookup + const Xbyak::Xmm high_reversed_reg = ctx.reg_alloc.ScratchXmm(); + code.movdqa(high_reversed_reg, code.MConst(xword, 0xE060A020C0408000, 0xF070B030D0509010)); + code.pshufb(high_reversed_reg, data); + + // Low lookup (low nibble equivalent of the above) + code.movdqa(data, code.MConst(xword, 0x0E060A020C040800, 0x0F070B030D050901)); + code.pshufb(data, high_nibble_reg); + code.por(data, high_reversed_reg); + } else { + code.pslld(data, 4); + code.por(data, high_nibble_reg); + + code.movdqa(high_nibble_reg, code.MConst(xword, 0xCCCCCCCCCCCCCCCC, 0xCCCCCCCCCCCCCCCC)); + code.pand(high_nibble_reg, data); + code.pxor(data, high_nibble_reg); + code.psrld(high_nibble_reg, 2); + code.pslld(data, 2); + code.por(data, high_nibble_reg); + + code.movdqa(high_nibble_reg, code.MConst(xword, 0xAAAAAAAAAAAAAAAA, 0xAAAAAAAAAAAAAAAA)); + code.pand(high_nibble_reg, data); + code.pxor(data, high_nibble_reg); + code.psrld(high_nibble_reg, 1); + code.paddd(data, data); + code.por(data, high_nibble_reg); + } + } + + ctx.reg_alloc.DefineValue(inst, data); +} + +static void EmitVectorRoundingHalvingAddSigned(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + switch (esize) { + case 8: { + const Xbyak::Xmm vec_128 = ctx.reg_alloc.ScratchXmm(); + code.movdqa(vec_128, code.MConst(xword, 0x8080808080808080, 0x8080808080808080)); + + code.paddb(a, vec_128); + code.paddb(b, vec_128); + code.pavgb(a, b); + code.paddb(a, vec_128); + break; + } + case 16: { + const Xbyak::Xmm vec_32768 = ctx.reg_alloc.ScratchXmm(); + code.movdqa(vec_32768, code.MConst(xword, 0x8000800080008000, 0x8000800080008000)); + + code.paddw(a, vec_32768); + code.paddw(b, vec_32768); + code.pavgw(a, b); + code.paddw(a, vec_32768); + break; + } + case 32: { + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + code.movdqa(tmp1, a); + + code.por(a, b); + code.psrad(tmp1, 1); + code.psrad(b, 1); + code.pslld(a, 31); + code.paddd(b, tmp1); + code.psrld(a, 31); + code.paddd(a, b); + break; + } + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorRoundingHalvingAddS8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorRoundingHalvingAddSigned(8, ctx, inst, code); +} + +void EmitX64::EmitVectorRoundingHalvingAddS16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorRoundingHalvingAddSigned(16, ctx, inst, code); +} + +void EmitX64::EmitVectorRoundingHalvingAddS32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorRoundingHalvingAddSigned(32, ctx, inst, code); +} + +static void EmitVectorRoundingHalvingAddUnsigned(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + switch (esize) { + case 8: + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pavgb); + return; + case 16: + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::pavgw); + return; + case 32: { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(tmp1, a); + + code.por(a, b); + code.psrld(tmp1, 1); + code.psrld(b, 1); + code.pslld(a, 31); + code.paddd(b, tmp1); + code.psrld(a, 31); + code.paddd(a, b); + + ctx.reg_alloc.DefineValue(inst, a); + break; + } + } +} + +void EmitX64::EmitVectorRoundingHalvingAddU8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorRoundingHalvingAddUnsigned(8, ctx, inst, code); +} + +void EmitX64::EmitVectorRoundingHalvingAddU16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorRoundingHalvingAddUnsigned(16, ctx, inst, code); +} + +void EmitX64::EmitVectorRoundingHalvingAddU32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorRoundingHalvingAddUnsigned(32, ctx, inst, code); +} + +template +static void RoundingShiftLeft(VectorArray& out, const VectorArray& lhs, const VectorArray& rhs) { + using signed_type = std::make_signed_t; + using unsigned_type = std::make_unsigned_t; + + constexpr auto bit_size = static_cast(Common::BitSize()); + + for (size_t i = 0; i < out.size(); i++) { + const s64 extended_shift = Common::SignExtend<8>(rhs[i] & 0xFF); + + if (extended_shift >= 0) { + if (extended_shift >= bit_size) { + out[i] = 0; + } else { + out[i] = static_cast(static_cast(lhs[i]) << extended_shift); + } + } else { + if ((std::is_unsigned_v && extended_shift < -bit_size) || (std::is_signed_v && extended_shift <= -bit_size)) { + out[i] = 0; + } else { + const s64 shift_value = -extended_shift - 1; + const T shifted = (lhs[i] & (static_cast(1) << shift_value)) >> shift_value; + + if (extended_shift == -bit_size) { + out[i] = shifted; + } else { + out[i] = (lhs[i] >> -extended_shift) + shifted; + } + } + } + } +} + +void EmitX64::EmitVectorRoundingShiftLeftS8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + RoundingShiftLeft(result, lhs, rhs); + }); +} + +void EmitX64::EmitVectorRoundingShiftLeftS16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + RoundingShiftLeft(result, lhs, rhs); + }); +} + +void EmitX64::EmitVectorRoundingShiftLeftS32(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + RoundingShiftLeft(result, lhs, rhs); + }); +} + +void EmitX64::EmitVectorRoundingShiftLeftS64(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + RoundingShiftLeft(result, lhs, rhs); + }); +} + +void EmitX64::EmitVectorRoundingShiftLeftU8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + RoundingShiftLeft(result, lhs, rhs); + }); +} + +void EmitX64::EmitVectorRoundingShiftLeftU16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + RoundingShiftLeft(result, lhs, rhs); + }); +} + +void EmitX64::EmitVectorRoundingShiftLeftU32(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + RoundingShiftLeft(result, lhs, rhs); + }); +} + +void EmitX64::EmitVectorRoundingShiftLeftU64(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + RoundingShiftLeft(result, lhs, rhs); + }); +} + +static void VectorShuffleImpl(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, void (Xbyak::CodeGenerator::*fn)(const Xbyak::Mmx&, const Xbyak::Operand&, u8)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm operand = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const u8 mask = args[1].GetImmediateU8(); + + (code.*fn)(result, operand, mask); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorShuffleHighHalfwords(EmitContext& ctx, IR::Inst* inst) { + VectorShuffleImpl(code, ctx, inst, &Xbyak::CodeGenerator::pshufhw); +} + +void EmitX64::EmitVectorShuffleLowHalfwords(EmitContext& ctx, IR::Inst* inst) { + VectorShuffleImpl(code, ctx, inst, &Xbyak::CodeGenerator::pshuflw); +} + +void EmitX64::EmitVectorShuffleWords(EmitContext& ctx, IR::Inst* inst) { + VectorShuffleImpl(code, ctx, inst, &Xbyak::CodeGenerator::pshufd); +} + +void EmitX64::EmitVectorSignExtend8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + code.pmovsxbw(a, a); + ctx.reg_alloc.DefineValue(inst, a); + } else { + const Xbyak::Xmm a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.pxor(result, result); + code.punpcklbw(result, a); + code.psraw(result, 8); + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitVectorSignExtend16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + code.pmovsxwd(a, a); + ctx.reg_alloc.DefineValue(inst, a); + } else { + const Xbyak::Xmm a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + code.pxor(result, result); + code.punpcklwd(result, a); + code.psrad(result, 16); + ctx.reg_alloc.DefineValue(inst, result); + } +} + +void EmitX64::EmitVectorSignExtend32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pmovsxdq(a, a); + } else { + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + code.movaps(tmp, a); + code.psrad(tmp, 31); + code.punpckldq(a, tmp); + } + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorSignExtend64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Reg64 gpr_tmp = ctx.reg_alloc.ScratchGpr(); + + code.movq(gpr_tmp, data); + code.sar(gpr_tmp, 63); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pinsrq(data, gpr_tmp, 1); + } else { + const Xbyak::Xmm xmm_tmp = ctx.reg_alloc.ScratchXmm(); + + code.movq(xmm_tmp, gpr_tmp); + code.punpcklqdq(data, xmm_tmp); + } + + ctx.reg_alloc.DefineValue(inst, data); +} + +static void EmitVectorSignedAbsoluteDifference(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm mask = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(mask, x); + code.movdqa(tmp1, y); + + switch (esize) { + case 8: + code.pcmpgtb(mask, y); + code.psubb(tmp1, x); + code.psubb(x, y); + break; + case 16: + code.pcmpgtw(mask, y); + code.psubw(tmp1, x); + code.psubw(x, y); + break; + case 32: + code.pcmpgtd(mask, y); + code.psubd(tmp1, x); + code.psubd(x, y); + break; + } + + code.movdqa(tmp2, mask); + code.pand(x, mask); + code.pandn(tmp2, tmp1); + code.por(x, tmp2); + + ctx.reg_alloc.DefineValue(inst, x); +} + +void EmitX64::EmitVectorSignedAbsoluteDifference8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedAbsoluteDifference(8, ctx, inst, code); +} + +void EmitX64::EmitVectorSignedAbsoluteDifference16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedAbsoluteDifference(16, ctx, inst, code); +} + +void EmitX64::EmitVectorSignedAbsoluteDifference32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedAbsoluteDifference(32, ctx, inst, code); +} + +void EmitX64::EmitVectorSignedMultiply16(EmitContext& ctx, IR::Inst* inst) { + const auto upper_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetUpperFromOp); + const auto lower_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetLowerFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + + if (upper_inst) { + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpmulhw(result, x, y); + } else { + code.movdqa(result, x); + code.pmulhw(result, y); + } + + ctx.reg_alloc.DefineValue(upper_inst, result); + ctx.EraseInstruction(upper_inst); + } + + if (lower_inst) { + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpmullw(result, x, y); + } else { + code.movdqa(result, x); + code.pmullw(result, y); + } + ctx.reg_alloc.DefineValue(lower_inst, result); + ctx.EraseInstruction(lower_inst); + } +} + +void EmitX64::EmitVectorSignedMultiply32(EmitContext& ctx, IR::Inst* inst) { + const auto upper_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetUpperFromOp); + const auto lower_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetLowerFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (lower_inst && !upper_inst && code.HasHostFeature(HostFeature::AVX)) { + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vpmulld(result, x, y); + + ctx.reg_alloc.DefineValue(lower_inst, result); + ctx.EraseInstruction(lower_inst); + return; + } + + if (code.HasHostFeature(HostFeature::AVX)) { + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + + if (lower_inst) { + const Xbyak::Xmm lower_result = ctx.reg_alloc.ScratchXmm(); + code.vpmulld(lower_result, x, y); + ctx.reg_alloc.DefineValue(lower_inst, lower_result); + ctx.EraseInstruction(lower_inst); + } + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vpmuldq(result, x, y); + code.vpsrlq(x, x, 32); + code.vpsrlq(y, y, 32); + code.vpmuldq(x, x, y); + code.shufps(result, x, 0b11011101); + + ctx.reg_alloc.DefineValue(upper_inst, result); + ctx.EraseInstruction(upper_inst); + return; + } + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm sign_correction = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm upper_result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm lower_result = ctx.reg_alloc.ScratchXmm(); + + // calculate sign correction + code.movdqa(tmp, x); + code.movdqa(sign_correction, y); + code.psrad(tmp, 31); + code.psrad(sign_correction, 31); + code.pand(tmp, y); + code.pand(sign_correction, x); + code.paddd(sign_correction, tmp); + code.pand(sign_correction, code.MConst(xword, 0x7FFFFFFF7FFFFFFF, 0x7FFFFFFF7FFFFFFF)); + + // calculate unsigned multiply + code.movdqa(tmp, x); + code.pmuludq(tmp, y); + code.psrlq(x, 32); + code.psrlq(y, 32); + code.pmuludq(x, y); + + // put everything into place + code.pcmpeqw(upper_result, upper_result); + code.pcmpeqw(lower_result, lower_result); + code.psllq(upper_result, 32); + code.psrlq(lower_result, 32); + code.pand(upper_result, x); + code.pand(lower_result, tmp); + code.psrlq(tmp, 32); + code.psllq(x, 32); + code.por(upper_result, tmp); + code.por(lower_result, x); + code.psubd(upper_result, sign_correction); + + if (upper_inst) { + ctx.reg_alloc.DefineValue(upper_inst, upper_result); + ctx.EraseInstruction(upper_inst); + } + if (lower_inst) { + ctx.reg_alloc.DefineValue(lower_inst, lower_result); + ctx.EraseInstruction(lower_inst); + } +} + +static void EmitVectorSignedSaturatedAbs(size_t esize, BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm data_test = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm sign = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Address mask = [esize, &code] { + switch (esize) { + case 8: + return code.MConst(xword, 0x8080808080808080, 0x8080808080808080); + case 16: + return code.MConst(xword, 0x8000800080008000, 0x8000800080008000); + case 32: + return code.MConst(xword, 0x8000000080000000, 0x8000000080000000); + case 64: + return code.MConst(xword, 0x8000000000000000, 0x8000000000000000); + default: + UNREACHABLE(); + } + }(); + + const auto vector_equality = [esize, &code](const Xbyak::Xmm& x, const Xbyak::Xmm& y) { + switch (esize) { + case 8: + code.pcmpeqb(x, y); + break; + case 16: + code.pcmpeqw(x, y); + break; + case 32: + code.pcmpeqd(x, y); + break; + case 64: + code.pcmpeqq(x, y); + break; + } + }; + + // Keep a copy of the initial data for determining whether or not + // to set the Q flag + code.movdqa(data_test, data); + + switch (esize) { + case 8: + VectorAbs8(code, ctx, data); + break; + case 16: + VectorAbs16(code, ctx, data); + break; + case 32: + VectorAbs32(code, ctx, data); + break; + case 64: + VectorAbs64(code, ctx, data); + break; + } + + code.movdqa(sign, mask); + vector_equality(sign, data); + code.pxor(data, sign); + + // Check if the initial data contained any elements with the value 0x80. + // If any exist, then the Q flag needs to be set. + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + code.movdqa(sign, mask); + vector_equality(data_test, sign); + code.pmovmskb(bit, data_test); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.DefineValue(inst, data); +} + +void EmitX64::EmitVectorSignedSaturatedAbs8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedAbs(8, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedAbs16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedAbs(16, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedAbs32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedAbs(32, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedAbs64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorSignedSaturatedAbs(64, code, ctx, inst); + return; + } + + EmitOneArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& data) { + bool qc_flag = false; + + for (size_t i = 0; i < result.size(); i++) { + if (static_cast(data[i]) == 0x8000000000000000) { + result[i] = 0x7FFFFFFFFFFFFFFF; + qc_flag = true; + } else { + result[i] = std::abs(data[i]); + } + } + + return qc_flag; + }); +} + +template +static void EmitVectorSignedSaturatedAccumulateUnsigned(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + code.movdqa(xmm0, y); + ctx.reg_alloc.Release(y); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + switch (bit_width) { + case 8: + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddb(result, x, xmm0); + } else { + code.movdqa(result, x); + code.paddb(result, xmm0); + } + break; + case 16: + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddw(result, x, xmm0); + } else { + code.movdqa(result, x); + code.paddw(result, xmm0); + } + break; + case 32: + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddd(result, x, xmm0); + } else { + code.movdqa(result, x); + code.paddd(result, xmm0); + } + break; + case 64: + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddq(result, x, xmm0); + } else { + code.movdqa(result, x); + code.paddq(result, xmm0); + } + break; + } + + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + // xmm0 = majority(~y, x, res) + code.vpternlogd(xmm0, x, result, 0b10001110); + } else if (code.HasHostFeature(HostFeature::AVX)) { + code.vpor(tmp, x, result); + code.pand(x, result); + code.vpblendvb(xmm0, tmp, x, xmm0); + } else { + code.movdqa(tmp, x); + code.pxor(x, result); + code.pand(tmp, result); + code.pandn(xmm0, x); + code.por(xmm0, tmp); + } + + ctx.reg_alloc.Release(x); + + switch (bit_width) { + case 8: + if (code.HasHostFeature(HostFeature::AVX)) { + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + code.pcmpeqb(tmp2, tmp2); + code.pxor(tmp, tmp); + code.vpblendvb(xmm0, tmp, tmp2, xmm0); + ctx.reg_alloc.Release(tmp2); + } else { + code.pand(xmm0, code.MConst(xword, 0x8080808080808080, 0x8080808080808080)); + code.movdqa(tmp, xmm0); + code.psrlw(tmp, 7); + code.pxor(xmm0, xmm0); + code.psubb(xmm0, tmp); + } + break; + case 16: + code.psraw(xmm0, 15); + break; + case 32: + code.psrad(xmm0, 31); + break; + case 64: + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + code.vpsraq(xmm0, xmm0, 63); + } else { + code.psrad(xmm0, 31); + code.pshufd(xmm0, xmm0, 0b11110101); + } + break; + } + + code.movdqa(tmp, xmm0); + switch (bit_width) { + case 8: + code.paddb(tmp, tmp); + code.psrlw(tmp, 1); + break; + case 16: + code.psrlw(tmp, 1); + break; + case 32: + code.psrld(tmp, 1); + break; + case 64: + code.psrlq(tmp, 1); + break; + } + + const Xbyak::Reg32 mask = ctx.reg_alloc.ScratchGpr().cvt32(); + code.pmovmskb(mask, xmm0); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], mask); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pblendvb(result, tmp); + } else { + code.pandn(xmm0, result); + code.por(xmm0, tmp); + code.movdqa(result, xmm0); + } + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorSignedSaturatedAccumulateUnsigned8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedAccumulateUnsigned<8>(code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedAccumulateUnsigned16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedAccumulateUnsigned<16>(code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedAccumulateUnsigned32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedAccumulateUnsigned<32>(code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedAccumulateUnsigned64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedAccumulateUnsigned<64>(code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedDoublingMultiply16(EmitContext& ctx, IR::Inst* inst) { + const auto upper_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetUpperFromOp); + const auto lower_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetLowerFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm upper_tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm lower_tmp = ctx.reg_alloc.ScratchXmm(); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpmulhw(upper_tmp, x, y); + } else { + code.movdqa(upper_tmp, x); + code.pmulhw(upper_tmp, y); + } + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpmullw(lower_tmp, x, y); + } else { + code.movdqa(lower_tmp, x); + code.pmullw(lower_tmp, y); + } + + ctx.reg_alloc.Release(x); + ctx.reg_alloc.Release(y); + + if (lower_inst) { + const Xbyak::Xmm lower_result = ctx.reg_alloc.ScratchXmm(); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddw(lower_result, lower_tmp, lower_tmp); + } else { + code.movdqa(lower_result, lower_tmp); + code.paddw(lower_result, lower_result); + } + + ctx.reg_alloc.DefineValue(lower_inst, lower_result); + ctx.EraseInstruction(lower_inst); + } + + if (upper_inst) { + const Xbyak::Xmm upper_result = ctx.reg_alloc.ScratchXmm(); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpsrlw(lower_tmp, lower_tmp, 15); + code.vpaddw(upper_tmp, upper_tmp, upper_tmp); + code.vpor(upper_result, upper_tmp, lower_tmp); + code.vpcmpeqw(upper_tmp, upper_result, code.MConst(xword, 0x8000800080008000, 0x8000800080008000)); + code.vpxor(upper_result, upper_result, upper_tmp); + } else { + code.paddw(upper_tmp, upper_tmp); + code.psrlw(lower_tmp, 15); + code.movdqa(upper_result, upper_tmp); + code.por(upper_result, lower_tmp); + code.movdqa(upper_tmp, code.MConst(xword, 0x8000800080008000, 0x8000800080008000)); + code.pcmpeqw(upper_tmp, upper_result); + code.pxor(upper_result, upper_tmp); + } + + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + code.pmovmskb(bit, upper_tmp); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.DefineValue(upper_inst, upper_result); + ctx.EraseInstruction(upper_inst); + } +} + +void EmitX64::EmitVectorSignedSaturatedDoublingMultiply32(EmitContext& ctx, IR::Inst* inst) { + const auto upper_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetUpperFromOp); + const auto lower_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetLowerFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AVX)) { + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm odds = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm even = ctx.reg_alloc.ScratchXmm(); + + code.vpmuldq(odds, x, y); + code.vpsrlq(x, x, 32); + code.vpsrlq(y, y, 32); + code.vpmuldq(even, x, y); + + ctx.reg_alloc.Release(x); + ctx.reg_alloc.Release(y); + + code.vpaddq(odds, odds, odds); + code.vpaddq(even, even, even); + + if (upper_inst) { + const Xbyak::Xmm upper_result = ctx.reg_alloc.ScratchXmm(); + + code.vpsrlq(upper_result, odds, 32); + code.vblendps(upper_result, upper_result, even, 0b1010); + + const Xbyak::Xmm mask = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.vpcmpeqd(mask, upper_result, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + code.vpxor(upper_result, upper_result, mask); + code.pmovmskb(bit, mask); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.Release(mask); + ctx.reg_alloc.Release(bit); + + ctx.reg_alloc.DefineValue(upper_inst, upper_result); + ctx.EraseInstruction(upper_inst); + } + + if (lower_inst) { + const Xbyak::Xmm lower_result = ctx.reg_alloc.ScratchXmm(); + + code.vpsllq(lower_result, even, 32); + code.vblendps(lower_result, lower_result, odds, 0b0101); + + ctx.reg_alloc.DefineValue(lower_inst, lower_result); + ctx.EraseInstruction(lower_inst); + } + + return; + } + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm sign_correction = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm upper_result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm lower_result = ctx.reg_alloc.ScratchXmm(); + + // calculate sign correction + code.movdqa(tmp, x); + code.movdqa(sign_correction, y); + code.psrad(tmp, 31); + code.psrad(sign_correction, 31); + code.pand(tmp, y); + code.pand(sign_correction, x); + code.paddd(sign_correction, tmp); + code.pslld(sign_correction, 1); + + // unsigned multiply + code.movdqa(tmp, x); + code.pmuludq(tmp, y); + code.psrlq(x, 32); + code.psrlq(y, 32); + code.pmuludq(x, y); + + // double + code.paddq(tmp, tmp); + code.paddq(x, x); + + // put everything into place + code.pcmpeqw(upper_result, upper_result); + code.pcmpeqw(lower_result, lower_result); + code.psllq(upper_result, 32); + code.psrlq(lower_result, 32); + code.pand(upper_result, x); + code.pand(lower_result, tmp); + code.psrlq(tmp, 32); + code.psllq(x, 32); + code.por(upper_result, tmp); + code.por(lower_result, x); + code.psubd(upper_result, sign_correction); + + if (upper_inst) { + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + + code.movdqa(tmp, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + code.pcmpeqd(tmp, upper_result); + code.pxor(upper_result, tmp); + code.pmovmskb(bit, tmp); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.DefineValue(upper_inst, upper_result); + ctx.EraseInstruction(upper_inst); + } + if (lower_inst) { + ctx.reg_alloc.DefineValue(lower_inst, lower_result); + ctx.EraseInstruction(lower_inst); + } +} + +void EmitX64::EmitVectorSignedSaturatedDoublingMultiplyLong16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.punpcklwd(x, x); + code.punpcklwd(y, y); + code.pmaddwd(x, y); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpcmpeqd(y, x, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + code.vpxor(x, x, y); + } else { + code.movdqa(y, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + code.pcmpeqd(y, x); + code.pxor(x, y); + } + + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + code.pmovmskb(bit, y); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.DefineValue(inst, x); +} + +void EmitX64::EmitVectorSignedSaturatedDoublingMultiplyLong32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpmovsxdq(x, x); + code.vpmovsxdq(y, y); + code.vpmuldq(x, x, y); + code.vpaddq(x, x, x); + } else { + const Xbyak::Reg64 a = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 b = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 c = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 d = ctx.reg_alloc.ScratchGpr(); + + code.movq(c, x); + code.movq(d, y); + code.movsxd(a, c.cvt32()); + code.movsxd(b, d.cvt32()); + code.sar(c, 32); + code.sar(d, 32); + code.imul(a, b); + code.imul(c, d); + code.movq(x, a); + code.movq(y, c); + code.punpcklqdq(x, y); + code.paddq(x, x); + + ctx.reg_alloc.Release(a); + ctx.reg_alloc.Release(b); + ctx.reg_alloc.Release(c); + ctx.reg_alloc.Release(d); + } + + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpcmpeqq(y, x, code.MConst(xword, 0x8000000000000000, 0x8000000000000000)); + code.vpxor(x, x, y); + code.vpmovmskb(bit, y); + } else { + code.movdqa(y, code.MConst(xword, 0x8000000000000000, 0x8000000000000000)); + code.pcmpeqd(y, x); + code.shufps(y, y, 0b11110101); + code.pxor(x, y); + code.pmovmskb(bit, y); + } + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.DefineValue(inst, x); +} + +static void EmitVectorSignedSaturatedNarrowToSigned(size_t original_esize, BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm src = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm dest = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm reconstructed = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm sign = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(dest, src); + + switch (original_esize) { + case 16: + code.packsswb(dest, dest); + code.movdqa(sign, src); + code.psraw(sign, 15); + code.packsswb(sign, sign); + code.movdqa(reconstructed, dest); + code.punpcklbw(reconstructed, sign); + break; + case 32: + code.packssdw(dest, dest); + code.movdqa(reconstructed, dest); + code.movdqa(sign, dest); + code.psraw(sign, 15); + code.punpcklwd(reconstructed, sign); + break; + default: + UNREACHABLE(); + } + + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + code.pcmpeqd(reconstructed, src); + code.movmskps(bit, reconstructed); + code.xor_(bit, 0b1111); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.DefineValue(inst, dest); +} + +void EmitX64::EmitVectorSignedSaturatedNarrowToSigned16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedNarrowToSigned(16, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedNarrowToSigned32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedNarrowToSigned(32, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedNarrowToSigned64(EmitContext& ctx, IR::Inst* inst) { + EmitOneArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + bool qc_flag = false; + for (size_t i = 0; i < a.size(); ++i) { + const s64 saturated = std::clamp(a[i], -s64(0x80000000), s64(0x7FFFFFFF)); + result[i] = static_cast(saturated); + qc_flag |= saturated != a[i]; + } + return qc_flag; + }); +} + +static void EmitVectorSignedSaturatedNarrowToUnsigned(size_t original_esize, BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm src = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm dest = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm reconstructed = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm zero = ctx.reg_alloc.ScratchXmm(); + + code.movdqa(dest, src); + code.pxor(zero, zero); + + switch (original_esize) { + case 16: + code.packuswb(dest, dest); + code.movdqa(reconstructed, dest); + code.punpcklbw(reconstructed, zero); + break; + case 32: + ASSERT(code.HasHostFeature(HostFeature::SSE41)); + code.packusdw(dest, dest); // SSE4.1 + code.movdqa(reconstructed, dest); + code.punpcklwd(reconstructed, zero); + break; + default: + UNREACHABLE(); + } + + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + code.pcmpeqd(reconstructed, src); + code.movmskps(bit, reconstructed); + code.xor_(bit, 0b1111); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.DefineValue(inst, dest); +} + +void EmitX64::EmitVectorSignedSaturatedNarrowToUnsigned16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedNarrowToUnsigned(16, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedNarrowToUnsigned32(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorSignedSaturatedNarrowToUnsigned(32, code, ctx, inst); + return; + } + + EmitOneArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + bool qc_flag = false; + for (size_t i = 0; i < a.size(); ++i) { + const s32 saturated = std::clamp(a[i], 0, 0xFFFF); + result[i] = static_cast(saturated); + qc_flag |= saturated != a[i]; + } + return qc_flag; + }); +} + +void EmitX64::EmitVectorSignedSaturatedNarrowToUnsigned64(EmitContext& ctx, IR::Inst* inst) { + EmitOneArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + bool qc_flag = false; + for (size_t i = 0; i < a.size(); ++i) { + const s64 saturated = std::clamp(a[i], 0, 0xFFFFFFFF); + result[i] = static_cast(saturated); + qc_flag |= saturated != a[i]; + } + return qc_flag; + }); +} + +static void EmitVectorSignedSaturatedNeg(size_t esize, BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm data = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm zero = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Address mask = [esize, &code] { + switch (esize) { + case 8: + return code.MConst(xword, 0x8080808080808080, 0x8080808080808080); + case 16: + return code.MConst(xword, 0x8000800080008000, 0x8000800080008000); + case 32: + return code.MConst(xword, 0x8000000080000000, 0x8000000080000000); + case 64: + return code.MConst(xword, 0x8000000000000000, 0x8000000000000000); + default: + UNREACHABLE(); + } + }(); + + const auto vector_equality = [esize, &code](const Xbyak::Xmm& x, const auto& y) { + switch (esize) { + case 8: + code.pcmpeqb(x, y); + break; + case 16: + code.pcmpeqw(x, y); + break; + case 32: + code.pcmpeqd(x, y); + break; + case 64: + code.pcmpeqq(x, y); + break; + } + }; + + code.movdqa(tmp, data); + vector_equality(tmp, mask); + + // Perform negation + code.pxor(zero, zero); + switch (esize) { + case 8: + code.psubsb(zero, data); + break; + case 16: + code.psubsw(zero, data); + break; + case 32: + code.psubd(zero, data); + code.pxor(zero, tmp); + break; + case 64: + code.psubq(zero, data); + code.pxor(zero, tmp); + break; + } + + // Check if any elements matched the mask prior to performing saturation. If so, set the Q bit. + const Xbyak::Reg32 bit = ctx.reg_alloc.ScratchGpr().cvt32(); + code.pmovmskb(bit, tmp); + code.or_(code.dword[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], bit); + + ctx.reg_alloc.DefineValue(inst, zero); +} + +void EmitX64::EmitVectorSignedSaturatedNeg8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedNeg(8, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedNeg16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedNeg(16, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedNeg32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturatedNeg(32, code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedNeg64(EmitContext& ctx, IR::Inst* inst) { + if (code.HasHostFeature(HostFeature::SSE41)) { + EmitVectorSignedSaturatedNeg(64, code, ctx, inst); + return; + } + + EmitOneArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& data) { + bool qc_flag = false; + + for (size_t i = 0; i < result.size(); i++) { + if (static_cast(data[i]) == 0x8000000000000000) { + result[i] = 0x7FFFFFFFFFFFFFFF; + qc_flag = true; + } else { + result[i] = -data[i]; + } + } + + return qc_flag; + }); +} + +// MSVC requires the capture within the saturate lambda, but it's +// determined to be unnecessary via clang and GCC. +#ifdef __clang__ +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wunused-lambda-capture" +#endif +template> +static bool VectorSignedSaturatedShiftLeft(VectorArray& dst, const VectorArray& data, const VectorArray& shift_values) { + static_assert(std::is_signed_v, "T must be signed."); + + bool qc_flag = false; + + constexpr size_t bit_size_minus_one = Common::BitSize() - 1; + + const auto saturate = [bit_size_minus_one](T value) { + return static_cast((static_cast(value) >> bit_size_minus_one) + (U{1} << bit_size_minus_one) - 1); + }; + + for (size_t i = 0; i < dst.size(); i++) { + const T element = data[i]; + const T shift = std::clamp(static_cast(Common::SignExtend<8>(shift_values[i] & 0xFF)), + -static_cast(bit_size_minus_one), std::numeric_limits::max()); + + if (element == 0) { + dst[i] = 0; + } else if (shift < 0) { + dst[i] = static_cast(element >> -shift); + } else if (static_cast(shift) > bit_size_minus_one) { + dst[i] = saturate(element); + qc_flag = true; + } else { + const T shifted = T(U(element) << shift); + + if ((shifted >> shift) != element) { + dst[i] = saturate(element); + qc_flag = true; + } else { + dst[i] = shifted; + } + } + } + + return qc_flag; +} +#ifdef __clang__ +# pragma clang diagnostic pop +#endif + +void EmitX64::EmitVectorSignedSaturatedShiftLeft8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorSignedSaturatedShiftLeft); +} + +void EmitX64::EmitVectorSignedSaturatedShiftLeft16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorSignedSaturatedShiftLeft); +} + +void EmitX64::EmitVectorSignedSaturatedShiftLeft32(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorSignedSaturatedShiftLeft); +} + +void EmitX64::EmitVectorSignedSaturatedShiftLeft64(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorSignedSaturatedShiftLeft); +} + +template> +static bool VectorSignedSaturatedShiftLeftUnsigned(VectorArray& dst, const VectorArray& data, const VectorArray& shift_values) { + static_assert(std::is_signed_v, "T must be signed."); + + constexpr size_t bit_size_minus_one = Common::BitSize() - 1; + + bool qc_flag = false; + for (size_t i = 0; i < dst.size(); i++) { + const T element = data[i]; + const T shift = std::clamp(static_cast(Common::SignExtend<8>(shift_values[i] & 0xFF)), + -static_cast(bit_size_minus_one), std::numeric_limits::max()); + + if (element == 0) { + dst[i] = 0; + } else if (element < 0) { + dst[i] = 0; + qc_flag = true; + } else if (shift < 0) { + dst[i] = static_cast(element >> -shift); + } else if (static_cast(shift) > bit_size_minus_one) { + dst[i] = static_cast(std::numeric_limits::max()); + qc_flag = true; + } else { + const U shifted = static_cast(element) << static_cast(shift); + const U shifted_test = shifted >> static_cast(shift); + + if (shifted_test != static_cast(element)) { + dst[i] = static_cast(std::numeric_limits::max()); + qc_flag = true; + } else { + dst[i] = shifted; + } + } + } + + return qc_flag; +} + +void EmitX64::EmitVectorSignedSaturatedShiftLeftUnsigned8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorSignedSaturatedShiftLeftUnsigned); +} + +void EmitX64::EmitVectorSignedSaturatedShiftLeftUnsigned16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorSignedSaturatedShiftLeftUnsigned); +} + +void EmitX64::EmitVectorSignedSaturatedShiftLeftUnsigned32(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorSignedSaturatedShiftLeftUnsigned); +} + +void EmitX64::EmitVectorSignedSaturatedShiftLeftUnsigned64(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorSignedSaturatedShiftLeftUnsigned); +} + +void EmitX64::EmitVectorSub8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::psubb); +} + +void EmitX64::EmitVectorSub16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::psubw); +} + +void EmitX64::EmitVectorSub32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::psubd); +} + +void EmitX64::EmitVectorSub64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorOperation(code, ctx, inst, &Xbyak::CodeGenerator::psubq); +} + +void EmitX64::EmitVectorTable(EmitContext&, IR::Inst* inst) { + // Do nothing. We *want* to hold on to the refcount for our arguments, so VectorTableLookup can use our arguments. + ASSERT_MSG(inst->UseCount() == 1, "Table cannot be used multiple times"); +} + +void EmitX64::EmitVectorTableLookup64(EmitContext& ctx, IR::Inst* inst) { + ASSERT(inst->GetArg(1).GetInst()->GetOpcode() == IR::Opcode::VectorTable); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto table = ctx.reg_alloc.GetArgumentInfo(inst->GetArg(1).GetInst()); + + const size_t table_size = std::count_if(table.begin(), table.end(), [](const auto& elem) { return !elem.IsVoid(); }); + const bool is_defaults_zero = inst->GetArg(0).IsZero(); + + // TODO: AVX512VL implementation when available (VPERMB / VPERMI2B / VPERMT2B) + + const std::array sat_const{ + 0, + 0x7878787878787878, + 0x7070707070707070, + 0x6868686868686868, + 0x6060606060606060, + }; + + if (code.HasHostFeature(HostFeature::SSSE3) && is_defaults_zero && table_size <= 2) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseScratchXmm(args[2]); + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + + if (table_size == 2) { + const Xbyak::Xmm xmm_table0_upper = ctx.reg_alloc.UseXmm(table[1]); + code.punpcklqdq(xmm_table0, xmm_table0_upper); + ctx.reg_alloc.Release(xmm_table0_upper); + } + + code.paddusb(indicies, code.MConst(xword, 0x7070707070707070, 0xFFFFFFFFFFFFFFFF)); + code.pshufb(xmm_table0, indicies); + + ctx.reg_alloc.DefineValue(inst, xmm_table0); + return; + } + + if (code.HasHostFeature(HostFeature::SSE41) && table_size <= 2) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm defaults = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + + if (table_size == 2) { + const Xbyak::Xmm xmm_table0_upper = ctx.reg_alloc.UseXmm(table[1]); + code.punpcklqdq(xmm_table0, xmm_table0_upper); + ctx.reg_alloc.Release(xmm_table0_upper); + } + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddusb(xmm0, indicies, code.MConst(xword, sat_const[table_size], 0xFFFFFFFFFFFFFFFF)); + } else { + code.movaps(xmm0, indicies); + code.paddusb(xmm0, code.MConst(xword, sat_const[table_size], 0xFFFFFFFFFFFFFFFF)); + } + code.pshufb(xmm_table0, indicies); + code.pblendvb(xmm_table0, defaults); + + ctx.reg_alloc.DefineValue(inst, xmm_table0); + return; + } + + if (code.HasHostFeature(HostFeature::SSE41) && is_defaults_zero) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseScratchXmm(args[2]); + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + const Xbyak::Xmm xmm_table1 = ctx.reg_alloc.UseScratchXmm(table[2]); + + { + const Xbyak::Xmm xmm_table0_upper = ctx.reg_alloc.UseXmm(table[1]); + code.punpcklqdq(xmm_table0, xmm_table0_upper); + ctx.reg_alloc.Release(xmm_table0_upper); + } + if (table_size == 4) { + const Xbyak::Xmm xmm_table1_upper = ctx.reg_alloc.UseXmm(table[3]); + code.punpcklqdq(xmm_table1, xmm_table1_upper); + ctx.reg_alloc.Release(xmm_table1_upper); + } + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddusb(xmm0, indicies, code.MConst(xword, 0x7070707070707070, 0xFFFFFFFFFFFFFFFF)); + } else { + code.movaps(xmm0, indicies); + code.paddusb(xmm0, code.MConst(xword, 0x7070707070707070, 0xFFFFFFFFFFFFFFFF)); + } + code.paddusb(indicies, code.MConst(xword, 0x6060606060606060, 0xFFFFFFFFFFFFFFFF)); + code.pshufb(xmm_table0, xmm0); + code.pshufb(xmm_table1, indicies); + code.pblendvb(xmm_table0, xmm_table1); + + ctx.reg_alloc.DefineValue(inst, xmm_table0); + return; + } + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseScratchXmm(args[2]); + const Xbyak::Xmm defaults = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + const Xbyak::Xmm xmm_table1 = ctx.reg_alloc.UseScratchXmm(table[2]); + + { + const Xbyak::Xmm xmm_table0_upper = ctx.reg_alloc.UseXmm(table[1]); + code.punpcklqdq(xmm_table0, xmm_table0_upper); + ctx.reg_alloc.Release(xmm_table0_upper); + } + if (table_size == 4) { + const Xbyak::Xmm xmm_table1_upper = ctx.reg_alloc.UseXmm(table[3]); + code.punpcklqdq(xmm_table1, xmm_table1_upper); + ctx.reg_alloc.Release(xmm_table1_upper); + } + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddusb(xmm0, indicies, code.MConst(xword, 0x7070707070707070, 0xFFFFFFFFFFFFFFFF)); + } else { + code.movaps(xmm0, indicies); + code.paddusb(xmm0, code.MConst(xword, 0x7070707070707070, 0xFFFFFFFFFFFFFFFF)); + } + code.pshufb(xmm_table0, indicies); + code.pshufb(xmm_table1, indicies); + code.pblendvb(xmm_table0, xmm_table1); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddusb(xmm0, indicies, code.MConst(xword, sat_const[table_size], 0xFFFFFFFFFFFFFFFF)); + } else { + code.movaps(xmm0, indicies); + code.paddusb(xmm0, code.MConst(xword, sat_const[table_size], 0xFFFFFFFFFFFFFFFF)); + } + code.pblendvb(xmm_table0, defaults); + + ctx.reg_alloc.DefineValue(inst, xmm_table0); + return; + } + + const u32 stack_space = static_cast(6 * 8); + ctx.reg_alloc.AllocStackSpace(stack_space + ABI_SHADOW_SPACE); + for (size_t i = 0; i < table_size; ++i) { + const Xbyak::Xmm table_value = ctx.reg_alloc.UseXmm(table[i]); + code.movq(qword[rsp + ABI_SHADOW_SPACE + i * 8], table_value); + ctx.reg_alloc.Release(table_value); + } + const Xbyak::Xmm defaults = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm indicies = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + ctx.reg_alloc.HostCall(nullptr); + + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 4 * 8]); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE + 5 * 8]); + code.mov(code.ABI_PARAM4.cvt32(), table_size); + code.movq(qword[code.ABI_PARAM2], defaults); + code.movq(qword[code.ABI_PARAM3], indicies); + + code.CallLambda( + [](const HalfVectorArray* table, HalfVectorArray& result, const HalfVectorArray& indicies, size_t table_size) { + for (size_t i = 0; i < result.size(); ++i) { + const size_t index = indicies[i] / table[0].size(); + const size_t elem = indicies[i] % table[0].size(); + if (index < table_size) { + result[i] = table[index][elem]; + } + } + }); + + code.movq(result, qword[rsp + ABI_SHADOW_SPACE + 4 * 8]); + ctx.reg_alloc.ReleaseStackSpace(stack_space + ABI_SHADOW_SPACE); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorTableLookup128(EmitContext& ctx, IR::Inst* inst) { + ASSERT(inst->GetArg(1).GetInst()->GetOpcode() == IR::Opcode::VectorTable); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + auto table = ctx.reg_alloc.GetArgumentInfo(inst->GetArg(1).GetInst()); + + const size_t table_size = std::count_if(table.begin(), table.end(), [](const auto& elem) { return !elem.IsVoid(); }); + const bool is_defaults_zero = !inst->GetArg(0).IsImmediate() && inst->GetArg(0).GetInst()->GetOpcode() == IR::Opcode::ZeroVector; + + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512BW | HostFeature::AVX512VBMI) && table_size == 4) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseScratchXmm(args[2]); + const Xbyak::Xmm defaults = ctx.reg_alloc.UseScratchXmm(args[0]); + + const Xbyak::Opmask write_mask = k1; + const Xbyak::Opmask upper_mask = k2; + + // Handle vector-table 0,1 + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + const Xbyak::Xmm xmm_table1 = ctx.reg_alloc.UseScratchXmm(table[1]); + + code.vptestnmb(write_mask, indicies, code.MConst(xword, 0xE0E0E0E0E0E0E0E0, 0xE0E0E0E0E0E0E0E0)); + code.vpermi2b(indicies | write_mask, xmm_table0, xmm_table1); + + ctx.reg_alloc.Release(xmm_table0); + ctx.reg_alloc.Release(xmm_table1); + + if (is_defaults_zero) { + code.vmovdqu8(defaults | write_mask | T_z, indicies); + } else { + code.vmovdqu8(defaults | write_mask, indicies); + } + + // Handle vector-table 2,3 + // vpcmpuble + code.vpcmpub(upper_mask, indicies, code.MConst(xword, 0x3F3F3F3F3F3F3F3F, 0x3F3F3F3F3F3F3F3F), CmpInt::LessEqual); + code.kandnw(write_mask, write_mask, upper_mask); + + const Xbyak::Xmm xmm_table2 = ctx.reg_alloc.UseScratchXmm(table[2]); + const Xbyak::Xmm xmm_table3 = ctx.reg_alloc.UseScratchXmm(table[3]); + + code.vpermi2b(indicies, xmm_table2, xmm_table3); + code.vmovdqu8(defaults | write_mask, indicies); + + ctx.reg_alloc.DefineValue(inst, defaults); + return; + } + + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512BW | HostFeature::AVX512VBMI) && table_size == 2) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseScratchXmm(args[2]); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + const Xbyak::Xmm xmm_table1 = ctx.reg_alloc.UseScratchXmm(table[1]); + const Xbyak::Opmask write_mask = k1; + + code.vptestnmb(write_mask, indicies, code.MConst(xword, 0xE0E0E0E0E0E0E0E0, 0xE0E0E0E0E0E0E0E0)); + code.vpermi2b(indicies, xmm_table0, xmm_table1); + + if (is_defaults_zero) { + code.vmovdqu8(result | write_mask | T_z, indicies); + } else { + code.vmovdqu8(result | write_mask, indicies); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::SSSE3) && is_defaults_zero && table_size == 1) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseScratchXmm(args[2]); + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + + code.paddusb(indicies, code.MConst(xword, 0x7070707070707070, 0x7070707070707070)); + code.pshufb(xmm_table0, indicies); + + ctx.reg_alloc.DefineValue(inst, xmm_table0); + return; + } + + if (code.HasHostFeature(HostFeature::SSE41) && table_size == 1) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm defaults = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddusb(xmm0, indicies, code.MConst(xword, 0x7070707070707070, 0x7070707070707070)); + } else { + code.movaps(xmm0, indicies); + code.paddusb(xmm0, code.MConst(xword, 0x7070707070707070, 0x7070707070707070)); + } + code.pshufb(xmm_table0, indicies); + code.pblendvb(xmm_table0, defaults); + + ctx.reg_alloc.DefineValue(inst, xmm_table0); + return; + } + + if (code.HasHostFeature(HostFeature::SSE41) && is_defaults_zero && table_size == 2) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseScratchXmm(args[2]); + const Xbyak::Xmm xmm_table0 = ctx.reg_alloc.UseScratchXmm(table[0]); + const Xbyak::Xmm xmm_table1 = ctx.reg_alloc.UseScratchXmm(table[1]); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpaddusb(xmm0, indicies, code.MConst(xword, 0x7070707070707070, 0x7070707070707070)); + } else { + code.movaps(xmm0, indicies); + code.paddusb(xmm0, code.MConst(xword, 0x7070707070707070, 0x7070707070707070)); + } + code.paddusb(indicies, code.MConst(xword, 0x6060606060606060, 0x6060606060606060)); + code.pshufb(xmm_table0, xmm0); + code.pshufb(xmm_table1, indicies); + code.pblendvb(xmm_table0, xmm_table1); + + ctx.reg_alloc.DefineValue(inst, xmm_table0); + return; + } + + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512BW)) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm masked = ctx.reg_alloc.ScratchXmm(); + + code.vpandd(masked, indicies, code.MConst(xword_b, 0xF0F0F0F0F0F0F0F0, 0xF0F0F0F0F0F0F0F0)); + + for (size_t i = 0; i < table_size; ++i) { + const Xbyak::Xmm xmm_table = ctx.reg_alloc.UseScratchXmm(table[i]); + const Xbyak::Opmask table_mask = k1; + const u64 table_index = Common::Replicate(i * 16, 8); + + code.vpcmpeqb(table_mask, masked, code.MConst(xword, table_index, table_index)); + + if (table_index == 0 && is_defaults_zero) { + code.vpshufb(result | table_mask | T_z, xmm_table, indicies); + } else { + code.vpshufb(result | table_mask, xmm_table, indicies); + } + + ctx.reg_alloc.Release(xmm_table); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm indicies = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm masked = ctx.reg_alloc.ScratchXmm(); + + code.movaps(masked, code.MConst(xword, 0xF0F0F0F0F0F0F0F0, 0xF0F0F0F0F0F0F0F0)); + code.pand(masked, indicies); + + for (size_t i = 0; i < table_size; ++i) { + const Xbyak::Xmm xmm_table = ctx.reg_alloc.UseScratchXmm(table[i]); + + const u64 table_index = Common::Replicate(i * 16, 8); + + if (table_index == 0) { + code.pxor(xmm0, xmm0); + code.pcmpeqb(xmm0, masked); + } else if (code.HasHostFeature(HostFeature::AVX)) { + code.vpcmpeqb(xmm0, masked, code.MConst(xword, table_index, table_index)); + } else { + code.movaps(xmm0, code.MConst(xword, table_index, table_index)); + code.pcmpeqb(xmm0, masked); + } + code.pshufb(xmm_table, indicies); + code.pblendvb(result, xmm_table); + + ctx.reg_alloc.Release(xmm_table); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const u32 stack_space = static_cast((table_size + 2) * 16); + ctx.reg_alloc.AllocStackSpace(stack_space + ABI_SHADOW_SPACE); + for (size_t i = 0; i < table_size; ++i) { + const Xbyak::Xmm table_value = ctx.reg_alloc.UseXmm(table[i]); + code.movaps(xword[rsp + ABI_SHADOW_SPACE + i * 16], table_value); + ctx.reg_alloc.Release(table_value); + } + const Xbyak::Xmm defaults = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm indicies = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + ctx.reg_alloc.HostCall(nullptr); + + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + (table_size + 0) * 16]); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE + (table_size + 1) * 16]); + code.mov(code.ABI_PARAM4.cvt32(), table_size); + code.movaps(xword[code.ABI_PARAM2], defaults); + code.movaps(xword[code.ABI_PARAM3], indicies); + + code.CallLambda( + [](const VectorArray* table, VectorArray& result, const VectorArray& indicies, size_t table_size) { + for (size_t i = 0; i < result.size(); ++i) { + const size_t index = indicies[i] / table[0].size(); + const size_t elem = indicies[i] % table[0].size(); + if (index < table_size) { + result[i] = table[index][elem]; + } + } + }); + + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + (table_size + 0) * 16]); + ctx.reg_alloc.ReleaseStackSpace(stack_space + ABI_SHADOW_SPACE); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitVectorTranspose8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm lower = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm upper = ctx.reg_alloc.UseScratchXmm(args[1]); + const bool part = args[2].GetImmediateU1(); + + if (!part) { + code.pand(lower, code.MConst(xword, 0x00FF00FF00FF00FF, 0x00FF00FF00FF00FF)); + code.psllw(upper, 8); + } else { + code.psrlw(lower, 8); + code.pand(upper, code.MConst(xword, 0xFF00FF00FF00FF00, 0xFF00FF00FF00FF00)); + } + code.por(lower, upper); + + ctx.reg_alloc.DefineValue(inst, lower); +} + +void EmitX64::EmitVectorTranspose16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm lower = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm upper = ctx.reg_alloc.UseScratchXmm(args[1]); + const bool part = args[2].GetImmediateU1(); + + if (!part) { + code.pand(lower, code.MConst(xword, 0x0000FFFF0000FFFF, 0x0000FFFF0000FFFF)); + code.pslld(upper, 16); + } else { + code.psrld(lower, 16); + code.pand(upper, code.MConst(xword, 0xFFFF0000FFFF0000, 0xFFFF0000FFFF0000)); + } + code.por(lower, upper); + + ctx.reg_alloc.DefineValue(inst, lower); +} + +void EmitX64::EmitVectorTranspose32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm lower = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm upper = ctx.reg_alloc.UseXmm(args[1]); + const bool part = args[2].GetImmediateU1(); + + code.shufps(lower, upper, !part ? 0b10001000 : 0b11011101); + code.pshufd(lower, lower, 0b11011000); + + ctx.reg_alloc.DefineValue(inst, lower); +} + +void EmitX64::EmitVectorTranspose64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm lower = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm upper = ctx.reg_alloc.UseXmm(args[1]); + const bool part = args[2].GetImmediateU1(); + + code.shufpd(lower, upper, !part ? 0b00 : 0b11); + + ctx.reg_alloc.DefineValue(inst, lower); +} + +static void EmitVectorUnsignedAbsoluteDifference(size_t esize, EmitContext& ctx, IR::Inst* inst, BlockOfCode& code) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm temp = ctx.reg_alloc.ScratchXmm(); + + switch (esize) { + case 8: { + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.movdqa(temp, x); + code.psubusb(temp, y); + code.psubusb(y, x); + code.por(temp, y); + break; + } + case 16: { + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.movdqa(temp, x); + code.psubusw(temp, y); + code.psubusw(y, x); + code.por(temp, y); + break; + } + case 32: + if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + + code.movdqa(temp, x); + code.pminud(x, y); + code.pmaxud(temp, y); + code.psubd(temp, x); + } else { + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + + code.movdqa(temp, code.MConst(xword, 0x8000000080000000, 0x8000000080000000)); + code.pxor(x, temp); + code.pxor(y, temp); + code.movdqa(temp, x); + code.psubd(temp, y); + code.pcmpgtd(y, x); + code.psrld(y, 1); + code.pxor(temp, y); + code.psubd(temp, y); + } + break; + } + + ctx.reg_alloc.DefineValue(inst, temp); +} + +void EmitX64::EmitVectorUnsignedAbsoluteDifference8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorUnsignedAbsoluteDifference(8, ctx, inst, code); +} + +void EmitX64::EmitVectorUnsignedAbsoluteDifference16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorUnsignedAbsoluteDifference(16, ctx, inst, code); +} + +void EmitX64::EmitVectorUnsignedAbsoluteDifference32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorUnsignedAbsoluteDifference(32, ctx, inst, code); +} + +void EmitX64::EmitVectorUnsignedMultiply16(EmitContext& ctx, IR::Inst* inst) { + const auto upper_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetUpperFromOp); + const auto lower_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetLowerFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + + if (upper_inst) { + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpmulhuw(result, x, y); + } else { + code.movdqa(result, x); + code.pmulhuw(result, y); + } + + ctx.reg_alloc.DefineValue(upper_inst, result); + ctx.EraseInstruction(upper_inst); + } + + if (lower_inst) { + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpmullw(result, x, y); + } else { + code.movdqa(result, x); + code.pmullw(result, y); + } + ctx.reg_alloc.DefineValue(lower_inst, result); + ctx.EraseInstruction(lower_inst); + } +} + +void EmitX64::EmitVectorUnsignedMultiply32(EmitContext& ctx, IR::Inst* inst) { + const auto upper_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetUpperFromOp); + const auto lower_inst = inst->GetAssociatedPseudoOperation(IR::Opcode::GetLowerFromOp); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (lower_inst && !upper_inst && code.HasHostFeature(HostFeature::AVX)) { + const Xbyak::Xmm x = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vpmulld(result, x, y); + + ctx.reg_alloc.DefineValue(lower_inst, result); + ctx.EraseInstruction(lower_inst); + return; + } + + if (code.HasHostFeature(HostFeature::AVX)) { + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + + if (lower_inst) { + const Xbyak::Xmm lower_result = ctx.reg_alloc.ScratchXmm(); + code.vpmulld(lower_result, x, y); + ctx.reg_alloc.DefineValue(lower_inst, lower_result); + ctx.EraseInstruction(lower_inst); + } + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.vpmuludq(result, x, y); + code.vpsrlq(x, x, 32); + code.vpsrlq(y, y, 32); + code.vpmuludq(x, x, y); + code.shufps(result, x, 0b11011101); + + ctx.reg_alloc.DefineValue(upper_inst, result); + ctx.EraseInstruction(upper_inst); + return; + } + + const Xbyak::Xmm x = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm y = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm upper_result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm lower_result = ctx.reg_alloc.ScratchXmm(); + + // calculate unsigned multiply + code.movdqa(tmp, x); + code.pmuludq(tmp, y); + code.psrlq(x, 32); + code.psrlq(y, 32); + code.pmuludq(x, y); + + // put everything into place + code.pcmpeqw(upper_result, upper_result); + code.pcmpeqw(lower_result, lower_result); + code.psllq(upper_result, 32); + code.psrlq(lower_result, 32); + code.pand(upper_result, x); + code.pand(lower_result, tmp); + code.psrlq(tmp, 32); + code.psllq(x, 32); + code.por(upper_result, tmp); + code.por(lower_result, x); + + if (upper_inst) { + ctx.reg_alloc.DefineValue(upper_inst, upper_result); + ctx.EraseInstruction(upper_inst); + } + if (lower_inst) { + ctx.reg_alloc.DefineValue(lower_inst, lower_result); + ctx.EraseInstruction(lower_inst); + } +} + +void EmitX64::EmitVectorUnsignedRecipEstimate(EmitContext& ctx, IR::Inst* inst) { + EmitOneArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + for (size_t i = 0; i < result.size(); i++) { + if ((a[i] & 0x80000000) == 0) { + result[i] = 0xFFFFFFFF; + continue; + } + + const u32 input = Common::Bits<23, 31>(a[i]); + const u32 estimate = Common::RecipEstimate(input); + + result[i] = (0b100000000 | estimate) << 23; + } + }); +} + +void EmitX64::EmitVectorUnsignedRecipSqrtEstimate(EmitContext& ctx, IR::Inst* inst) { + EmitOneArgumentFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + for (size_t i = 0; i < result.size(); i++) { + if ((a[i] & 0xC0000000) == 0) { + result[i] = 0xFFFFFFFF; + continue; + } + + const u32 input = Common::Bits<23, 31>(a[i]); + const u32 estimate = Common::RecipSqrtEstimate(input); + + result[i] = (0b100000000 | estimate) << 23; + } + }); +} + +// Simple generic case for 8, 16, and 32-bit values. 64-bit values +// will need to be special-cased as we can't simply use a larger integral size. +template> +static bool EmitVectorUnsignedSaturatedAccumulateSigned(VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + static_assert(std::is_signed_v, "T must be signed."); + static_assert(Common::BitSize() < 64, "T must be less than 64 bits in size."); + + bool qc_flag = false; + + for (size_t i = 0; i < result.size(); i++) { + // We treat rhs' members as unsigned, so cast to unsigned before signed to inhibit sign-extension. + // We use the unsigned equivalent of T, as we want zero-extension to occur, rather than a plain move. + const s64 x = s64{lhs[i]}; + const s64 y = static_cast(static_cast>(rhs[i])); + const s64 sum = x + y; + + if (sum > std::numeric_limits::max()) { + result[i] = std::numeric_limits::max(); + qc_flag = true; + } else if (sum < 0) { + result[i] = std::numeric_limits::min(); + qc_flag = true; + } else { + result[i] = static_cast(sum); + } + } + + return qc_flag; +} + +void EmitX64::EmitVectorUnsignedSaturatedAccumulateSigned8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, EmitVectorUnsignedSaturatedAccumulateSigned); +} + +void EmitX64::EmitVectorUnsignedSaturatedAccumulateSigned16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, EmitVectorUnsignedSaturatedAccumulateSigned); +} + +void EmitX64::EmitVectorUnsignedSaturatedAccumulateSigned32(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, EmitVectorUnsignedSaturatedAccumulateSigned); +} + +void EmitX64::EmitVectorUnsignedSaturatedAccumulateSigned64(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& lhs, const VectorArray& rhs) { + bool qc_flag = false; + + for (size_t i = 0; i < result.size(); i++) { + const u64 x = lhs[i]; + const u64 y = rhs[i]; + const u64 res = x + y; + + // Check sign bits to determine if an overflow occurred. + if ((~x & y & ~res) & 0x8000000000000000) { + result[i] = UINT64_MAX; + qc_flag = true; + } else if ((x & ~y & res) & 0x8000000000000000) { + result[i] = 0; + qc_flag = true; + } else { + result[i] = res; + } + } + + return qc_flag; + }); +} + +void EmitX64::EmitVectorUnsignedSaturatedNarrow16(EmitContext& ctx, IR::Inst* inst) { + EmitOneArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + bool qc_flag = false; + for (size_t i = 0; i < a.size(); ++i) { + const u16 saturated = std::clamp(a[i], 0, 0xFF); + result[i] = static_cast(saturated); + qc_flag |= saturated != a[i]; + } + return qc_flag; + }); +} + +void EmitX64::EmitVectorUnsignedSaturatedNarrow32(EmitContext& ctx, IR::Inst* inst) { + EmitOneArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + bool qc_flag = false; + for (size_t i = 0; i < a.size(); ++i) { + const u32 saturated = std::clamp(a[i], 0, 0xFFFF); + result[i] = static_cast(saturated); + qc_flag |= saturated != a[i]; + } + return qc_flag; + }); +} + +void EmitX64::EmitVectorUnsignedSaturatedNarrow64(EmitContext& ctx, IR::Inst* inst) { + EmitOneArgumentFallbackWithSaturation(code, ctx, inst, [](VectorArray& result, const VectorArray& a) { + bool qc_flag = false; + for (size_t i = 0; i < a.size(); ++i) { + const u64 saturated = std::clamp(a[i], 0, 0xFFFFFFFF); + result[i] = static_cast(saturated); + qc_flag |= saturated != a[i]; + } + return qc_flag; + }); +} + +template> +static bool VectorUnsignedSaturatedShiftLeft(VectorArray& dst, const VectorArray& data, const VectorArray& shift_values) { + static_assert(std::is_unsigned_v, "T must be an unsigned type."); + + bool qc_flag = false; + + constexpr size_t bit_size = Common::BitSize(); + constexpr S negative_bit_size = -static_cast(bit_size); + + for (size_t i = 0; i < dst.size(); i++) { + const T element = data[i]; + const S shift = std::clamp(static_cast(Common::SignExtend<8>(shift_values[i] & 0xFF)), + negative_bit_size, std::numeric_limits::max()); + + if (element == 0 || shift <= negative_bit_size) { + dst[i] = 0; + } else if (shift < 0) { + dst[i] = static_cast(element >> -shift); + } else if (shift >= static_cast(bit_size)) { + dst[i] = std::numeric_limits::max(); + qc_flag = true; + } else { + const T shifted = element << shift; + + if ((shifted >> shift) != element) { + dst[i] = std::numeric_limits::max(); + qc_flag = true; + } else { + dst[i] = shifted; + } + } + } + + return qc_flag; +} + +void EmitX64::EmitVectorUnsignedSaturatedShiftLeft8(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorUnsignedSaturatedShiftLeft); +} + +void EmitX64::EmitVectorUnsignedSaturatedShiftLeft16(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorUnsignedSaturatedShiftLeft); +} + +void EmitX64::EmitVectorUnsignedSaturatedShiftLeft32(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorUnsignedSaturatedShiftLeft); +} + +void EmitX64::EmitVectorUnsignedSaturatedShiftLeft64(EmitContext& ctx, IR::Inst* inst) { + EmitTwoArgumentFallbackWithSaturation(code, ctx, inst, VectorUnsignedSaturatedShiftLeft); +} + +void EmitX64::EmitVectorZeroExtend8(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pmovzxbw(a, a); + } else { + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + code.pxor(zeros, zeros); + code.punpcklbw(a, zeros); + } + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorZeroExtend16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pmovzxwd(a, a); + } else { + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + code.pxor(zeros, zeros); + code.punpcklwd(a, zeros); + } + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorZeroExtend32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + if (code.HasHostFeature(HostFeature::SSE41)) { + code.pmovzxdq(a, a); + } else { + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + code.pxor(zeros, zeros); + code.punpckldq(a, zeros); + } + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorZeroExtend64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm zeros = ctx.reg_alloc.ScratchXmm(); + code.pxor(zeros, zeros); + code.punpcklqdq(a, zeros); + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitVectorZeroUpper(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + + code.movq(a, a); // TODO: !IsLastUse + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitZeroVector(EmitContext& ctx, IR::Inst* inst) { + const Xbyak::Xmm a = ctx.reg_alloc.ScratchXmm(); + code.pxor(a, a); + ctx.reg_alloc.DefineValue(inst, a); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector_floating_point.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector_floating_point.cpp new file mode 100755 index 000000000..e4f77d6d6 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector_floating_point.cpp @@ -0,0 +1,1761 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/op.h" +#include "dynarmic/common/fp/util.h" +#include "dynarmic/common/lut_from_list.h" +#include "dynarmic/interface/optimization_flags.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +namespace { + +#define FCODE(NAME) \ + [&code](auto... args) { \ + if constexpr (fsize == 32) { \ + code.NAME##s(args...); \ + } else { \ + code.NAME##d(args...); \ + } \ + } +#define ICODE(NAME) \ + [&code](auto... args) { \ + if constexpr (fsize == 32) { \ + code.NAME##d(args...); \ + } else { \ + code.NAME##q(args...); \ + } \ + } + +template +void MaybeStandardFPSCRValue(BlockOfCode& code, EmitContext& ctx, bool fpcr_controlled, Lambda lambda) { + const bool switch_mxcsr = ctx.FPCR(fpcr_controlled) != ctx.FPCR(); + + if (switch_mxcsr) { + code.EnterStandardASIMD(); + lambda(); + code.LeaveStandardASIMD(); + } else { + lambda(); + } +} + +template class Indexer, size_t narg> +struct NaNHandler { +public: + using FPT = mp::unsigned_integer_of_size; + + using function_type = void (*)(std::array, narg>&, FP::FPCR); + + static function_type GetDefault() { + return GetDefaultImpl(std::make_index_sequence{}); + } + +private: + template + static function_type GetDefaultImpl(std::index_sequence) { + const auto result = [](std::array, narg>& values, FP::FPCR) { + VectorArray& result = values[0]; + for (size_t elementi = 0; elementi < result.size(); ++elementi) { + const auto current_values = Indexer{}(elementi, values[argi + 1]...); + if (auto r = FP::ProcessNaNs(std::get(current_values)...)) { + result[elementi] = *r; + } else if (FP::IsNaN(result[elementi])) { + result[elementi] = FP::FPInfo::DefaultNaN(); + } + } + }; + + return static_cast(result); + } +}; + +template +void HandleNaNs(BlockOfCode& code, EmitContext& ctx, bool fpcr_controlled, std::array xmms, const Xbyak::Xmm& nan_mask, NaNHandler nan_handler) { + static_assert(fsize == 32 || fsize == 64, "fsize must be either 32 or 64"); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.ptest(nan_mask, nan_mask); + } else { + const Xbyak::Reg32 bitmask = ctx.reg_alloc.ScratchGpr().cvt32(); + code.movmskps(bitmask, nan_mask); + code.cmp(bitmask, 0); + } + + Xbyak::Label end; + Xbyak::Label nan; + + code.jnz(nan, code.T_NEAR); + code.L(end); + + code.SwitchToFarCode(); + code.L(nan); + + const Xbyak::Xmm result = xmms[0]; + + code.sub(rsp, 8); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + + const size_t stack_space = xmms.size() * 16; + code.sub(rsp, stack_space + ABI_SHADOW_SPACE); + for (size_t i = 0; i < xmms.size(); ++i) { + code.movaps(xword[rsp + ABI_SHADOW_SPACE + i * 16], xmms[i]); + } + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.mov(code.ABI_PARAM2, ctx.FPCR(fpcr_controlled).Value()); + + code.CallFunction(nan_handler); + + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.add(rsp, stack_space + ABI_SHADOW_SPACE); + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.add(rsp, 8); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); +} + +template +Xbyak::Address GetVectorOf(BlockOfCode& code, u64 value) { + if constexpr (fsize == 32) { + return code.MConst(xword, (value << 32) | value, (value << 32) | value); + } else { + return code.MConst(xword, value, value); + } +} + +template +Xbyak::Address GetVectorOf(BlockOfCode& code) { + if constexpr (fsize == 32) { + return code.MConst(xword, (value << 32) | value, (value << 32) | value); + } else { + return code.MConst(xword, value, value); + } +} + +template +Xbyak::Address GetNaNVector(BlockOfCode& code) { + using FPT = mp::unsigned_integer_of_size; + return GetVectorOf::DefaultNaN()>(code); +} + +template +Xbyak::Address GetNegativeZeroVector(BlockOfCode& code) { + using FPT = mp::unsigned_integer_of_size; + return GetVectorOf::Zero(true)>(code); +} + +template +Xbyak::Address GetSmallestNormalVector(BlockOfCode& code) { + using FPT = mp::unsigned_integer_of_size; + constexpr FPT smallest_normal_number = FP::FPValue::exponent_min, 1>(); + return GetVectorOf(code); +} + +template value> +Xbyak::Address GetVectorOf(BlockOfCode& code) { + using FPT = mp::unsigned_integer_of_size; + return GetVectorOf()>(code); +} + +template +void ForceToDefaultNaN(BlockOfCode& code, FP::FPCR fpcr, Xbyak::Xmm result) { + if (fpcr.DN()) { + const Xbyak::Xmm nan_mask = xmm0; + if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vcmpunordp)(nan_mask, result, result); + FCODE(blendvp)(result, GetNaNVector(code)); + } else { + code.movaps(nan_mask, result); + FCODE(cmpordp)(nan_mask, nan_mask); + code.andps(result, nan_mask); + code.andnps(nan_mask, GetNaNVector(code)); + code.orps(result, nan_mask); + } + } +} + +template +void ZeroIfNaN(BlockOfCode& code, Xbyak::Xmm result) { + const Xbyak::Xmm nan_mask = xmm0; + if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vcmpordp)(nan_mask, result, result); + FCODE(vandp)(result, result, nan_mask); + } else { + code.movaps(nan_mask, result); + FCODE(cmpordp)(nan_mask, nan_mask); + code.andps(result, nan_mask); + } +} + +template +void DenormalsAreZero(BlockOfCode& code, FP::FPCR fpcr, std::initializer_list to_daz, Xbyak::Xmm tmp) { + if (fpcr.FZ()) { + if (fpcr.RMode() != FP::RoundingMode::TowardsMinusInfinity) { + code.movaps(tmp, GetNegativeZeroVector(code)); + } else { + code.xorps(tmp, tmp); + } + for (const Xbyak::Xmm& xmm : to_daz) { + FCODE(addp)(xmm, tmp); + } + } +} + +template +struct DefaultIndexer { + std::tuple operator()(size_t i, const VectorArray& a) { + return std::make_tuple(a[i]); + } + + std::tuple operator()(size_t i, const VectorArray& a, const VectorArray& b) { + return std::make_tuple(a[i], b[i]); + } + + std::tuple operator()(size_t i, const VectorArray& a, const VectorArray& b, const VectorArray& c) { + return std::make_tuple(a[i], b[i], c[i]); + } +}; + +template +struct PairedIndexer { + std::tuple operator()(size_t i, const VectorArray& a, const VectorArray& b) { + constexpr size_t halfway = std::tuple_size_v> / 2; + const size_t which_array = i / halfway; + i %= halfway; + switch (which_array) { + case 0: + return std::make_tuple(a[2 * i], a[2 * i + 1]); + case 1: + return std::make_tuple(b[2 * i], b[2 * i + 1]); + } + UNREACHABLE(); + } +}; + +template +struct PairedLowerIndexer { + std::tuple operator()(size_t i, const VectorArray& a, const VectorArray& b) { + constexpr size_t array_size = std::tuple_size_v>; + if constexpr (array_size == 4) { + switch (i) { + case 0: + return std::make_tuple(a[0], a[1]); + case 1: + return std::make_tuple(b[0], b[1]); + default: + return std::make_tuple(0, 0); + } + } else if constexpr (array_size == 2) { + if (i == 0) { + return std::make_tuple(a[0], b[0]); + } + return std::make_tuple(0, 0); + } else { + UNREACHABLE(); + } + } +}; + +template class Indexer, size_t fpcr_controlled_arg_index = 1, typename Function> +void EmitTwoOpVectorOperation(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Function fn, typename NaNHandler::function_type nan_handler = NaNHandler::GetDefault()) { + static_assert(fsize == 32 || fsize == 64, "fsize must be either 32 or 64"); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[fpcr_controlled_arg_index].GetImmediateU1(); + + if (ctx.FPCR(fpcr_controlled).DN() || ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + Xbyak::Xmm result; + + if constexpr (std::is_member_function_pointer_v) { + result = ctx.reg_alloc.UseScratchXmm(args[0]); + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + (code.*fn)(result); + }); + } else { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseXmm(args[0]); + result = ctx.reg_alloc.ScratchXmm(); + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + fn(result, xmm_a); + }); + } + + if (!ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + ForceToDefaultNaN(code, ctx.FPCR(fpcr_controlled), result); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm nan_mask = ctx.reg_alloc.ScratchXmm(); + + if constexpr (std::is_member_function_pointer_v) { + code.movaps(result, xmm_a); + (code.*fn)(result); + } else { + fn(result, xmm_a); + } + + if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vcmpunordp)(nan_mask, result, result); + } else { + code.movaps(nan_mask, result); + FCODE(cmpunordp)(nan_mask, nan_mask); + } + + HandleNaNs(code, ctx, fpcr_controlled, {result, xmm_a}, nan_mask, nan_handler); + + ctx.reg_alloc.DefineValue(inst, result); +} + +enum CheckInputNaN { + Yes, + No, +}; + +template class Indexer, typename Function> +void EmitThreeOpVectorOperation(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Function fn, CheckInputNaN check_input_nan = CheckInputNaN::No, typename NaNHandler::function_type nan_handler = NaNHandler::GetDefault()) { + static_assert(fsize == 32 || fsize == 64, "fsize must be either 32 or 64"); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + + if (ctx.FPCR(fpcr_controlled).DN() || ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + + if constexpr (std::is_member_function_pointer_v) { + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + (code.*fn)(xmm_a, xmm_b); + }); + } else { + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + fn(xmm_a, xmm_b); + }); + } + + if (!ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + ForceToDefaultNaN(code, ctx.FPCR(fpcr_controlled), xmm_a); + } + + ctx.reg_alloc.DefineValue(inst, xmm_a); + return; + } + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm nan_mask = ctx.reg_alloc.ScratchXmm(); + + code.movaps(result, xmm_a); + + if (check_input_nan == CheckInputNaN::Yes) { + if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vcmpunordp)(nan_mask, xmm_a, xmm_b); + } else { + code.movaps(nan_mask, xmm_b); + FCODE(cmpunordp)(nan_mask, xmm_a); + } + } + + if constexpr (std::is_member_function_pointer_v) { + (code.*fn)(result, xmm_b); + } else { + fn(result, xmm_b); + } + + if (check_input_nan == CheckInputNaN::Yes) { + FCODE(cmpunordp)(nan_mask, result); + } else if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vcmpunordp)(nan_mask, result, result); + } else { + code.movaps(nan_mask, result); + FCODE(cmpunordp)(nan_mask, nan_mask); + } + + HandleNaNs(code, ctx, fpcr_controlled, {result, xmm_a, xmm_b}, nan_mask, nan_handler); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +void EmitTwoOpFallbackWithoutRegAlloc(BlockOfCode& code, EmitContext& ctx, Xbyak::Xmm result, Xbyak::Xmm arg1, Lambda lambda, bool fpcr_controlled) { + const auto fn = static_cast*>(lambda); + + const u32 fpcr = ctx.FPCR(fpcr_controlled).Value(); + + constexpr u32 stack_space = 2 * 16; + code.sub(rsp, stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + code.mov(code.ABI_PARAM3.cvt32(), fpcr); + code.lea(code.ABI_PARAM4, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + + code.movaps(xword[code.ABI_PARAM2], arg1); + code.CallFunction(fn); + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 0 * 16]); + + code.add(rsp, stack_space + ABI_SHADOW_SPACE); +} + +template +void EmitTwoOpFallback(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Lambda lambda) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm arg1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + ctx.reg_alloc.HostCall(nullptr); + + const bool fpcr_controlled = args[fpcr_controlled_arg_index].GetImmediateU1(); + + EmitTwoOpFallbackWithoutRegAlloc(code, ctx, result, arg1, lambda, fpcr_controlled); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +void EmitThreeOpFallbackWithoutRegAlloc(BlockOfCode& code, EmitContext& ctx, Xbyak::Xmm result, Xbyak::Xmm arg1, Xbyak::Xmm arg2, Lambda lambda, bool fpcr_controlled) { + const auto fn = static_cast*>(lambda); + + const u32 fpcr = ctx.FPCR(fpcr_controlled).Value(); + +#ifdef _WIN32 + constexpr u32 stack_space = 4 * 16; + code.sub(rsp, stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 2 * 16]); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE + 3 * 16]); + code.mov(code.ABI_PARAM4.cvt32(), fpcr); + code.lea(rax, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.mov(qword[rsp + ABI_SHADOW_SPACE + 0], rax); +#else + constexpr u32 stack_space = 3 * 16; + code.sub(rsp, stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE + 2 * 16]); + code.mov(code.ABI_PARAM4.cvt32(), fpcr); + code.lea(code.ABI_PARAM5, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); +#endif + + code.movaps(xword[code.ABI_PARAM2], arg1); + code.movaps(xword[code.ABI_PARAM3], arg2); + code.CallFunction(fn); + +#ifdef _WIN32 + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 1 * 16]); +#else + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 0 * 16]); +#endif + + code.add(rsp, stack_space + ABI_SHADOW_SPACE); +} + +template +void EmitThreeOpFallback(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Lambda lambda) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm arg1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm arg2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + ctx.reg_alloc.HostCall(nullptr); + + const bool fpcr_controlled = args[2].GetImmediateU1(); + + EmitThreeOpFallbackWithoutRegAlloc(code, ctx, result, arg1, arg2, lambda, fpcr_controlled); + + ctx.reg_alloc.DefineValue(inst, result); +} + +template +void EmitFourOpFallbackWithoutRegAlloc(BlockOfCode& code, EmitContext& ctx, Xbyak::Xmm result, Xbyak::Xmm arg1, Xbyak::Xmm arg2, Xbyak::Xmm arg3, Lambda lambda, bool fpcr_controlled) { + const auto fn = static_cast*>(lambda); + +#ifdef _WIN32 + constexpr u32 stack_space = 5 * 16; + code.sub(rsp, stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 2 * 16]); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE + 3 * 16]); + code.lea(code.ABI_PARAM4, ptr[rsp + ABI_SHADOW_SPACE + 4 * 16]); + code.mov(qword[rsp + ABI_SHADOW_SPACE + 0], ctx.FPCR(fpcr_controlled).Value()); + code.lea(rax, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); + code.mov(qword[rsp + ABI_SHADOW_SPACE + 8], rax); +#else + constexpr u32 stack_space = 4 * 16; + code.sub(rsp, stack_space + ABI_SHADOW_SPACE); + code.lea(code.ABI_PARAM1, ptr[rsp + ABI_SHADOW_SPACE + 0 * 16]); + code.lea(code.ABI_PARAM2, ptr[rsp + ABI_SHADOW_SPACE + 1 * 16]); + code.lea(code.ABI_PARAM3, ptr[rsp + ABI_SHADOW_SPACE + 2 * 16]); + code.lea(code.ABI_PARAM4, ptr[rsp + ABI_SHADOW_SPACE + 3 * 16]); + code.mov(code.ABI_PARAM5.cvt32(), ctx.FPCR(fpcr_controlled).Value()); + code.lea(code.ABI_PARAM6, code.ptr[code.r15 + code.GetJitStateInfo().offsetof_fpsr_exc]); +#endif + + code.movaps(xword[code.ABI_PARAM2], arg1); + code.movaps(xword[code.ABI_PARAM3], arg2); + code.movaps(xword[code.ABI_PARAM4], arg3); + code.CallFunction(fn); + +#ifdef _WIN32 + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 1 * 16]); +#else + code.movaps(result, xword[rsp + ABI_SHADOW_SPACE + 0 * 16]); +#endif + + code.add(rsp, stack_space + ABI_SHADOW_SPACE); +} + +template +void EmitFourOpFallback(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, Lambda lambda) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[3].GetImmediateU1(); + const Xbyak::Xmm arg1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm arg2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm arg3 = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + ctx.reg_alloc.EndOfAllocScope(); + ctx.reg_alloc.HostCall(nullptr); + + EmitFourOpFallbackWithoutRegAlloc(code, ctx, result, arg1, arg2, arg3, lambda, fpcr_controlled); + + ctx.reg_alloc.DefineValue(inst, result); +} + +} // anonymous namespace + +void EmitX64::EmitFPVectorAbs16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Address mask = code.MConst(xword, 0x7FFF7FFF7FFF7FFF, 0x7FFF7FFF7FFF7FFF); + + code.pand(a, mask); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitFPVectorAbs32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Address mask = code.MConst(xword, 0x7FFFFFFF7FFFFFFF, 0x7FFFFFFF7FFFFFFF); + + code.andps(a, mask); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitFPVectorAbs64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Address mask = code.MConst(xword, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF); + + code.andpd(a, mask); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitFPVectorAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<32, DefaultIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::addps); +} + +void EmitX64::EmitFPVectorAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<64, DefaultIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::addpd); +} + +void EmitX64::EmitFPVectorDiv32(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<32, DefaultIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::divps); +} + +void EmitX64::EmitFPVectorDiv64(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<64, DefaultIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::divpd); +} + +void EmitX64::EmitFPVectorEqual16(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& op1, const VectorArray& op2, FP::FPCR fpcr, FP::FPSR& fpsr) { + for (size_t i = 0; i < result.size(); i++) { + result[i] = FP::FPCompareEQ(op1[i], op2[i], fpcr, fpsr) ? 0xFFFF : 0; + } + }); +} + +void EmitX64::EmitFPVectorEqual32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.FPCR(fpcr_controlled).FZ() ? ctx.reg_alloc.UseScratchXmm(args[1]) : ctx.reg_alloc.UseXmm(args[1]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + DenormalsAreZero<32>(code, ctx.FPCR(fpcr_controlled), {a, b}, xmm0); + code.cmpeqps(a, b); + }); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitFPVectorEqual64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm b = ctx.FPCR(fpcr_controlled).FZ() ? ctx.reg_alloc.UseScratchXmm(args[1]) : ctx.reg_alloc.UseXmm(args[1]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + DenormalsAreZero<64>(code, ctx.FPCR(fpcr_controlled), {a, b}, xmm0); + code.cmpeqpd(a, b); + }); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitFPVectorFromSignedFixed32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm xmm = ctx.reg_alloc.UseScratchXmm(args[0]); + const int fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + const bool fpcr_controlled = args[3].GetImmediateU1(); + ASSERT(rounding_mode == ctx.FPCR(fpcr_controlled).RMode()); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + code.cvtdq2ps(xmm, xmm); + if (fbits != 0) { + code.mulps(xmm, GetVectorOf<32>(code, static_cast(127 - fbits) << 23)); + } + }); + + ctx.reg_alloc.DefineValue(inst, xmm); +} + +void EmitX64::EmitFPVectorFromSignedFixed64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm xmm = ctx.reg_alloc.UseScratchXmm(args[0]); + const int fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + const bool fpcr_controlled = args[3].GetImmediateU1(); + ASSERT(rounding_mode == ctx.FPCR(fpcr_controlled).RMode()); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + if (code.HasHostFeature(HostFeature::AVX512_OrthoFloat)) { + code.vcvtqq2pd(xmm, xmm); + } else if (code.HasHostFeature(HostFeature::SSE41)) { + const Xbyak::Xmm xmm_tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg64 tmp = ctx.reg_alloc.ScratchGpr(); + + // First quadword + code.movq(tmp, xmm); + code.cvtsi2sd(xmm, tmp); + + // Second quadword + code.pextrq(tmp, xmm, 1); + code.cvtsi2sd(xmm_tmp, tmp); + + // Combine + code.unpcklpd(xmm, xmm_tmp); + } else { + const Xbyak::Xmm high_xmm = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg64 tmp = ctx.reg_alloc.ScratchGpr(); + + // First quadword + code.movhlps(high_xmm, xmm); + code.movq(tmp, xmm); + code.cvtsi2sd(xmm, tmp); + + // Second quadword + code.movq(tmp, high_xmm); + code.cvtsi2sd(xmm_tmp, tmp); + + // Combine + code.unpcklpd(xmm, xmm_tmp); + } + + if (fbits != 0) { + code.mulpd(xmm, GetVectorOf<64>(code, static_cast(1023 - fbits) << 52)); + } + }); + + ctx.reg_alloc.DefineValue(inst, xmm); +} + +void EmitX64::EmitFPVectorFromUnsignedFixed32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm xmm = ctx.reg_alloc.UseScratchXmm(args[0]); + const int fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + const bool fpcr_controlled = args[3].GetImmediateU1(); + ASSERT(rounding_mode == ctx.FPCR(fpcr_controlled).RMode()); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + if (code.HasHostFeature(HostFeature::AVX512_Ortho)) { + code.vcvtudq2ps(xmm, xmm); + } else { + const Xbyak::Address mem_4B000000 = code.MConst(xword, 0x4B0000004B000000, 0x4B0000004B000000); + const Xbyak::Address mem_53000000 = code.MConst(xword, 0x5300000053000000, 0x5300000053000000); + const Xbyak::Address mem_D3000080 = code.MConst(xword, 0xD3000080D3000080, 0xD3000080D3000080); + + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpblendw(tmp, xmm, mem_4B000000, 0b10101010); + code.vpsrld(xmm, xmm, 16); + code.vpblendw(xmm, xmm, mem_53000000, 0b10101010); + code.vaddps(xmm, xmm, mem_D3000080); + code.vaddps(xmm, tmp, xmm); + } else { + const Xbyak::Address mem_0xFFFF = code.MConst(xword, 0x0000FFFF0000FFFF, 0x0000FFFF0000FFFF); + + code.movdqa(tmp, mem_0xFFFF); + + code.pand(tmp, xmm); + code.por(tmp, mem_4B000000); + code.psrld(xmm, 16); + code.por(xmm, mem_53000000); + code.addps(xmm, mem_D3000080); + code.addps(xmm, tmp); + } + } + + if (fbits != 0) { + code.mulps(xmm, GetVectorOf<32>(code, static_cast(127 - fbits) << 23)); + } + + if (ctx.FPCR(fpcr_controlled).RMode() == FP::RoundingMode::TowardsMinusInfinity) { + code.pand(xmm, code.MConst(xword, 0x7FFFFFFF7FFFFFFF, 0x7FFFFFFF7FFFFFFF)); + } + }); + + ctx.reg_alloc.DefineValue(inst, xmm); +} + +void EmitX64::EmitFPVectorFromUnsignedFixed64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm xmm = ctx.reg_alloc.UseScratchXmm(args[0]); + const int fbits = args[1].GetImmediateU8(); + const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); + const bool fpcr_controlled = args[3].GetImmediateU1(); + ASSERT(rounding_mode == ctx.FPCR(fpcr_controlled).RMode()); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + if (code.HasHostFeature(HostFeature::AVX512_OrthoFloat)) { + code.vcvtuqq2pd(xmm, xmm); + } else { + const Xbyak::Address unpack = code.MConst(xword, 0x4530000043300000, 0); + const Xbyak::Address subtrahend = code.MConst(xword, 0x4330000000000000, 0x4530000000000000); + + const Xbyak::Xmm unpack_reg = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm subtrahend_reg = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm tmp1 = ctx.reg_alloc.ScratchXmm(); + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vmovapd(unpack_reg, unpack); + code.vmovapd(subtrahend_reg, subtrahend); + + code.vunpcklps(tmp1, xmm, unpack_reg); + code.vsubpd(tmp1, tmp1, subtrahend_reg); + + code.vpermilps(xmm, xmm, 0b01001110); + + code.vunpcklps(xmm, xmm, unpack_reg); + code.vsubpd(xmm, xmm, subtrahend_reg); + + code.vhaddpd(xmm, tmp1, xmm); + } else { + const Xbyak::Xmm tmp2 = ctx.reg_alloc.ScratchXmm(); + + code.movapd(unpack_reg, unpack); + code.movapd(subtrahend_reg, subtrahend); + + code.pshufd(tmp1, xmm, 0b01001110); + + code.punpckldq(xmm, unpack_reg); + code.subpd(xmm, subtrahend_reg); + code.pshufd(tmp2, xmm, 0b01001110); + code.addpd(xmm, tmp2); + + code.punpckldq(tmp1, unpack_reg); + code.subpd(tmp1, subtrahend_reg); + + code.pshufd(unpack_reg, tmp1, 0b01001110); + code.addpd(unpack_reg, tmp1); + + code.unpcklpd(xmm, unpack_reg); + } + } + + if (fbits != 0) { + code.mulpd(xmm, GetVectorOf<64>(code, static_cast(1023 - fbits) << 52)); + } + + if (ctx.FPCR(fpcr_controlled).RMode() == FP::RoundingMode::TowardsMinusInfinity) { + code.pand(xmm, code.MConst(xword, 0x7FFFFFFFFFFFFFFF, 0x7FFFFFFFFFFFFFFF)); + } + }); + + ctx.reg_alloc.DefineValue(inst, xmm); +} + +void EmitX64::EmitFPVectorGreater32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + const Xbyak::Xmm a = ctx.FPCR(fpcr_controlled).FZ() ? ctx.reg_alloc.UseScratchXmm(args[0]) : ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + DenormalsAreZero<32>(code, ctx.FPCR(fpcr_controlled), {a, b}, xmm0); + code.cmpltps(b, a); + }); + + ctx.reg_alloc.DefineValue(inst, b); +} + +void EmitX64::EmitFPVectorGreater64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + const Xbyak::Xmm a = ctx.FPCR(fpcr_controlled).FZ() ? ctx.reg_alloc.UseScratchXmm(args[0]) : ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + DenormalsAreZero<64>(code, ctx.FPCR(fpcr_controlled), {a, b}, xmm0); + code.cmpltpd(b, a); + }); + + ctx.reg_alloc.DefineValue(inst, b); +} + +void EmitX64::EmitFPVectorGreaterEqual32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + const Xbyak::Xmm a = ctx.FPCR(fpcr_controlled).FZ() ? ctx.reg_alloc.UseScratchXmm(args[0]) : ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + DenormalsAreZero<32>(code, ctx.FPCR(fpcr_controlled), {a, b}, xmm0); + code.cmpleps(b, a); + }); + + ctx.reg_alloc.DefineValue(inst, b); +} + +void EmitX64::EmitFPVectorGreaterEqual64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + const Xbyak::Xmm a = ctx.FPCR(fpcr_controlled).FZ() ? ctx.reg_alloc.UseScratchXmm(args[0]) : ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm b = ctx.reg_alloc.UseScratchXmm(args[1]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + DenormalsAreZero<64>(code, ctx.FPCR(fpcr_controlled), {a, b}, xmm0); + code.cmplepd(b, a); + }); + + ctx.reg_alloc.DefineValue(inst, b); +} + +template +static void EmitFPVectorMinMax(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + const bool fpcr_controlled = inst->GetArg(2).GetU1(); + + if (ctx.FPCR(fpcr_controlled).DN()) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.FPCR(fpcr_controlled).FZ() ? ctx.reg_alloc.UseScratchXmm(args[1]) : ctx.reg_alloc.UseXmm(args[1]); + + const Xbyak::Xmm mask = xmm0; + const Xbyak::Xmm eq = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm nan_mask = ctx.reg_alloc.ScratchXmm(); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + DenormalsAreZero(code, ctx.FPCR(fpcr_controlled), {result, xmm_b}, mask); + + if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vcmpeqp)(mask, result, xmm_b); + FCODE(vcmpunordp)(nan_mask, result, xmm_b); + if constexpr (is_max) { + FCODE(vandp)(eq, result, xmm_b); + FCODE(vmaxp)(result, result, xmm_b); + } else { + FCODE(vorp)(eq, result, xmm_b); + FCODE(vminp)(result, result, xmm_b); + } + FCODE(blendvp)(result, eq); + FCODE(vblendvp)(result, result, GetNaNVector(code), nan_mask); + } else { + code.movaps(mask, result); + code.movaps(eq, result); + code.movaps(nan_mask, result); + FCODE(cmpneqp)(mask, xmm_b); + FCODE(cmpordp)(nan_mask, xmm_b); + + if constexpr (is_max) { + code.andps(eq, xmm_b); + FCODE(maxp)(result, xmm_b); + } else { + code.orps(eq, xmm_b); + FCODE(minp)(result, xmm_b); + } + + code.andps(result, mask); + code.andnps(mask, eq); + code.orps(result, mask); + + code.andps(result, nan_mask); + code.andnps(nan_mask, GetNaNVector(code)); + code.orps(result, nan_mask); + } + }); + + ctx.reg_alloc.DefineValue(inst, result); + + return; + } + + EmitThreeOpVectorOperation( + code, ctx, inst, [&](const Xbyak::Xmm& result, Xbyak::Xmm xmm_b) { + const Xbyak::Xmm mask = xmm0; + const Xbyak::Xmm eq = ctx.reg_alloc.ScratchXmm(); + + if (ctx.FPCR(fpcr_controlled).FZ()) { + const Xbyak::Xmm prev_xmm_b = xmm_b; + xmm_b = ctx.reg_alloc.ScratchXmm(); + code.movaps(xmm_b, prev_xmm_b); + DenormalsAreZero(code, ctx.FPCR(fpcr_controlled), {result, xmm_b}, mask); + } + + // What we are doing here is handling the case when the inputs are differently signed zeros. + // x86-64 treats differently signed zeros as equal while ARM does not. + // Thus if we AND together things that x86-64 thinks are equal we'll get the positive zero. + + if (code.HasHostFeature(HostFeature::AVX)) { + FCODE(vcmpeqp)(mask, result, xmm_b); + if constexpr (is_max) { + FCODE(vandp)(eq, result, xmm_b); + FCODE(vmaxp)(result, result, xmm_b); + } else { + FCODE(vorp)(eq, result, xmm_b); + FCODE(vminp)(result, result, xmm_b); + } + FCODE(blendvp)(result, eq); + } else { + code.movaps(mask, result); + code.movaps(eq, result); + FCODE(cmpneqp)(mask, xmm_b); + + if constexpr (is_max) { + code.andps(eq, xmm_b); + FCODE(maxp)(result, xmm_b); + } else { + code.orps(eq, xmm_b); + FCODE(minp)(result, xmm_b); + } + + code.andps(result, mask); + code.andnps(mask, eq); + code.orps(result, mask); + } + }, + CheckInputNaN::Yes); +} + +void EmitX64::EmitFPVectorMax32(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMinMax<32, true>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorMax64(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMinMax<64, true>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorMin32(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMinMax<32, false>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorMin64(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMinMax<64, false>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorMul32(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<32, DefaultIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::mulps); +} + +void EmitX64::EmitFPVectorMul64(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<64, DefaultIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::mulpd); +} + +template +void EmitFPVectorMulAdd(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + const auto fallback_fn = [](VectorArray& result, const VectorArray& addend, const VectorArray& op1, const VectorArray& op2, FP::FPCR fpcr, FP::FPSR& fpsr) { + for (size_t i = 0; i < result.size(); i++) { + result[i] = FP::FPMulAdd(addend[i], op1[i], op2[i], fpcr, fpsr); + } + }; + + if constexpr (fsize != 16) { + if (code.HasHostFeature(HostFeature::FMA | HostFeature::AVX) && ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[3].GetImmediateU1(); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm xmm_c = ctx.reg_alloc.UseXmm(args[2]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + FCODE(vfmadd231p)(result, xmm_b, xmm_c); + }); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::FMA | HostFeature::AVX)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[3].GetImmediateU1(); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm xmm_c = ctx.reg_alloc.UseXmm(args[2]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + Xbyak::Label end, fallback; + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + code.movaps(result, xmm_a); + FCODE(vfmadd231p)(result, xmm_b, xmm_c); + + code.movaps(tmp, GetNegativeZeroVector(code)); + code.andnps(tmp, result); + FCODE(vcmpeq_uqp)(tmp, tmp, GetSmallestNormalVector(code)); + code.vptest(tmp, tmp); + code.jnz(fallback, code.T_NEAR); + code.L(end); + }); + + code.SwitchToFarCode(); + code.L(fallback); + code.sub(rsp, 8); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + EmitFourOpFallbackWithoutRegAlloc(code, ctx, result, xmm_a, xmm_b, xmm_c, fallback_fn, fpcr_controlled); + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.add(rsp, 8); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (ctx.HasOptimization(OptimizationFlag::Unsafe_UnfuseFMA)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseScratchXmm(args[1]); + const Xbyak::Xmm operand3 = ctx.reg_alloc.UseXmm(args[2]); + + FCODE(mulp)(operand2, operand3); + FCODE(addp)(operand1, operand2); + + ctx.reg_alloc.DefineValue(inst, operand1); + return; + } + } + + EmitFourOpFallback(code, ctx, inst, fallback_fn); +} + +void EmitX64::EmitFPVectorMulAdd16(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMulAdd<16>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorMulAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMulAdd<32>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorMulAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMulAdd<64>(code, ctx, inst); +} + +template +static void EmitFPVectorMulX(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + + if (ctx.FPCR(fpcr_controlled).DN() && code.HasHostFeature(HostFeature::AVX)) { + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm twos = ctx.reg_alloc.ScratchXmm(); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + FCODE(vcmpunordp)(xmm0, result, operand); + FCODE(vxorp)(twos, result, operand); + FCODE(mulp)(result, operand); + FCODE(andp)(twos, GetNegativeZeroVector(code)); + FCODE(vcmpunordp)(tmp, result, result); + FCODE(blendvp)(result, GetNaNVector(code)); + FCODE(orp)(twos, GetVectorOf(code)); + FCODE(andnp)(xmm0, tmp); + FCODE(blendvp)(result, twos); + }); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm xmm_a = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm xmm_b = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm nan_mask = ctx.reg_alloc.ScratchXmm(); + + code.movaps(nan_mask, xmm_b); + code.movaps(result, xmm_a); + FCODE(cmpunordp)(nan_mask, xmm_a); + FCODE(mulp)(result, xmm_b); + FCODE(cmpunordp)(nan_mask, result); + + const auto nan_handler = Common::FptrCast( + [](std::array, 3>& values, FP::FPCR fpcr) { + VectorArray& result = values[0]; + for (size_t elementi = 0; elementi < result.size(); ++elementi) { + if (auto r = FP::ProcessNaNs(values[1][elementi], values[2][elementi])) { + result[elementi] = fpcr.DN() ? FP::FPInfo::DefaultNaN() : *r; + } else if (FP::IsNaN(result[elementi])) { + const FPT sign = (values[1][elementi] ^ values[2][elementi]) & FP::FPInfo::sign_mask; + result[elementi] = sign | FP::FPValue(); + } + } + }); + + HandleNaNs(code, ctx, fpcr_controlled, {result, xmm_a, xmm_b}, nan_mask, nan_handler); + + ctx.reg_alloc.DefineValue(inst, result); +} + +void EmitX64::EmitFPVectorMulX32(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMulX<32>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorMulX64(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorMulX<64>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorNeg16(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Address mask = code.MConst(xword, 0x8000800080008000, 0x8000800080008000); + + code.pxor(a, mask); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitFPVectorNeg32(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Address mask = code.MConst(xword, 0x8000000080000000, 0x8000000080000000); + + code.pxor(a, mask); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitFPVectorNeg64(EmitContext& ctx, IR::Inst* inst) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm a = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Address mask = code.MConst(xword, 0x8000000000000000, 0x8000000000000000); + + code.pxor(a, mask); + + ctx.reg_alloc.DefineValue(inst, a); +} + +void EmitX64::EmitFPVectorPairedAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<32, PairedIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::haddps); +} + +void EmitX64::EmitFPVectorPairedAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<64, PairedIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::haddpd); +} + +void EmitX64::EmitFPVectorPairedAddLower32(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<32, PairedLowerIndexer>(code, ctx, inst, [&](Xbyak::Xmm result, Xbyak::Xmm xmm_b) { + const Xbyak::Xmm zero = ctx.reg_alloc.ScratchXmm(); + code.xorps(zero, zero); + code.punpcklqdq(result, xmm_b); + code.haddps(result, zero); + }); +} + +void EmitX64::EmitFPVectorPairedAddLower64(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<64, PairedLowerIndexer>(code, ctx, inst, [&](Xbyak::Xmm result, Xbyak::Xmm xmm_b) { + const Xbyak::Xmm zero = ctx.reg_alloc.ScratchXmm(); + code.xorps(zero, zero); + code.punpcklqdq(result, xmm_b); + code.haddpd(result, zero); + }); +} + +template +static void EmitRecipEstimate(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + if constexpr (fsize != 16) { + if (ctx.HasOptimization(OptimizationFlag::Unsafe_ReducedErrorFP)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm operand = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + if constexpr (fsize == 32) { + code.rcpps(result, operand); + } else { + code.cvtpd2ps(result, operand); + code.rcpps(result, result); + code.cvtps2pd(result, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + } + + EmitTwoOpFallback(code, ctx, inst, [](VectorArray& result, const VectorArray& operand, FP::FPCR fpcr, FP::FPSR& fpsr) { + for (size_t i = 0; i < result.size(); i++) { + result[i] = FP::FPRecipEstimate(operand[i], fpcr, fpsr); + } + }); +} + +void EmitX64::EmitFPVectorRecipEstimate16(EmitContext& ctx, IR::Inst* inst) { + EmitRecipEstimate<16>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRecipEstimate32(EmitContext& ctx, IR::Inst* inst) { + EmitRecipEstimate<32>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRecipEstimate64(EmitContext& ctx, IR::Inst* inst) { + EmitRecipEstimate<64>(code, ctx, inst); +} + +template +static void EmitRecipStepFused(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + const auto fallback_fn = [](VectorArray& result, const VectorArray& op1, const VectorArray& op2, FP::FPCR fpcr, FP::FPSR& fpsr) { + for (size_t i = 0; i < result.size(); i++) { + result[i] = FP::FPRecipStepFused(op1[i], op2[i], fpcr, fpsr); + } + }; + + if constexpr (fsize != 16) { + if (code.HasHostFeature(HostFeature::FMA | HostFeature::AVX) && ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + code.movaps(result, GetVectorOf(code)); + FCODE(vfnmadd231p)(result, operand1, operand2); + }); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::FMA | HostFeature::AVX)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + Xbyak::Label end, fallback; + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + code.movaps(result, GetVectorOf(code)); + FCODE(vfnmadd231p)(result, operand1, operand2); + + FCODE(vcmpunordp)(tmp, result, result); + code.vptest(tmp, tmp); + code.jnz(fallback, code.T_NEAR); + code.L(end); + }); + + code.SwitchToFarCode(); + code.L(fallback); + code.sub(rsp, 8); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + EmitThreeOpFallbackWithoutRegAlloc(code, ctx, result, operand1, operand2, fallback_fn, fpcr_controlled); + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.add(rsp, 8); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (ctx.HasOptimization(OptimizationFlag::Unsafe_UnfuseFMA)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.movaps(result, GetVectorOf(code)); + FCODE(mulp)(operand1, operand2); + FCODE(subp)(result, operand1); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + } + + EmitThreeOpFallback(code, ctx, inst, fallback_fn); +} + +void EmitX64::EmitFPVectorRecipStepFused16(EmitContext& ctx, IR::Inst* inst) { + EmitRecipStepFused<16>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRecipStepFused32(EmitContext& ctx, IR::Inst* inst) { + EmitRecipStepFused<32>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRecipStepFused64(EmitContext& ctx, IR::Inst* inst) { + EmitRecipStepFused<64>(code, ctx, inst); +} + +template +void EmitFPVectorRoundInt(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + const auto rounding = static_cast(inst->GetArg(1).GetU8()); + const bool exact = inst->GetArg(2).GetU1(); + + if constexpr (fsize != 16) { + if (code.HasHostFeature(HostFeature::SSE41) && rounding != FP::RoundingMode::ToNearest_TieAwayFromZero && !exact) { + const u8 round_imm = [&]() -> u8 { + switch (rounding) { + case FP::RoundingMode::ToNearest_TieEven: + return 0b00; + case FP::RoundingMode::TowardsPlusInfinity: + return 0b10; + case FP::RoundingMode::TowardsMinusInfinity: + return 0b01; + case FP::RoundingMode::TowardsZero: + return 0b11; + default: + UNREACHABLE(); + } + }(); + + EmitTwoOpVectorOperation(code, ctx, inst, [&](const Xbyak::Xmm& result, const Xbyak::Xmm& xmm_a) { + FCODE(roundp)(result, xmm_a, round_imm); + }); + + return; + } + } + + using rounding_list = mp::list< + mp::lift_value, + mp::lift_value, + mp::lift_value, + mp::lift_value, + mp::lift_value>; + using exact_list = mp::list; + + static const auto lut = Common::GenerateLookupTableFromList( + [](auto arg) { + return std::pair{ + mp::lower_to_tuple_v, + Common::FptrCast( + [](VectorArray& output, const VectorArray& input, FP::FPCR fpcr, FP::FPSR& fpsr) { + constexpr auto t = mp::lower_to_tuple_v; + constexpr FP::RoundingMode rounding_mode = std::get<0>(t); + constexpr bool exact = std::get<1>(t); + + for (size_t i = 0; i < output.size(); ++i) { + output[i] = static_cast(FP::FPRoundInt(input[i], fpcr, rounding_mode, exact, fpsr)); + } + })}; + }, + mp::cartesian_product{}); + + EmitTwoOpFallback<3>(code, ctx, inst, lut.at(std::make_tuple(rounding, exact))); +} + +void EmitX64::EmitFPVectorRoundInt16(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorRoundInt<16>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRoundInt32(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorRoundInt<32>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRoundInt64(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorRoundInt<64>(code, ctx, inst); +} + +template +static void EmitRSqrtEstimate(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + const auto fallback_fn = [](VectorArray& result, const VectorArray& operand, FP::FPCR fpcr, FP::FPSR& fpsr) { + for (size_t i = 0; i < result.size(); i++) { + result[i] = FP::FPRSqrtEstimate(operand[i], fpcr, fpsr); + } + }; + + if constexpr (fsize != 16) { + if (ctx.HasOptimization(OptimizationFlag::Unsafe_ReducedErrorFP)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const Xbyak::Xmm operand = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + if constexpr (fsize == 32) { + code.rsqrtps(result, operand); + } else { + code.cvtpd2ps(result, operand); + code.rsqrtps(result, result); + code.cvtps2pd(result, result); + } + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + } + + EmitTwoOpFallback(code, ctx, inst, fallback_fn); +} + +void EmitX64::EmitFPVectorRSqrtEstimate16(EmitContext& ctx, IR::Inst* inst) { + EmitRSqrtEstimate<16>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRSqrtEstimate32(EmitContext& ctx, IR::Inst* inst) { + EmitRSqrtEstimate<32>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRSqrtEstimate64(EmitContext& ctx, IR::Inst* inst) { + EmitRSqrtEstimate<64>(code, ctx, inst); +} + +template +static void EmitRSqrtStepFused(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + const auto fallback_fn = [](VectorArray& result, const VectorArray& op1, const VectorArray& op2, FP::FPCR fpcr, FP::FPSR& fpsr) { + for (size_t i = 0; i < result.size(); i++) { + result[i] = FP::FPRSqrtStepFused(op1[i], op2[i], fpcr, fpsr); + } + }; + + if constexpr (fsize != 16) { + if (code.HasHostFeature(HostFeature::FMA | HostFeature::AVX) && ctx.HasOptimization(OptimizationFlag::Unsafe_InaccurateNaN)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + code.vmovaps(result, GetVectorOf(code)); + FCODE(vfnmadd231p)(result, operand1, operand2); + FCODE(vmulp)(result, result, GetVectorOf(code)); + }); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (code.HasHostFeature(HostFeature::FMA | HostFeature::AVX)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + const bool fpcr_controlled = args[2].GetImmediateU1(); + + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Xmm mask = ctx.reg_alloc.ScratchXmm(); + + Xbyak::Label end, fallback; + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + code.vmovaps(result, GetVectorOf(code)); + FCODE(vfnmadd231p)(result, operand1, operand2); + + // An explanation for this is given in EmitFPRSqrtStepFused. + code.vmovaps(mask, GetVectorOf(code)); + FCODE(vandp)(tmp, result, mask); + ICODE(vpcmpeq)(tmp, tmp, mask); + code.ptest(tmp, tmp); + code.jnz(fallback, code.T_NEAR); + + FCODE(vmulp)(result, result, GetVectorOf(code)); + code.L(end); + }); + + code.SwitchToFarCode(); + code.L(fallback); + code.sub(rsp, 8); + ABI_PushCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + EmitThreeOpFallbackWithoutRegAlloc(code, ctx, result, operand1, operand2, fallback_fn, fpcr_controlled); + ABI_PopCallerSaveRegistersAndAdjustStackExcept(code, HostLocXmmIdx(result.getIdx())); + code.add(rsp, 8); + code.jmp(end, code.T_NEAR); + code.SwitchToNearCode(); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + if (ctx.HasOptimization(OptimizationFlag::Unsafe_UnfuseFMA)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + + code.movaps(result, GetVectorOf(code)); + FCODE(mulp)(operand1, operand2); + FCODE(subp)(result, operand1); + FCODE(mulp)(result, GetVectorOf(code)); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + } + + EmitThreeOpFallback(code, ctx, inst, fallback_fn); +} + +void EmitX64::EmitFPVectorRSqrtStepFused16(EmitContext& ctx, IR::Inst* inst) { + EmitRSqrtStepFused<16>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRSqrtStepFused32(EmitContext& ctx, IR::Inst* inst) { + EmitRSqrtStepFused<32>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorRSqrtStepFused64(EmitContext& ctx, IR::Inst* inst) { + EmitRSqrtStepFused<64>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorSqrt32(EmitContext& ctx, IR::Inst* inst) { + EmitTwoOpVectorOperation<32, DefaultIndexer>(code, ctx, inst, [this](const Xbyak::Xmm& result, const Xbyak::Xmm& operand) { + code.sqrtps(result, operand); + }); +} + +void EmitX64::EmitFPVectorSqrt64(EmitContext& ctx, IR::Inst* inst) { + EmitTwoOpVectorOperation<64, DefaultIndexer>(code, ctx, inst, [this](const Xbyak::Xmm& result, const Xbyak::Xmm& operand) { + code.sqrtpd(result, operand); + }); +} + +void EmitX64::EmitFPVectorSub32(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<32, DefaultIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::subps); +} + +void EmitX64::EmitFPVectorSub64(EmitContext& ctx, IR::Inst* inst) { + EmitThreeOpVectorOperation<64, DefaultIndexer>(code, ctx, inst, &Xbyak::CodeGenerator::subpd); +} + +template +void EmitFPVectorToFixed(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + using FPT = mp::unsigned_integer_of_size; + + const size_t fbits = inst->GetArg(1).GetU8(); + const auto rounding = static_cast(inst->GetArg(2).GetU8()); + [[maybe_unused]] const bool fpcr_controlled = inst->GetArg(3).GetU1(); + + // TODO: AVX512 implementation + + if constexpr (fsize != 16) { + if (code.HasHostFeature(HostFeature::SSE41) && rounding != FP::RoundingMode::ToNearest_TieAwayFromZero) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm src = ctx.reg_alloc.UseScratchXmm(args[0]); + + MaybeStandardFPSCRValue(code, ctx, fpcr_controlled, [&] { + const int round_imm = [&] { + switch (rounding) { + case FP::RoundingMode::ToNearest_TieEven: + default: + return 0b00; + case FP::RoundingMode::TowardsPlusInfinity: + return 0b10; + case FP::RoundingMode::TowardsMinusInfinity: + return 0b01; + case FP::RoundingMode::TowardsZero: + return 0b11; + } + }(); + + const auto perform_conversion = [&code, &ctx](const Xbyak::Xmm& src) { + // MSVC doesn't allow us to use a [&] capture, so we have to do this instead. + (void)ctx; + + if constexpr (fsize == 32) { + code.cvttps2dq(src, src); + } else { + const Xbyak::Reg64 hi = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Reg64 lo = ctx.reg_alloc.ScratchGpr(); + + code.cvttsd2si(lo, src); + code.punpckhqdq(src, src); + code.cvttsd2si(hi, src); + code.movq(src, lo); + code.pinsrq(src, hi, 1); + + ctx.reg_alloc.Release(hi); + ctx.reg_alloc.Release(lo); + } + }; + + if (fbits != 0) { + const u64 scale_factor = fsize == 32 + ? static_cast(fbits + 127) << 23 + : static_cast(fbits + 1023) << 52; + FCODE(mulp)(src, GetVectorOf(code, scale_factor)); + } + + FCODE(roundp)(src, src, static_cast(round_imm)); + ZeroIfNaN(code, src); + + constexpr u64 float_upper_limit_signed = fsize == 32 ? 0x4f000000 : 0x43e0000000000000; + [[maybe_unused]] constexpr u64 float_upper_limit_unsigned = fsize == 32 ? 0x4f800000 : 0x43f0000000000000; + + if constexpr (unsigned_) { + // Zero is minimum + code.xorps(xmm0, xmm0); + FCODE(cmplep)(xmm0, src); + FCODE(andp)(src, xmm0); + + // Will we exceed unsigned range? + const Xbyak::Xmm exceed_unsigned = ctx.reg_alloc.ScratchXmm(); + code.movaps(exceed_unsigned, GetVectorOf(code)); + FCODE(cmplep)(exceed_unsigned, src); + + // Will be exceed signed range? + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + code.movaps(tmp, GetVectorOf(code)); + code.movaps(xmm0, tmp); + FCODE(cmplep)(xmm0, src); + FCODE(andp)(tmp, xmm0); + FCODE(subp)(src, tmp); + perform_conversion(src); + ICODE(psll)(xmm0, static_cast(fsize - 1)); + FCODE(orp)(src, xmm0); + + // Saturate to max + FCODE(orp)(src, exceed_unsigned); + } else { + constexpr u64 integer_max = static_cast(std::numeric_limits>>::max()); + + code.movaps(xmm0, GetVectorOf(code)); + FCODE(cmplep)(xmm0, src); + perform_conversion(src); + FCODE(blendvp)(src, GetVectorOf(code)); + } + }); + + ctx.reg_alloc.DefineValue(inst, src); + return; + } + } + + using fbits_list = mp::lift_sequence>; + using rounding_list = mp::list< + mp::lift_value, + mp::lift_value, + mp::lift_value, + mp::lift_value, + mp::lift_value>; + + static const auto lut = Common::GenerateLookupTableFromList( + [](auto arg) { + return std::pair{ + mp::lower_to_tuple_v, + Common::FptrCast( + [](VectorArray& output, const VectorArray& input, FP::FPCR fpcr, FP::FPSR& fpsr) { + constexpr auto t = mp::lower_to_tuple_v; + constexpr size_t fbits = std::get<0>(t); + constexpr FP::RoundingMode rounding_mode = std::get<1>(t); + + for (size_t i = 0; i < output.size(); ++i) { + output[i] = static_cast(FP::FPToFixed(fsize, input[i], fbits, unsigned_, fpcr, rounding_mode, fpsr)); + } + })}; + }, + mp::cartesian_product{}); + + EmitTwoOpFallback<3>(code, ctx, inst, lut.at(std::make_tuple(fbits, rounding))); +} + +void EmitX64::EmitFPVectorToSignedFixed16(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorToFixed<16, false>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorToSignedFixed32(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorToFixed<32, false>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorToSignedFixed64(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorToFixed<64, false>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorToUnsignedFixed16(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorToFixed<16, true>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorToUnsignedFixed32(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorToFixed<32, true>(code, ctx, inst); +} + +void EmitX64::EmitFPVectorToUnsignedFixed64(EmitContext& ctx, IR::Inst* inst) { + EmitFPVectorToFixed<64, true>(code, ctx, inst); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector_saturation.cpp b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector_saturation.cpp new file mode 100755 index 000000000..628b667e6 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/emit_x64_vector_saturation.cpp @@ -0,0 +1,339 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/constants.h" +#include "dynarmic/backend/x64/emit_x64.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" + +#define FCODE(NAME) \ + [&code](auto... args) { \ + if constexpr (esize == 32) { \ + code.NAME##s(args...); \ + } else { \ + code.NAME##d(args...); \ + } \ + } + +#define ICODE(NAME) \ + [&code](auto... args) { \ + if constexpr (esize == 32) { \ + code.NAME##d(args...); \ + } else { \ + code.NAME##q(args...); \ + } \ + } + +namespace Dynarmic::Backend::X64 { + +using namespace Xbyak::util; + +namespace { + +void EmitVectorSaturatedNative(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst, void (Xbyak::CodeGenerator::*saturated_fn)(const Xbyak::Mmx& mmx, const Xbyak::Operand&), void (Xbyak::CodeGenerator::*unsaturated_fn)(const Xbyak::Mmx& mmx, const Xbyak::Operand&), void (Xbyak::CodeGenerator::*sub_fn)(const Xbyak::Mmx& mmx, const Xbyak::Operand&)) { + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm addend = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Reg8 overflow = ctx.reg_alloc.ScratchGpr().cvt8(); + + code.movaps(xmm0, result); + + (code.*saturated_fn)(result, addend); + + (code.*unsaturated_fn)(xmm0, addend); + (code.*sub_fn)(xmm0, result); + if (code.HasHostFeature(HostFeature::SSE41)) { + code.ptest(xmm0, xmm0); + } else { + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + code.pxor(tmp, tmp); + code.pcmpeqw(xmm0, tmp); + code.pmovmskb(overflow.cvt32(), xmm0); + code.xor_(overflow.cvt32(), 0xFFFF); + code.test(overflow.cvt32(), overflow.cvt32()); + } + code.setnz(overflow); + code.or_(code.byte[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], overflow); + + ctx.reg_alloc.DefineValue(inst, result); +} + +enum class Op { + Add, + Sub, +}; + +template +void EmitVectorSignedSaturated(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + static_assert(esize == 32 || esize == 64); + constexpr u64 msb_mask = esize == 32 ? 0x8000000080000000 : 0x8000000000000000; + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512DQ)) { + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg8 overflow = ctx.reg_alloc.ScratchGpr().cvt8(); + + code.movaps(xmm0, operand1); + + if constexpr (op == Op::Add) { + ICODE(vpadd)(result, operand1, operand2); + code.vpternlogd(xmm0, result, operand2, 0b00100100); + } else { + ICODE(vpsub)(result, operand1, operand2); + code.vpternlogd(xmm0, result, operand2, 0b00011000); + } + if constexpr (esize == 32) { + code.vpmovd2m(k1, xmm0); + } else { + code.vpmovq2m(k1, xmm0); + } + ICODE(vpsra)(result | k1, result, u8(esize - 1)); + ICODE(vpxor)(result | k1, result, code.MConst(xword_b, msb_mask, msb_mask)); + + code.ktestb(k1, k1); + code.setnz(overflow); + code.or_(code.byte[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], overflow); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Xmm operand1 = code.HasHostFeature(HostFeature::AVX) ? ctx.reg_alloc.UseXmm(args[0]) : ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = code.HasHostFeature(HostFeature::AVX) ? ctx.reg_alloc.ScratchXmm() : operand1; + const Xbyak::Reg8 overflow = ctx.reg_alloc.ScratchGpr().cvt8(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + if (code.HasHostFeature(HostFeature::AVX)) { + if constexpr (op == Op::Add) { + ICODE(vpadd)(result, operand1, operand2); + } else { + ICODE(vpsub)(result, operand1, operand2); + } + code.vpxor(xmm0, operand1, operand2); + code.vpxor(tmp, operand1, result); + } else { + code.movaps(xmm0, operand1); + code.movaps(tmp, operand1); + if constexpr (op == Op::Add) { + ICODE(padd)(result, operand2); + } else { + ICODE(psub)(result, operand2); + } + code.pxor(xmm0, operand2); + code.pxor(tmp, result); + } + + if constexpr (op == Op::Add) { + code.pandn(xmm0, tmp); + } else { + code.pand(xmm0, tmp); + } + + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpsrad(tmp, result, 31); + } else { + code.movaps(tmp, result); + code.psrad(tmp, 31); + } + if constexpr (esize == 64) { + code.pshufd(tmp, tmp, 0b11110101); + } + code.pxor(tmp, code.MConst(xword, msb_mask, msb_mask)); + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.ptest(xmm0, code.MConst(xword, msb_mask, msb_mask)); + } else { + FCODE(movmskp)(overflow.cvt32(), xmm0); + code.test(overflow.cvt32(), overflow.cvt32()); + } + code.setnz(overflow); + code.or_(code.byte[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], overflow); + + if (code.HasHostFeature(HostFeature::SSE41)) { + FCODE(blendvp)(result, tmp); + + ctx.reg_alloc.DefineValue(inst, result); + } else { + code.psrad(xmm0, 31); + if constexpr (esize == 64) { + code.pshufd(xmm0, xmm0, 0b11110101); + } + + code.pand(tmp, xmm0); + code.pandn(xmm0, result); + code.por(tmp, xmm0); + + ctx.reg_alloc.DefineValue(inst, tmp); + } +} + +template +void EmitVectorUnsignedSaturated(BlockOfCode& code, EmitContext& ctx, IR::Inst* inst) { + static_assert(esize == 32 || esize == 64); + + auto args = ctx.reg_alloc.GetArgumentInfo(inst); + + if (code.HasHostFeature(HostFeature::AVX512_Ortho | HostFeature::AVX512DQ)) { + const Xbyak::Xmm operand1 = ctx.reg_alloc.UseXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = ctx.reg_alloc.ScratchXmm(); + const Xbyak::Reg8 overflow = ctx.reg_alloc.ScratchGpr().cvt8(); + + if constexpr (op == Op::Add) { + ICODE(vpadd)(result, operand1, operand2); + ICODE(vpcmpu)(k1, result, operand1, CmpInt::LessThan); + ICODE(vpternlog)(result | k1, result, result, u8(0xFF)); + } else { + ICODE(vpsub)(result, operand1, operand2); + ICODE(vpcmpu)(k1, result, operand1, CmpInt::GreaterThan); + ICODE(vpxor)(result | k1, result, result); + } + + code.ktestb(k1, k1); + code.setnz(overflow); + code.or_(code.byte[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], overflow); + + ctx.reg_alloc.DefineValue(inst, result); + return; + } + + const Xbyak::Xmm operand1 = code.HasHostFeature(HostFeature::AVX) ? ctx.reg_alloc.UseXmm(args[0]) : ctx.reg_alloc.UseScratchXmm(args[0]); + const Xbyak::Xmm operand2 = ctx.reg_alloc.UseXmm(args[1]); + const Xbyak::Xmm result = code.HasHostFeature(HostFeature::AVX) ? ctx.reg_alloc.ScratchXmm() : operand1; + const Xbyak::Reg8 overflow = ctx.reg_alloc.ScratchGpr().cvt8(); + const Xbyak::Xmm tmp = ctx.reg_alloc.ScratchXmm(); + + if constexpr (op == Op::Add) { + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpxor(xmm0, operand1, operand2); + code.vpand(tmp, operand1, operand2); + ICODE(vpadd)(result, operand1, operand2); + } else { + code.movaps(tmp, operand1); + code.movaps(xmm0, operand1); + + code.pxor(xmm0, operand2); + code.pand(tmp, operand2); + ICODE(padd)(result, operand2); + } + + ICODE(psrl)(xmm0, 1); + ICODE(padd)(tmp, xmm0); + } else { + if (code.HasHostFeature(HostFeature::AVX)) { + code.vpxor(tmp, operand1, operand2); + ICODE(vpsub)(result, operand1, operand2); + code.vpand(xmm0, operand2, tmp); + } else { + code.movaps(tmp, operand1); + code.movaps(xmm0, operand2); + + code.pxor(tmp, operand2); + ICODE(psub)(result, operand2); + code.pand(xmm0, tmp); + } + + ICODE(psrl)(tmp, 1); + ICODE(psub)(tmp, xmm0); + } + + code.psrad(tmp, 31); + if constexpr (esize == 64) { + code.pshufd(tmp, tmp, 0b11110101); + } + + if (code.HasHostFeature(HostFeature::SSE41)) { + code.ptest(tmp, tmp); + } else { + FCODE(movmskp)(overflow.cvt32(), tmp); + code.test(overflow.cvt32(), overflow.cvt32()); + } + + code.setnz(overflow); + code.or_(code.byte[code.r15 + code.GetJitStateInfo().offsetof_fpsr_qc], overflow); + + if constexpr (op == Op::Add) { + code.por(result, tmp); + ctx.reg_alloc.DefineValue(inst, result); + } else { + code.pandn(tmp, result); + ctx.reg_alloc.DefineValue(inst, tmp); + } +} + +} // anonymous namespace + +void EmitX64::EmitVectorSignedSaturatedAdd8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSaturatedNative(code, ctx, inst, &Xbyak::CodeGenerator::paddsb, &Xbyak::CodeGenerator::paddb, &Xbyak::CodeGenerator::psubb); +} + +void EmitX64::EmitVectorSignedSaturatedAdd16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSaturatedNative(code, ctx, inst, &Xbyak::CodeGenerator::paddsw, &Xbyak::CodeGenerator::paddw, &Xbyak::CodeGenerator::psubw); +} + +void EmitX64::EmitVectorSignedSaturatedAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturated(code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturated(code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedSub8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSaturatedNative(code, ctx, inst, &Xbyak::CodeGenerator::psubsb, &Xbyak::CodeGenerator::psubb, &Xbyak::CodeGenerator::psubb); +} + +void EmitX64::EmitVectorSignedSaturatedSub16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSaturatedNative(code, ctx, inst, &Xbyak::CodeGenerator::psubsw, &Xbyak::CodeGenerator::psubw, &Xbyak::CodeGenerator::psubw); +} + +void EmitX64::EmitVectorSignedSaturatedSub32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturated(code, ctx, inst); +} + +void EmitX64::EmitVectorSignedSaturatedSub64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSignedSaturated(code, ctx, inst); +} + +void EmitX64::EmitVectorUnsignedSaturatedAdd8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSaturatedNative(code, ctx, inst, &Xbyak::CodeGenerator::paddusb, &Xbyak::CodeGenerator::paddb, &Xbyak::CodeGenerator::psubb); +} + +void EmitX64::EmitVectorUnsignedSaturatedAdd16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSaturatedNative(code, ctx, inst, &Xbyak::CodeGenerator::paddusw, &Xbyak::CodeGenerator::paddw, &Xbyak::CodeGenerator::psubw); +} + +void EmitX64::EmitVectorUnsignedSaturatedAdd32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorUnsignedSaturated(code, ctx, inst); +} + +void EmitX64::EmitVectorUnsignedSaturatedAdd64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorUnsignedSaturated(code, ctx, inst); +} + +void EmitX64::EmitVectorUnsignedSaturatedSub8(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSaturatedNative(code, ctx, inst, &Xbyak::CodeGenerator::psubusb, &Xbyak::CodeGenerator::psubb, &Xbyak::CodeGenerator::psubb); +} + +void EmitX64::EmitVectorUnsignedSaturatedSub16(EmitContext& ctx, IR::Inst* inst) { + EmitVectorSaturatedNative(code, ctx, inst, &Xbyak::CodeGenerator::psubusw, &Xbyak::CodeGenerator::psubw, &Xbyak::CodeGenerator::psubw); +} + +void EmitX64::EmitVectorUnsignedSaturatedSub32(EmitContext& ctx, IR::Inst* inst) { + EmitVectorUnsignedSaturated(code, ctx, inst); +} + +void EmitX64::EmitVectorUnsignedSaturatedSub64(EmitContext& ctx, IR::Inst* inst) { + EmitVectorUnsignedSaturated(code, ctx, inst); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/exception_handler.h b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler.h new file mode 100755 index 000000000..0e361cedf --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler.h @@ -0,0 +1,37 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +class BlockOfCode; + +struct FakeCall { + u64 call_rip; + u64 ret_rip; +}; + +class ExceptionHandler final { +public: + ExceptionHandler(); + ~ExceptionHandler(); + + void Register(BlockOfCode& code); + + bool SupportsFastmem() const noexcept; + void SetFastmemCallback(std::function cb); + +private: + struct Impl; + std::unique_ptr impl; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_generic.cpp b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_generic.cpp new file mode 100755 index 000000000..1bbf4e541 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_generic.cpp @@ -0,0 +1,28 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/exception_handler.h" + +namespace Dynarmic::Backend::X64 { + +struct ExceptionHandler::Impl final { +}; + +ExceptionHandler::ExceptionHandler() = default; +ExceptionHandler::~ExceptionHandler() = default; + +void ExceptionHandler::Register(BlockOfCode&) { + // Do nothing +} + +bool ExceptionHandler::SupportsFastmem() const noexcept { + return false; +} + +void ExceptionHandler::SetFastmemCallback(std::function) { + // Do nothing +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_macos.cpp b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_macos.cpp new file mode 100755 index 000000000..21b928d84 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_macos.cpp @@ -0,0 +1,227 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/exception_handler.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/cast_util.h" +#include "dynarmic/common/common_types.h" + +#define mig_external extern "C" +#include "dynarmic/backend/x64/mig/mach_exc_server.h" + +namespace Dynarmic::Backend::X64 { + +namespace { + +struct CodeBlockInfo { + u64 code_begin, code_end; + std::function cb; +}; + +struct MachMessage { + mach_msg_header_t head; + char data[2048]; ///< Arbitrary size +}; + +class MachHandler final { +public: + MachHandler(); + ~MachHandler(); + + kern_return_t HandleRequest(x86_thread_state64_t* thread_state); + + void AddCodeBlock(CodeBlockInfo info); + void RemoveCodeBlock(u64 rip); + +private: + auto FindCodeBlockInfo(u64 rip) { + return std::find_if(code_block_infos.begin(), code_block_infos.end(), [&](const auto& x) { return x.code_begin <= rip && x.code_end > rip; }); + } + + std::vector code_block_infos; + std::mutex code_block_infos_mutex; + + std::thread thread; + mach_port_t server_port; + + void MessagePump(); +}; + +MachHandler::MachHandler() { +#define KCHECK(x) ASSERT_MSG((x) == KERN_SUCCESS, "dynarmic: macOS MachHandler: init failure at {}", #x) + + KCHECK(mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_RECEIVE, &server_port)); + KCHECK(mach_port_insert_right(mach_task_self(), server_port, server_port, MACH_MSG_TYPE_MAKE_SEND)); + KCHECK(task_set_exception_ports(mach_task_self(), EXC_MASK_BAD_ACCESS, server_port, EXCEPTION_STATE | MACH_EXCEPTION_CODES, x86_THREAD_STATE64)); + + // The below doesn't actually work, and I'm not sure why; since this doesn't work we'll have a spurious error message upon shutdown. + mach_port_t prev; + KCHECK(mach_port_request_notification(mach_task_self(), server_port, MACH_NOTIFY_PORT_DESTROYED, 0, server_port, MACH_MSG_TYPE_MAKE_SEND_ONCE, &prev)); + +#undef KCHECK + + thread = std::thread(&MachHandler::MessagePump, this); +} + +MachHandler::~MachHandler() { + mach_port_destroy(mach_task_self(), server_port); + thread.join(); +} + +void MachHandler::MessagePump() { + mach_msg_return_t mr; + MachMessage request; + MachMessage reply; + + while (true) { + mr = mach_msg(&request.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof(request), server_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); + if (mr != MACH_MSG_SUCCESS) { + fmt::print(stderr, "dynarmic: macOS MachHandler: Failed to receive mach message. error: {:#08x} ({})\n", mr, mach_error_string(mr)); + return; + } + + if (!mach_exc_server(&request.head, &reply.head)) { + fmt::print(stderr, "dynarmic: macOS MachHandler: Unexpected mach message\n"); + return; + } + + mr = mach_msg(&reply.head, MACH_SEND_MSG, reply.head.msgh_size, 0, MACH_PORT_NULL, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL); + if (mr != MACH_MSG_SUCCESS) { + fmt::print(stderr, "dynarmic: macOS MachHandler: Failed to send mach message. error: {:#08x} ({})\n", mr, mach_error_string(mr)); + return; + } + } +} + +kern_return_t MachHandler::HandleRequest(x86_thread_state64_t* ts) { + std::lock_guard guard(code_block_infos_mutex); + + const auto iter = FindCodeBlockInfo(ts->__rip); + if (iter == code_block_infos.end()) { + fmt::print(stderr, "dynarmic: macOS MachHandler: Exception was not in registered code blocks (rip {:#016x})\n", ts->__rip); + return KERN_FAILURE; + } + + FakeCall fc = iter->cb(ts->__rip); + + ts->__rsp -= sizeof(u64); + *Common::BitCast(ts->__rsp) = fc.ret_rip; + ts->__rip = fc.call_rip; + + return KERN_SUCCESS; +} + +void MachHandler::AddCodeBlock(CodeBlockInfo cbi) { + std::lock_guard guard(code_block_infos_mutex); + if (auto iter = FindCodeBlockInfo(cbi.code_begin); iter != code_block_infos.end()) { + code_block_infos.erase(iter); + } + code_block_infos.push_back(cbi); +} + +void MachHandler::RemoveCodeBlock(u64 rip) { + std::lock_guard guard(code_block_infos_mutex); + const auto iter = FindCodeBlockInfo(rip); + if (iter == code_block_infos.end()) { + return; + } + code_block_infos.erase(iter); +} + +MachHandler mach_handler; + +} // anonymous namespace + +mig_external kern_return_t catch_mach_exception_raise(mach_port_t, mach_port_t, mach_port_t, exception_type_t, mach_exception_data_t, mach_msg_type_number_t) { + fmt::print(stderr, "dynarmic: Unexpected mach message: mach_exception_raise\n"); + return KERN_FAILURE; +} + +mig_external kern_return_t catch_mach_exception_raise_state_identity(mach_port_t, mach_port_t, mach_port_t, exception_type_t, mach_exception_data_t, mach_msg_type_number_t, int*, thread_state_t, mach_msg_type_number_t, thread_state_t, mach_msg_type_number_t*) { + fmt::print(stderr, "dynarmic: Unexpected mach message: mach_exception_raise_state_identity\n"); + return KERN_FAILURE; +} + +mig_external kern_return_t catch_mach_exception_raise_state( + mach_port_t /*exception_port*/, + exception_type_t exception, + const mach_exception_data_t /*code*/, // code[0] is as per kern_return.h, code[1] is rip. + mach_msg_type_number_t /*codeCnt*/, + int* flavor, + const thread_state_t old_state, + mach_msg_type_number_t old_stateCnt, + thread_state_t new_state, + mach_msg_type_number_t* new_stateCnt) { + if (!flavor || !new_stateCnt) { + fmt::print(stderr, "dynarmic: catch_mach_exception_raise_state: Invalid arguments.\n"); + return KERN_INVALID_ARGUMENT; + } + if (*flavor != x86_THREAD_STATE64 || old_stateCnt != x86_THREAD_STATE64_COUNT || *new_stateCnt < x86_THREAD_STATE64_COUNT) { + fmt::print(stderr, "dynarmic: catch_mach_exception_raise_state: Unexpected flavor.\n"); + return KERN_INVALID_ARGUMENT; + } + if (exception != EXC_BAD_ACCESS) { + fmt::print(stderr, "dynarmic: catch_mach_exception_raise_state: Unexpected exception type.\n"); + return KERN_FAILURE; + } + + x86_thread_state64_t* ts = reinterpret_cast(new_state); + std::memcpy(ts, reinterpret_cast(old_state), sizeof(x86_thread_state64_t)); + *new_stateCnt = x86_THREAD_STATE64_COUNT; + + return mach_handler.HandleRequest(ts); +} + +struct ExceptionHandler::Impl final { + Impl(BlockOfCode& code) + : code_begin(Common::BitCast(code.getCode())) + , code_end(code_begin + code.GetTotalCodeSize()) {} + + void SetCallback(std::function cb) { + CodeBlockInfo cbi; + cbi.code_begin = code_begin; + cbi.code_end = code_end; + cbi.cb = cb; + mach_handler.AddCodeBlock(cbi); + } + + ~Impl() { + mach_handler.RemoveCodeBlock(code_begin); + } + +private: + u64 code_begin, code_end; +}; + +ExceptionHandler::ExceptionHandler() = default; + +ExceptionHandler::~ExceptionHandler() = default; + +void ExceptionHandler::Register(BlockOfCode& code) { + impl = std::make_unique(code); +} + +bool ExceptionHandler::SupportsFastmem() const noexcept { + return static_cast(impl); +} + +void ExceptionHandler::SetFastmemCallback(std::function cb) { + impl->SetCallback(cb); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_posix.cpp b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_posix.cpp new file mode 100755 index 000000000..37832c793 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_posix.cpp @@ -0,0 +1,207 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/exception_handler.h" + +#ifdef __APPLE__ +# include +# include +#else +# include +# include +#endif + +#include +#include +#include +#include +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/cast_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +namespace { + +struct CodeBlockInfo { + u64 code_begin, code_end; + std::function cb; +}; + +class SigHandler { +public: + SigHandler(); + ~SigHandler(); + + void AddCodeBlock(CodeBlockInfo info); + void RemoveCodeBlock(u64 rip); + + bool SupportsFastmem() const { return supports_fast_mem; } + +private: + auto FindCodeBlockInfo(u64 rip) { + return std::find_if(code_block_infos.begin(), code_block_infos.end(), [&](const auto& x) { return x.code_begin <= rip && x.code_end > rip; }); + } + + bool supports_fast_mem = true; + + void* signal_stack_memory = nullptr; + + std::vector code_block_infos; + std::mutex code_block_infos_mutex; + + struct sigaction old_sa_segv; + struct sigaction old_sa_bus; + + static void SigAction(int sig, siginfo_t* info, void* raw_context); +}; + +SigHandler sig_handler; + +SigHandler::SigHandler() { + constexpr size_t signal_stack_size = std::max(SIGSTKSZ, 2 * 1024 * 1024); + + signal_stack_memory = std::malloc(signal_stack_size); + + stack_t signal_stack; + signal_stack.ss_sp = signal_stack_memory; + signal_stack.ss_size = signal_stack_size; + signal_stack.ss_flags = 0; + if (sigaltstack(&signal_stack, nullptr) != 0) { + fmt::print(stderr, "dynarmic: POSIX SigHandler: init failure at sigaltstack\n"); + supports_fast_mem = false; + return; + } + + struct sigaction sa; + sa.sa_handler = nullptr; + sa.sa_sigaction = &SigHandler::SigAction; + sa.sa_flags = SA_SIGINFO | SA_ONSTACK | SA_RESTART; + sigemptyset(&sa.sa_mask); + if (sigaction(SIGSEGV, &sa, &old_sa_segv) != 0) { + fmt::print(stderr, "dynarmic: POSIX SigHandler: could not set SIGSEGV handler\n"); + supports_fast_mem = false; + return; + } +#ifdef __APPLE__ + if (sigaction(SIGBUS, &sa, &old_sa_bus) != 0) { + fmt::print(stderr, "dynarmic: POSIX SigHandler: could not set SIGBUS handler\n"); + supports_fast_mem = false; + return; + } +#endif +} + +SigHandler::~SigHandler() { + std::free(signal_stack_memory); +} + +void SigHandler::AddCodeBlock(CodeBlockInfo cbi) { + std::lock_guard guard(code_block_infos_mutex); + if (auto iter = FindCodeBlockInfo(cbi.code_begin); iter != code_block_infos.end()) { + code_block_infos.erase(iter); + } + code_block_infos.push_back(cbi); +} + +void SigHandler::RemoveCodeBlock(u64 rip) { + std::lock_guard guard(code_block_infos_mutex); + const auto iter = FindCodeBlockInfo(rip); + if (iter == code_block_infos.end()) { + return; + } + code_block_infos.erase(iter); +} + +void SigHandler::SigAction(int sig, siginfo_t* info, void* raw_context) { + ASSERT(sig == SIGSEGV || sig == SIGBUS); + +#if defined(__APPLE__) +# define CTX_RIP (((ucontext_t*)raw_context)->uc_mcontext->__ss.__rip) +# define CTX_RSP (((ucontext_t*)raw_context)->uc_mcontext->__ss.__rsp) +#elif defined(__linux__) +# define CTX_RIP (((ucontext_t*)raw_context)->uc_mcontext.gregs[REG_RIP]) +# define CTX_RSP (((ucontext_t*)raw_context)->uc_mcontext.gregs[REG_RSP]) +#elif defined(__FreeBSD__) +# define CTX_RIP (((ucontext_t*)raw_context)->uc_mcontext.mc_rip) +# define CTX_RSP (((ucontext_t*)raw_context)->uc_mcontext.mc_rsp) +#else +# error "Unknown platform" +#endif + + { + std::lock_guard guard(sig_handler.code_block_infos_mutex); + + const auto iter = sig_handler.FindCodeBlockInfo(CTX_RIP); + if (iter != sig_handler.code_block_infos.end()) { + FakeCall fc = iter->cb(CTX_RIP); + + CTX_RSP -= sizeof(u64); + *Common::BitCast(CTX_RSP) = fc.ret_rip; + CTX_RIP = fc.call_rip; + + return; + } + } + + fmt::print(stderr, "dynarmic: POSIX SigHandler: Exception was not in registered code blocks (rip {:#016x})\n", CTX_RIP); + + struct sigaction* retry_sa = sig == SIGSEGV ? &sig_handler.old_sa_segv : &sig_handler.old_sa_bus; + if (retry_sa->sa_flags & SA_SIGINFO) { + retry_sa->sa_sigaction(sig, info, raw_context); + return; + } + if (retry_sa->sa_handler == SIG_DFL) { + signal(sig, SIG_DFL); + return; + } + if (retry_sa->sa_handler == SIG_IGN) { + return; + } + retry_sa->sa_handler(sig); +} + +} // anonymous namespace + +struct ExceptionHandler::Impl final { + Impl(BlockOfCode& code) + : code_begin(Common::BitCast(code.getCode())) + , code_end(code_begin + code.GetTotalCodeSize()) {} + + void SetCallback(std::function cb) { + CodeBlockInfo cbi; + cbi.code_begin = code_begin; + cbi.code_end = code_end; + cbi.cb = cb; + sig_handler.AddCodeBlock(cbi); + } + + ~Impl() { + sig_handler.RemoveCodeBlock(code_begin); + } + +private: + u64 code_begin, code_end; +}; + +ExceptionHandler::ExceptionHandler() = default; +ExceptionHandler::~ExceptionHandler() = default; + +void ExceptionHandler::Register(BlockOfCode& code) { + impl = std::make_unique(code); +} + +bool ExceptionHandler::SupportsFastmem() const noexcept { + return static_cast(impl) && sig_handler.SupportsFastmem(); +} + +void ExceptionHandler::SetFastmemCallback(std::function cb) { + impl->SetCallback(cb); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_windows.cpp b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_windows.cpp new file mode 100755 index 000000000..cb746eb27 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/exception_handler_windows.cpp @@ -0,0 +1,261 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#define WIN32_LEAN_AND_MEAN +#include + +#include +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/exception_handler.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/cast_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/safe_ops.h" + +using UBYTE = u8; + +enum UNWIND_REGISTER_CODES { + UWRC_RAX, + UWRC_RCX, + UWRC_RDX, + UWRC_RBX, + UWRC_RSP, + UWRC_RBP, + UWRC_RSI, + UWRC_RDI, + UWRC_R8, + UWRC_R9, + UWRC_R10, + UWRC_R11, + UWRC_R12, + UWRC_R13, + UWRC_R14, + UWRC_R15, +}; + +enum UNWIND_OPCODE { + UWOP_PUSH_NONVOL = 0, + UWOP_ALLOC_LARGE = 1, + UWOP_ALLOC_SMALL = 2, + UWOP_SET_FPREG = 3, + UWOP_SAVE_NONVOL = 4, + UWOP_SAVE_NONVOL_FAR = 5, + UWOP_SAVE_XMM128 = 8, + UWOP_SAVE_XMM128_FAR = 9, + UWOP_PUSH_MACHFRAME = 10, +}; + +union UNWIND_CODE { + struct { + UBYTE CodeOffset; + UBYTE UnwindOp : 4; + UBYTE OpInfo : 4; + } code; + USHORT FrameOffset; +}; + +// UNWIND_INFO is a tail-padded structure +struct UNWIND_INFO { + UBYTE Version : 3; + UBYTE Flags : 5; + UBYTE SizeOfProlog; + UBYTE CountOfCodes; + UBYTE FrameRegister : 4; + UBYTE FrameOffset : 4; + // UNWIND_CODE UnwindCode[]; + // With Flags == 0 there are no additional fields. + // OPTIONAL UNW_EXCEPTION_INFO ExceptionInfo; +}; + +struct UNW_EXCEPTION_INFO { + ULONG ExceptionHandler; + // OPTIONAL ARBITRARY HandlerData; +}; + +namespace Dynarmic::Backend::X64 { + +struct PrologueInformation { + std::vector unwind_code; + size_t number_of_unwind_code_entries; + u8 prolog_size; +}; + +static PrologueInformation GetPrologueInformation() { + PrologueInformation ret; + + const auto next_entry = [&]() -> UNWIND_CODE& { + ret.unwind_code.emplace_back(); + return ret.unwind_code.back(); + }; + const auto push_nonvol = [&](u8 offset, UNWIND_REGISTER_CODES reg) { + auto& entry = next_entry(); + entry.code.CodeOffset = offset; + entry.code.UnwindOp = UWOP_PUSH_NONVOL; + entry.code.OpInfo = reg; + }; + const auto alloc_large = [&](u8 offset, size_t size) { + ASSERT(size % 8 == 0); + size /= 8; + + auto& entry = next_entry(); + entry.code.CodeOffset = offset; + entry.code.UnwindOp = UWOP_ALLOC_LARGE; + if (size <= 0xFFFF) { + entry.code.OpInfo = 0; + auto& size_entry = next_entry(); + size_entry.FrameOffset = static_cast(size); + } else { + entry.code.OpInfo = 1; + auto& size_entry_1 = next_entry(); + size_entry_1.FrameOffset = static_cast(size); + auto& size_entry_2 = next_entry(); + size_entry_2.FrameOffset = static_cast(size >> 16); + } + }; + const auto save_xmm128 = [&](u8 offset, u8 reg, size_t frame_offset) { + ASSERT(frame_offset % 16 == 0); + + auto& entry = next_entry(); + entry.code.CodeOffset = offset; + entry.code.UnwindOp = UWOP_SAVE_XMM128; + entry.code.OpInfo = reg; + auto& offset_entry = next_entry(); + offset_entry.FrameOffset = static_cast(frame_offset / 16); + }; + + // This is a list of operations that occur in the prologue. + // The debugger uses this information to retrieve register values and + // to calculate the size of the stack frame. + ret.prolog_size = 89; + save_xmm128(89, 15, 0xB0); // +050 44 0F 29 BC 24 B0 00 00 00 movaps xmmword ptr [rsp+0B0h],xmm15 + save_xmm128(80, 14, 0xA0); // +047 44 0F 29 B4 24 A0 00 00 00 movaps xmmword ptr [rsp+0A0h],xmm14 + save_xmm128(71, 13, 0x90); // +03E 44 0F 29 AC 24 90 00 00 00 movaps xmmword ptr [rsp+90h],xmm13 + save_xmm128(62, 12, 0x80); // +035 44 0F 29 A4 24 80 00 00 00 movaps xmmword ptr [rsp+80h],xmm12 + save_xmm128(53, 11, 0x70); // +02F 44 0F 29 5C 24 70 movaps xmmword ptr [rsp+70h],xmm11 + save_xmm128(47, 10, 0x60); // +029 44 0F 29 54 24 60 movaps xmmword ptr [rsp+60h],xmm10 + save_xmm128(41, 9, 0x50); // +023 44 0F 29 4C 24 50 movaps xmmword ptr [rsp+50h],xmm9 + save_xmm128(35, 8, 0x40); // +01D 44 0F 29 44 24 40 movaps xmmword ptr [rsp+40h],xmm8 + save_xmm128(29, 7, 0x30); // +018 0F 29 7C 24 30 movaps xmmword ptr [rsp+30h],xmm7 + save_xmm128(24, 6, 0x20); // +013 0F 29 74 24 20 movaps xmmword ptr [rsp+20h],xmm6 + alloc_large(19, 0xC8); // +00C 48 81 EC C8 00 00 00 sub rsp,0C8h + push_nonvol(12, UWRC_R15); // +00A 41 57 push r15 + push_nonvol(10, UWRC_R14); // +008 41 56 push r14 + push_nonvol(8, UWRC_R13); // +006 41 55 push r13 + push_nonvol(6, UWRC_R12); // +004 41 54 push r12 + push_nonvol(4, UWRC_RBP); // +003 55 push rbp + push_nonvol(3, UWRC_RDI); // +002 57 push rdi + push_nonvol(2, UWRC_RSI); // +001 56 push rsi + push_nonvol(1, UWRC_RBX); // +000 53 push rbx + + ret.number_of_unwind_code_entries = ret.unwind_code.size(); + + // The Windows API requires the size of the unwind_code array + // to be a multiple of two for alignment reasons. + if (ret.unwind_code.size() % 2 == 1) { + auto& last_entry = next_entry(); + last_entry.FrameOffset = 0; + } + ASSERT(ret.unwind_code.size() % 2 == 0); + + return ret; +} + +struct ExceptionHandler::Impl final { + Impl(BlockOfCode& code) { + const auto prolog_info = GetPrologueInformation(); + + code.align(16); + const u8* exception_handler_without_cb = code.getCurr(); + code.mov(code.eax, static_cast(ExceptionContinueSearch)); + code.ret(); + + code.align(16); + const u8* exception_handler_with_cb = code.getCurr(); + // Our 3rd argument is a PCONTEXT. + + // If not within our codeblock, ignore this exception. + code.mov(code.rax, Safe::Negate(Common::BitCast(code.getCode()))); + code.add(code.rax, code.qword[code.ABI_PARAM3 + Xbyak::RegExp(offsetof(CONTEXT, Rip))]); + code.cmp(code.rax, static_cast(code.GetTotalCodeSize())); + code.ja(exception_handler_without_cb); + + code.sub(code.rsp, 8); + code.mov(code.ABI_PARAM1, Common::BitCast(&cb)); + code.mov(code.ABI_PARAM2, code.ABI_PARAM3); + code.CallLambda( + [](const std::function& cb_, PCONTEXT ctx) { + FakeCall fc = cb_(ctx->Rip); + + ctx->Rsp -= sizeof(u64); + *Common::BitCast(ctx->Rsp) = fc.ret_rip; + ctx->Rip = fc.call_rip; + }); + code.add(code.rsp, 8); + code.mov(code.eax, static_cast(ExceptionContinueExecution)); + code.ret(); + + exception_handler_without_cb_offset = static_cast(exception_handler_without_cb - code.getCode()); + exception_handler_with_cb_offset = static_cast(exception_handler_with_cb - code.getCode()); + + code.align(16); + UNWIND_INFO* unwind_info = static_cast(code.AllocateFromCodeSpace(sizeof(UNWIND_INFO))); + unwind_info->Version = 1; + unwind_info->Flags = UNW_FLAG_EHANDLER; + unwind_info->SizeOfProlog = prolog_info.prolog_size; + unwind_info->CountOfCodes = static_cast(prolog_info.number_of_unwind_code_entries); + unwind_info->FrameRegister = 0; // No frame register present + unwind_info->FrameOffset = 0; // Unused because FrameRegister == 0 + // UNWIND_INFO::UnwindCode field: + const size_t size_of_unwind_code = sizeof(UNWIND_CODE) * prolog_info.unwind_code.size(); + UNWIND_CODE* unwind_code = static_cast(code.AllocateFromCodeSpace(size_of_unwind_code)); + memcpy(unwind_code, prolog_info.unwind_code.data(), size_of_unwind_code); + // UNWIND_INFO::ExceptionInfo field: + except_info = static_cast(code.AllocateFromCodeSpace(sizeof(UNW_EXCEPTION_INFO))); + except_info->ExceptionHandler = exception_handler_without_cb_offset; + + code.align(16); + rfuncs = static_cast(code.AllocateFromCodeSpace(sizeof(RUNTIME_FUNCTION))); + rfuncs->BeginAddress = static_cast(0); + rfuncs->EndAddress = static_cast(code.GetTotalCodeSize()); + rfuncs->UnwindData = static_cast(reinterpret_cast(unwind_info) - code.getCode()); + + RtlAddFunctionTable(rfuncs, 1, reinterpret_cast(code.getCode())); + } + + void SetCallback(std::function new_cb) { + cb = new_cb; + except_info->ExceptionHandler = cb ? exception_handler_with_cb_offset : exception_handler_without_cb_offset; + } + + ~Impl() { + RtlDeleteFunctionTable(rfuncs); + } + +private: + RUNTIME_FUNCTION* rfuncs; + std::function cb; + UNW_EXCEPTION_INFO* except_info; + ULONG exception_handler_without_cb_offset; + ULONG exception_handler_with_cb_offset; +}; + +ExceptionHandler::ExceptionHandler() = default; +ExceptionHandler::~ExceptionHandler() = default; + +void ExceptionHandler::Register(BlockOfCode& code) { + impl = std::make_unique(code); +} + +bool ExceptionHandler::SupportsFastmem() const noexcept { + return static_cast(impl); +} + +void ExceptionHandler::SetFastmemCallback(std::function cb) { + impl->SetCallback(cb); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/exclusive_monitor.cpp b/externals/dynarmic/src/dynarmic/backend/x64/exclusive_monitor.cpp new file mode 100755 index 000000000..0f66270f0 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/exclusive_monitor.cpp @@ -0,0 +1,60 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/interface/exclusive_monitor.h" + +#include + +#include "dynarmic/common/assert.h" + +namespace Dynarmic { + +ExclusiveMonitor::ExclusiveMonitor(size_t processor_count) + : exclusive_addresses(processor_count, INVALID_EXCLUSIVE_ADDRESS), exclusive_values(processor_count) { + Unlock(); +} + +size_t ExclusiveMonitor::GetProcessorCount() const { + return exclusive_addresses.size(); +} + +void ExclusiveMonitor::Lock() { + while (is_locked.test_and_set(std::memory_order_acquire)) {} +} + +void ExclusiveMonitor::Unlock() { + is_locked.clear(std::memory_order_release); +} + +bool ExclusiveMonitor::CheckAndClear(size_t processor_id, VAddr address) { + const VAddr masked_address = address & RESERVATION_GRANULE_MASK; + + Lock(); + if (exclusive_addresses[processor_id] != masked_address) { + Unlock(); + return false; + } + + for (VAddr& other_address : exclusive_addresses) { + if (other_address == masked_address) { + other_address = INVALID_EXCLUSIVE_ADDRESS; + } + } + return true; +} + +void ExclusiveMonitor::Clear() { + Lock(); + std::fill(exclusive_addresses.begin(), exclusive_addresses.end(), INVALID_EXCLUSIVE_ADDRESS); + Unlock(); +} + +void ExclusiveMonitor::ClearProcessor(size_t processor_id) { + Lock(); + exclusive_addresses[processor_id] = INVALID_EXCLUSIVE_ADDRESS; + Unlock(); +} + +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/backend/x64/host_feature.h b/externals/dynarmic/src/dynarmic/backend/x64/host_feature.h new file mode 100755 index 000000000..dc47d7afd --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/host_feature.h @@ -0,0 +1,65 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2021 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +enum class HostFeature : u64 { + SSSE3 = 1ULL << 0, + SSE41 = 1ULL << 1, + SSE42 = 1ULL << 2, + AVX = 1ULL << 3, + AVX2 = 1ULL << 4, + AVX512F = 1ULL << 5, + AVX512CD = 1ULL << 6, + AVX512VL = 1ULL << 7, + AVX512BW = 1ULL << 8, + AVX512DQ = 1ULL << 9, + AVX512BITALG = 1ULL << 10, + AVX512VBMI = 1ULL << 11, + PCLMULQDQ = 1ULL << 12, + F16C = 1ULL << 13, + FMA = 1ULL << 14, + AES = 1ULL << 15, + POPCNT = 1ULL << 16, + BMI1 = 1ULL << 17, + BMI2 = 1ULL << 18, + LZCNT = 1ULL << 19, + GFNI = 1ULL << 20, + + // Zen-based BMI2 + FastBMI2 = 1ULL << 21, + + // Orthographic AVX512 features on 128 and 256 vectors + AVX512_Ortho = AVX512F | AVX512VL, + + // Orthographic AVX512 features for both 32-bit and 64-bit floats + AVX512_OrthoFloat = AVX512_Ortho | AVX512DQ, +}; + +constexpr HostFeature operator~(HostFeature f) { + return static_cast(~static_cast(f)); +} + +constexpr HostFeature operator|(HostFeature f1, HostFeature f2) { + return static_cast(static_cast(f1) | static_cast(f2)); +} + +constexpr HostFeature operator&(HostFeature f1, HostFeature f2) { + return static_cast(static_cast(f1) & static_cast(f2)); +} + +constexpr HostFeature operator|=(HostFeature& result, HostFeature f) { + return result = (result | f); +} + +constexpr HostFeature operator&=(HostFeature& result, HostFeature f) { + return result = (result & f); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/hostloc.cpp b/externals/dynarmic/src/dynarmic/backend/x64/hostloc.cpp new file mode 100755 index 000000000..53b7a83be --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/hostloc.cpp @@ -0,0 +1,25 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/hostloc.h" + +#include + +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/stack_layout.h" + +namespace Dynarmic::Backend::X64 { + +Xbyak::Reg64 HostLocToReg64(HostLoc loc) { + ASSERT(HostLocIsGPR(loc)); + return Xbyak::Reg64(static_cast(loc)); +} + +Xbyak::Xmm HostLocToXmm(HostLoc loc) { + ASSERT(HostLocIsXMM(loc)); + return Xbyak::Xmm(static_cast(loc) - static_cast(HostLoc::XMM0)); +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/hostloc.h b/externals/dynarmic/src/dynarmic/backend/x64/hostloc.h new file mode 100755 index 000000000..ee704bbbb --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/hostloc.h @@ -0,0 +1,148 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ +#pragma once + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +enum class HostLoc { + // Ordering of the registers is intentional. See also: HostLocToX64. + RAX, + RCX, + RDX, + RBX, + RSP, + RBP, + RSI, + RDI, + R8, + R9, + R10, + R11, + R12, + R13, + R14, + R15, + XMM0, + XMM1, + XMM2, + XMM3, + XMM4, + XMM5, + XMM6, + XMM7, + XMM8, + XMM9, + XMM10, + XMM11, + XMM12, + XMM13, + XMM14, + XMM15, + CF, + PF, + AF, + ZF, + SF, + OF, + FirstSpill, +}; + +constexpr size_t NonSpillHostLocCount = static_cast(HostLoc::FirstSpill); + +inline bool HostLocIsGPR(HostLoc reg) { + return reg >= HostLoc::RAX && reg <= HostLoc::R15; +} + +inline bool HostLocIsXMM(HostLoc reg) { + return reg >= HostLoc::XMM0 && reg <= HostLoc::XMM15; +} + +inline bool HostLocIsRegister(HostLoc reg) { + return HostLocIsGPR(reg) || HostLocIsXMM(reg); +} + +inline bool HostLocIsFlag(HostLoc reg) { + return reg >= HostLoc::CF && reg <= HostLoc::OF; +} + +inline HostLoc HostLocRegIdx(int idx) { + ASSERT(idx >= 0 && idx <= 15); + return static_cast(idx); +} + +inline HostLoc HostLocXmmIdx(int idx) { + ASSERT(idx >= 0 && idx <= 15); + return static_cast(static_cast(HostLoc::XMM0) + idx); +} + +inline HostLoc HostLocSpill(size_t i) { + return static_cast(static_cast(HostLoc::FirstSpill) + i); +} + +inline bool HostLocIsSpill(HostLoc reg) { + return reg >= HostLoc::FirstSpill; +} + +inline size_t HostLocBitWidth(HostLoc loc) { + if (HostLocIsGPR(loc)) + return 64; + if (HostLocIsXMM(loc)) + return 128; + if (HostLocIsSpill(loc)) + return 128; + if (HostLocIsFlag(loc)) + return 1; + UNREACHABLE(); +} + +using HostLocList = std::initializer_list; + +// RSP is preserved for function calls +// R15 contains the JitState pointer +const HostLocList any_gpr = { + HostLoc::RAX, + HostLoc::RBX, + HostLoc::RCX, + HostLoc::RDX, + HostLoc::RSI, + HostLoc::RDI, + HostLoc::RBP, + HostLoc::R8, + HostLoc::R9, + HostLoc::R10, + HostLoc::R11, + HostLoc::R12, + HostLoc::R13, + HostLoc::R14, +}; + +// XMM0 is reserved for use by instructions that implicitly use it as an argument +const HostLocList any_xmm = { + HostLoc::XMM1, + HostLoc::XMM2, + HostLoc::XMM3, + HostLoc::XMM4, + HostLoc::XMM5, + HostLoc::XMM6, + HostLoc::XMM7, + HostLoc::XMM8, + HostLoc::XMM9, + HostLoc::XMM10, + HostLoc::XMM11, + HostLoc::XMM12, + HostLoc::XMM13, + HostLoc::XMM14, + HostLoc::XMM15, +}; + +Xbyak::Reg64 HostLocToReg64(HostLoc loc); +Xbyak::Xmm HostLocToXmm(HostLoc loc); + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/jitstate_info.h b/externals/dynarmic/src/dynarmic/backend/x64/jitstate_info.h new file mode 100755 index 000000000..e87188867 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/jitstate_info.h @@ -0,0 +1,36 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +namespace Dynarmic::Backend::X64 { + +struct JitStateInfo { + template + JitStateInfo(const JitStateType&) + : offsetof_guest_MXCSR(offsetof(JitStateType, guest_MXCSR)) + , offsetof_asimd_MXCSR(offsetof(JitStateType, asimd_MXCSR)) + , offsetof_rsb_ptr(offsetof(JitStateType, rsb_ptr)) + , rsb_ptr_mask(JitStateType::RSBPtrMask) + , offsetof_rsb_location_descriptors(offsetof(JitStateType, rsb_location_descriptors)) + , offsetof_rsb_codeptrs(offsetof(JitStateType, rsb_codeptrs)) + , offsetof_cpsr_nzcv(offsetof(JitStateType, cpsr_nzcv)) + , offsetof_fpsr_exc(offsetof(JitStateType, fpsr_exc)) + , offsetof_fpsr_qc(offsetof(JitStateType, fpsr_qc)) {} + + const size_t offsetof_guest_MXCSR; + const size_t offsetof_asimd_MXCSR; + const size_t offsetof_rsb_ptr; + const size_t rsb_ptr_mask; + const size_t offsetof_rsb_location_descriptors; + const size_t offsetof_rsb_codeptrs; + const size_t offsetof_cpsr_nzcv; + const size_t offsetof_fpsr_exc; + const size_t offsetof_fpsr_qc; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/nzcv_util.h b/externals/dynarmic/src/dynarmic/backend/x64/nzcv_util.h new file mode 100755 index 000000000..389723a84 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/nzcv_util.h @@ -0,0 +1,53 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64::NZCV { + +constexpr u32 arm_mask = 0xF000'0000; +constexpr u32 x64_mask = 0xC101; + +constexpr size_t x64_n_flag_bit = 15; +constexpr size_t x64_z_flag_bit = 14; +constexpr size_t x64_c_flag_bit = 8; +constexpr size_t x64_v_flag_bit = 0; + +/// This is a constant used to create the x64 flags format from the ARM format. +/// NZCV * multiplier: NZCV0NZCV000NZCV +/// x64_flags format: NZ-----C-------V +constexpr u32 to_x64_multiplier = 0x1081; + +/// This is a constant used to create the ARM format from the x64 flags format. +constexpr u32 from_x64_multiplier = 0x1021'0000; + +inline u32 ToX64(u32 nzcv) { + /* Naive implementation: + u32 x64_flags = 0; + x64_flags |= Common::Bit<31>(cpsr) ? 1 << 15 : 0; + x64_flags |= Common::Bit<30>(cpsr) ? 1 << 14 : 0; + x64_flags |= Common::Bit<29>(cpsr) ? 1 << 8 : 0; + x64_flags |= Common::Bit<28>(cpsr) ? 1 : 0; + return x64_flags; + */ + return ((nzcv >> 28) * to_x64_multiplier) & x64_mask; +} + +inline u32 FromX64(u32 x64_flags) { + /* Naive implementation: + u32 nzcv = 0; + nzcv |= Common::Bit<15>(x64_flags) ? 1 << 31 : 0; + nzcv |= Common::Bit<14>(x64_flags) ? 1 << 30 : 0; + nzcv |= Common::Bit<8>(x64_flags) ? 1 << 29 : 0; + nzcv |= Common::Bit<0>(x64_flags) ? 1 << 28 : 0; + return nzcv; + */ + return ((x64_flags & x64_mask) * from_x64_multiplier) & arm_mask; +} + +} // namespace Dynarmic::Backend::X64::NZCV diff --git a/externals/dynarmic/src/dynarmic/backend/x64/oparg.h b/externals/dynarmic/src/dynarmic/backend/x64/oparg.h new file mode 100755 index 000000000..5a598e547 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/oparg.h @@ -0,0 +1,80 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/assert.h" + +namespace Dynarmic::Backend::X64 { + +struct OpArg { + OpArg() + : type(Type::Operand), inner_operand() {} + /* implicit */ OpArg(const Xbyak::Address& address) + : type(Type::Address), inner_address(address) {} + /* implicit */ OpArg(const Xbyak::Reg& reg) + : type(Type::Reg), inner_reg(reg) {} + + Xbyak::Operand& operator*() { + switch (type) { + case Type::Address: + return inner_address; + case Type::Operand: + return inner_operand; + case Type::Reg: + return inner_reg; + } + UNREACHABLE(); + } + + void setBit(int bits) { + switch (type) { + case Type::Address: + inner_address.setBit(bits); + return; + case Type::Operand: + inner_operand.setBit(bits); + return; + case Type::Reg: + switch (bits) { + case 8: + inner_reg = inner_reg.cvt8(); + return; + case 16: + inner_reg = inner_reg.cvt16(); + return; + case 32: + inner_reg = inner_reg.cvt32(); + return; + case 64: + inner_reg = inner_reg.cvt64(); + return; + default: + ASSERT_MSG(false, "Invalid bits"); + return; + } + } + UNREACHABLE(); + } + +private: + enum class Type { + Operand, + Address, + Reg, + }; + + Type type; + + union { + Xbyak::Operand inner_operand; + Xbyak::Address inner_address; + Xbyak::Reg inner_reg; + }; +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/perf_map.cpp b/externals/dynarmic/src/dynarmic/backend/x64/perf_map.cpp new file mode 100755 index 000000000..4a74081f5 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/perf_map.cpp @@ -0,0 +1,95 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/perf_map.h" + +#include +#include + +#ifdef __linux__ + +# include +# include +# include + +# include +# include +# include + +# include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +namespace { +std::mutex mutex; +std::FILE* file = nullptr; + +void OpenFile() { + const char* perf_dir = std::getenv("PERF_BUILDID_DIR"); + if (!perf_dir) { + file = nullptr; + return; + } + + const pid_t pid = getpid(); + const std::string filename = fmt::format("{:s}/perf-{:d}.map", perf_dir, pid); + + file = std::fopen(filename.c_str(), "w"); + if (!file) { + return; + } + + std::setvbuf(file, nullptr, _IONBF, 0); +} +} // anonymous namespace + +namespace detail { +void PerfMapRegister(const void* start, const void* end, std::string_view friendly_name) { + if (start == end) { + // Nothing to register + return; + } + + std::lock_guard guard{mutex}; + + if (!file) { + OpenFile(); + if (!file) { + return; + } + } + + const std::string line = fmt::format("{:016x} {:016x} {:s}\n", reinterpret_cast(start), reinterpret_cast(end) - reinterpret_cast(start), friendly_name); + std::fwrite(line.data(), sizeof *line.data(), line.size(), file); +} +} // namespace detail + +void PerfMapClear() { + std::lock_guard guard{mutex}; + + if (!file) { + return; + } + + std::fclose(file); + file = nullptr; + OpenFile(); +} + +} // namespace Dynarmic::Backend::X64 + +#else + +namespace Dynarmic::Backend::X64 { + +namespace detail { +void PerfMapRegister(const void*, const void*, std::string_view) {} +} // namespace detail + +void PerfMapClear() {} + +} // namespace Dynarmic::Backend::X64 + +#endif diff --git a/externals/dynarmic/src/dynarmic/backend/x64/perf_map.h b/externals/dynarmic/src/dynarmic/backend/x64/perf_map.h new file mode 100755 index 000000000..02cd0b85d --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/perf_map.h @@ -0,0 +1,25 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/cast_util.h" + +namespace Dynarmic::Backend::X64 { + +namespace detail { +void PerfMapRegister(const void* start, const void* end, std::string_view friendly_name); +} // namespace detail + +template +void PerfMapRegister(T start, const void* end, std::string_view friendly_name) { + detail::PerfMapRegister(Common::BitCast(start), end, friendly_name); +} + +void PerfMapClear(); + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/reg_alloc.cpp b/externals/dynarmic/src/dynarmic/backend/x64/reg_alloc.cpp new file mode 100755 index 000000000..e418dc6f2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/reg_alloc.cpp @@ -0,0 +1,721 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/backend/x64/reg_alloc.h" + +#include +#include +#include + +#include +#include + +#include "dynarmic/backend/x64/abi.h" +#include "dynarmic/backend/x64/stack_layout.h" +#include "dynarmic/common/assert.h" + +namespace Dynarmic::Backend::X64 { + +#define MAYBE_AVX(OPCODE, ...) \ + [&] { \ + if (code.HasHostFeature(HostFeature::AVX)) { \ + code.v##OPCODE(__VA_ARGS__); \ + } else { \ + code.OPCODE(__VA_ARGS__); \ + } \ + }() + +static bool CanExchange(HostLoc a, HostLoc b) { + return HostLocIsGPR(a) && HostLocIsGPR(b); +} + +// Minimum number of bits required to represent a type +static size_t GetBitWidth(IR::Type type) { + switch (type) { + case IR::Type::A32Reg: + case IR::Type::A32ExtReg: + case IR::Type::A64Reg: + case IR::Type::A64Vec: + case IR::Type::CoprocInfo: + case IR::Type::Cond: + case IR::Type::Void: + case IR::Type::Table: + ASSERT_FALSE("Type {} cannot be represented at runtime", type); + case IR::Type::Opaque: + ASSERT_FALSE("Not a concrete type"); + case IR::Type::U1: + return 8; + case IR::Type::U8: + return 8; + case IR::Type::U16: + return 16; + case IR::Type::U32: + return 32; + case IR::Type::U64: + return 64; + case IR::Type::U128: + return 128; + case IR::Type::NZCVFlags: + return 32; // TODO: Update to 16 when flags optimization is done + } + UNREACHABLE(); +} + +static bool IsValuelessType(IR::Type type) { + switch (type) { + case IR::Type::Table: + return true; + default: + return false; + } +} + +bool HostLocInfo::IsLocked() const { + return is_being_used_count > 0; +} + +bool HostLocInfo::IsEmpty() const { + return is_being_used_count == 0 && values.empty(); +} + +bool HostLocInfo::IsLastUse() const { + return is_being_used_count == 0 && current_references == 1 && accumulated_uses + 1 == total_uses; +} + +void HostLocInfo::ReadLock() { + ASSERT(!is_scratch); + is_being_used_count++; +} + +void HostLocInfo::WriteLock() { + ASSERT(is_being_used_count == 0); + is_being_used_count++; + is_scratch = true; +} + +void HostLocInfo::AddArgReference() { + current_references++; + ASSERT(accumulated_uses + current_references <= total_uses); +} + +void HostLocInfo::ReleaseOne() { + is_being_used_count--; + is_scratch = false; + + if (current_references == 0) + return; + + accumulated_uses++; + current_references--; + + if (current_references == 0) + ReleaseAll(); +} + +void HostLocInfo::ReleaseAll() { + accumulated_uses += current_references; + current_references = 0; + + ASSERT(total_uses == std::accumulate(values.begin(), values.end(), size_t(0), [](size_t sum, IR::Inst* inst) { return sum + inst->UseCount(); })); + + if (total_uses == accumulated_uses) { + values.clear(); + accumulated_uses = 0; + total_uses = 0; + max_bit_width = 0; + } + + is_being_used_count = 0; + is_scratch = false; +} + +bool HostLocInfo::ContainsValue(const IR::Inst* inst) const { + return std::find(values.begin(), values.end(), inst) != values.end(); +} + +size_t HostLocInfo::GetMaxBitWidth() const { + return max_bit_width; +} + +void HostLocInfo::AddValue(IR::Inst* inst) { + values.push_back(inst); + total_uses += inst->UseCount(); + max_bit_width = std::max(max_bit_width, GetBitWidth(inst->GetType())); +} + +IR::Type Argument::GetType() const { + return value.GetType(); +} + +bool Argument::IsImmediate() const { + return value.IsImmediate(); +} + +bool Argument::IsVoid() const { + return GetType() == IR::Type::Void; +} + +bool Argument::FitsInImmediateU32() const { + if (!IsImmediate()) + return false; + const u64 imm = value.GetImmediateAsU64(); + return imm < 0x100000000; +} + +bool Argument::FitsInImmediateS32() const { + if (!IsImmediate()) + return false; + const s64 imm = static_cast(value.GetImmediateAsU64()); + return -s64(0x80000000) <= imm && imm <= s64(0x7FFFFFFF); +} + +bool Argument::GetImmediateU1() const { + return value.GetU1(); +} + +u8 Argument::GetImmediateU8() const { + const u64 imm = value.GetImmediateAsU64(); + ASSERT(imm < 0x100); + return u8(imm); +} + +u16 Argument::GetImmediateU16() const { + const u64 imm = value.GetImmediateAsU64(); + ASSERT(imm < 0x10000); + return u16(imm); +} + +u32 Argument::GetImmediateU32() const { + const u64 imm = value.GetImmediateAsU64(); + ASSERT(imm < 0x100000000); + return u32(imm); +} + +u64 Argument::GetImmediateS32() const { + ASSERT(FitsInImmediateS32()); + return value.GetImmediateAsU64(); +} + +u64 Argument::GetImmediateU64() const { + return value.GetImmediateAsU64(); +} + +IR::Cond Argument::GetImmediateCond() const { + ASSERT(IsImmediate() && GetType() == IR::Type::Cond); + return value.GetCond(); +} + +bool Argument::IsInGpr() const { + if (IsImmediate()) + return false; + return HostLocIsGPR(*reg_alloc.ValueLocation(value.GetInst())); +} + +bool Argument::IsInXmm() const { + if (IsImmediate()) + return false; + return HostLocIsXMM(*reg_alloc.ValueLocation(value.GetInst())); +} + +bool Argument::IsInMemory() const { + if (IsImmediate()) + return false; + return HostLocIsSpill(*reg_alloc.ValueLocation(value.GetInst())); +} + +RegAlloc::RegAlloc(BlockOfCode& code, std::vector gpr_order, std::vector xmm_order) + : gpr_order(gpr_order) + , xmm_order(xmm_order) + , hostloc_info(NonSpillHostLocCount + SpillCount) + , code(code) {} + +RegAlloc::ArgumentInfo RegAlloc::GetArgumentInfo(IR::Inst* inst) { + ArgumentInfo ret = {Argument{*this}, Argument{*this}, Argument{*this}, Argument{*this}}; + for (size_t i = 0; i < inst->NumArgs(); i++) { + const IR::Value arg = inst->GetArg(i); + ret[i].value = arg; + if (!arg.IsImmediate() && !IsValuelessType(arg.GetType())) { + ASSERT_MSG(ValueLocation(arg.GetInst()), "argument must already been defined"); + LocInfo(*ValueLocation(arg.GetInst())).AddArgReference(); + } + } + return ret; +} + +Xbyak::Reg64 RegAlloc::UseGpr(Argument& arg) { + ASSERT(!arg.allocated); + arg.allocated = true; + return HostLocToReg64(UseImpl(arg.value, gpr_order)); +} + +Xbyak::Xmm RegAlloc::UseXmm(Argument& arg) { + ASSERT(!arg.allocated); + arg.allocated = true; + return HostLocToXmm(UseImpl(arg.value, xmm_order)); +} + +OpArg RegAlloc::UseOpArg(Argument& arg) { + return UseGpr(arg); +} + +void RegAlloc::Use(Argument& arg, HostLoc host_loc) { + ASSERT(!arg.allocated); + arg.allocated = true; + UseImpl(arg.value, {host_loc}); +} + +Xbyak::Reg64 RegAlloc::UseScratchGpr(Argument& arg) { + ASSERT(!arg.allocated); + arg.allocated = true; + return HostLocToReg64(UseScratchImpl(arg.value, gpr_order)); +} + +Xbyak::Xmm RegAlloc::UseScratchXmm(Argument& arg) { + ASSERT(!arg.allocated); + arg.allocated = true; + return HostLocToXmm(UseScratchImpl(arg.value, xmm_order)); +} + +void RegAlloc::UseScratch(Argument& arg, HostLoc host_loc) { + ASSERT(!arg.allocated); + arg.allocated = true; + UseScratchImpl(arg.value, {host_loc}); +} + +void RegAlloc::DefineValue(IR::Inst* inst, const Xbyak::Reg& reg) { + ASSERT(reg.getKind() == Xbyak::Operand::XMM || reg.getKind() == Xbyak::Operand::REG); + const auto hostloc = static_cast(reg.getIdx() + static_cast(reg.getKind() == Xbyak::Operand::XMM ? HostLoc::XMM0 : HostLoc::RAX)); + DefineValueImpl(inst, hostloc); +} + +void RegAlloc::DefineValue(IR::Inst* inst, Argument& arg) { + ASSERT(!arg.allocated); + arg.allocated = true; + DefineValueImpl(inst, arg.value); +} + +void RegAlloc::Release(const Xbyak::Reg& reg) { + ASSERT(reg.getKind() == Xbyak::Operand::XMM || reg.getKind() == Xbyak::Operand::REG); + const auto hostloc = static_cast(reg.getIdx() + static_cast(reg.getKind() == Xbyak::Operand::XMM ? HostLoc::XMM0 : HostLoc::RAX)); + LocInfo(hostloc).ReleaseOne(); +} + +Xbyak::Reg64 RegAlloc::ScratchGpr() { + return HostLocToReg64(ScratchImpl(gpr_order)); +} + +Xbyak::Reg64 RegAlloc::ScratchGpr(HostLoc desired_location) { + return HostLocToReg64(ScratchImpl({desired_location})); +} + +Xbyak::Xmm RegAlloc::ScratchXmm() { + return HostLocToXmm(ScratchImpl(xmm_order)); +} + +Xbyak::Xmm RegAlloc::ScratchXmm(HostLoc desired_location) { + return HostLocToXmm(ScratchImpl({desired_location})); +} + +HostLoc RegAlloc::UseImpl(IR::Value use_value, const std::vector& desired_locations) { + if (use_value.IsImmediate()) { + return LoadImmediate(use_value, ScratchImpl(desired_locations)); + } + + const IR::Inst* use_inst = use_value.GetInst(); + const HostLoc current_location = *ValueLocation(use_inst); + const size_t max_bit_width = LocInfo(current_location).GetMaxBitWidth(); + + const bool can_use_current_location = std::find(desired_locations.begin(), desired_locations.end(), current_location) != desired_locations.end(); + if (can_use_current_location) { + LocInfo(current_location).ReadLock(); + return current_location; + } + + if (LocInfo(current_location).IsLocked()) { + return UseScratchImpl(use_value, desired_locations); + } + + const HostLoc destination_location = SelectARegister(desired_locations); + if (max_bit_width > HostLocBitWidth(destination_location)) { + return UseScratchImpl(use_value, desired_locations); + } else if (CanExchange(destination_location, current_location)) { + Exchange(destination_location, current_location); + } else { + MoveOutOfTheWay(destination_location); + Move(destination_location, current_location); + } + LocInfo(destination_location).ReadLock(); + return destination_location; +} + +HostLoc RegAlloc::UseScratchImpl(IR::Value use_value, const std::vector& desired_locations) { + if (use_value.IsImmediate()) { + return LoadImmediate(use_value, ScratchImpl(desired_locations)); + } + + const IR::Inst* use_inst = use_value.GetInst(); + const HostLoc current_location = *ValueLocation(use_inst); + const size_t bit_width = GetBitWidth(use_inst->GetType()); + + const bool can_use_current_location = std::find(desired_locations.begin(), desired_locations.end(), current_location) != desired_locations.end(); + if (can_use_current_location && !LocInfo(current_location).IsLocked()) { + if (!LocInfo(current_location).IsLastUse()) { + MoveOutOfTheWay(current_location); + } + LocInfo(current_location).WriteLock(); + return current_location; + } + + const HostLoc destination_location = SelectARegister(desired_locations); + MoveOutOfTheWay(destination_location); + CopyToScratch(bit_width, destination_location, current_location); + LocInfo(destination_location).WriteLock(); + return destination_location; +} + +HostLoc RegAlloc::ScratchImpl(const std::vector& desired_locations) { + const HostLoc location = SelectARegister(desired_locations); + MoveOutOfTheWay(location); + LocInfo(location).WriteLock(); + return location; +} + +void RegAlloc::HostCall(IR::Inst* result_def, + std::optional arg0, + std::optional arg1, + std::optional arg2, + std::optional arg3) { + constexpr size_t args_count = 4; + constexpr std::array args_hostloc = {ABI_PARAM1, ABI_PARAM2, ABI_PARAM3, ABI_PARAM4}; + const std::array, args_count> args = {arg0, arg1, arg2, arg3}; + + static const std::vector other_caller_save = [args_hostloc]() { + std::vector ret(ABI_ALL_CALLER_SAVE.begin(), ABI_ALL_CALLER_SAVE.end()); + + ret.erase(std::find(ret.begin(), ret.end(), ABI_RETURN)); + for (auto hostloc : args_hostloc) { + ret.erase(std::find(ret.begin(), ret.end(), hostloc)); + } + + return ret; + }(); + + ScratchGpr(ABI_RETURN); + if (result_def) { + DefineValueImpl(result_def, ABI_RETURN); + } + + for (size_t i = 0; i < args_count; i++) { + if (args[i] && !args[i]->get().IsVoid()) { + UseScratch(*args[i], args_hostloc[i]); +#if defined(__llvm__) && !defined(_WIN32) + // LLVM puts the burden of zero-extension of 8 and 16 bit values on the caller instead of the callee + const Xbyak::Reg64 reg = HostLocToReg64(args_hostloc[i]); + switch (args[i]->get().GetType()) { + case IR::Type::U8: + code.movzx(reg.cvt32(), reg.cvt8()); + break; + case IR::Type::U16: + code.movzx(reg.cvt32(), reg.cvt16()); + break; + default: + break; // Nothing needs to be done + } +#endif + } + } + + for (size_t i = 0; i < args_count; i++) { + if (!args[i]) { + // TODO: Force spill + ScratchGpr(args_hostloc[i]); + } + } + + for (HostLoc caller_saved : other_caller_save) { + ScratchImpl({caller_saved}); + } +} + +void RegAlloc::AllocStackSpace(size_t stack_space) { + ASSERT(stack_space < static_cast(std::numeric_limits::max())); + ASSERT(reserved_stack_space == 0); + reserved_stack_space = stack_space; + code.sub(code.rsp, static_cast(stack_space)); +} + +void RegAlloc::ReleaseStackSpace(size_t stack_space) { + ASSERT(stack_space < static_cast(std::numeric_limits::max())); + ASSERT(reserved_stack_space == stack_space); + reserved_stack_space = 0; + code.add(code.rsp, static_cast(stack_space)); +} + +void RegAlloc::EndOfAllocScope() { + for (auto& iter : hostloc_info) { + iter.ReleaseAll(); + } +} + +void RegAlloc::AssertNoMoreUses() { + ASSERT(std::all_of(hostloc_info.begin(), hostloc_info.end(), [](const auto& i) { return i.IsEmpty(); })); +} + +HostLoc RegAlloc::SelectARegister(const std::vector& desired_locations) const { + std::vector candidates = desired_locations; + + // Find all locations that have not been allocated.. + const auto allocated_locs = std::partition(candidates.begin(), candidates.end(), [this](auto loc) { + return !this->LocInfo(loc).IsLocked(); + }); + candidates.erase(allocated_locs, candidates.end()); + ASSERT_MSG(!candidates.empty(), "All candidate registers have already been allocated"); + + // Selects the best location out of the available locations. + // TODO: Actually do LRU or something. Currently we just try to pick something without a value if possible. + + std::partition(candidates.begin(), candidates.end(), [this](auto loc) { + return this->LocInfo(loc).IsEmpty(); + }); + + return candidates.front(); +} + +std::optional RegAlloc::ValueLocation(const IR::Inst* value) const { + for (size_t i = 0; i < hostloc_info.size(); i++) { + if (hostloc_info[i].ContainsValue(value)) { + return static_cast(i); + } + } + + return std::nullopt; +} + +void RegAlloc::DefineValueImpl(IR::Inst* def_inst, HostLoc host_loc) { + ASSERT_MSG(!ValueLocation(def_inst), "def_inst has already been defined"); + LocInfo(host_loc).AddValue(def_inst); +} + +void RegAlloc::DefineValueImpl(IR::Inst* def_inst, const IR::Value& use_inst) { + ASSERT_MSG(!ValueLocation(def_inst), "def_inst has already been defined"); + + if (use_inst.IsImmediate()) { + const HostLoc location = ScratchImpl(gpr_order); + DefineValueImpl(def_inst, location); + LoadImmediate(use_inst, location); + return; + } + + ASSERT_MSG(ValueLocation(use_inst.GetInst()), "use_inst must already be defined"); + const HostLoc location = *ValueLocation(use_inst.GetInst()); + DefineValueImpl(def_inst, location); +} + +HostLoc RegAlloc::LoadImmediate(IR::Value imm, HostLoc host_loc) { + ASSERT_MSG(imm.IsImmediate(), "imm is not an immediate"); + + if (HostLocIsGPR(host_loc)) { + const Xbyak::Reg64 reg = HostLocToReg64(host_loc); + const u64 imm_value = imm.GetImmediateAsU64(); + if (imm_value == 0) { + code.xor_(reg.cvt32(), reg.cvt32()); + } else { + code.mov(reg, imm_value); + } + return host_loc; + } + + if (HostLocIsXMM(host_loc)) { + const Xbyak::Xmm reg = HostLocToXmm(host_loc); + const u64 imm_value = imm.GetImmediateAsU64(); + if (imm_value == 0) { + MAYBE_AVX(xorps, reg, reg); + } else { + MAYBE_AVX(movaps, reg, code.MConst(code.xword, imm_value)); + } + return host_loc; + } + + UNREACHABLE(); +} + +void RegAlloc::Move(HostLoc to, HostLoc from) { + const size_t bit_width = LocInfo(from).GetMaxBitWidth(); + + ASSERT(LocInfo(to).IsEmpty() && !LocInfo(from).IsLocked()); + ASSERT(bit_width <= HostLocBitWidth(to)); + + if (LocInfo(from).IsEmpty()) { + return; + } + + EmitMove(bit_width, to, from); + + LocInfo(to) = std::exchange(LocInfo(from), {}); +} + +void RegAlloc::CopyToScratch(size_t bit_width, HostLoc to, HostLoc from) { + ASSERT(LocInfo(to).IsEmpty() && !LocInfo(from).IsEmpty()); + + EmitMove(bit_width, to, from); +} + +void RegAlloc::Exchange(HostLoc a, HostLoc b) { + ASSERT(!LocInfo(a).IsLocked() && !LocInfo(b).IsLocked()); + ASSERT(LocInfo(a).GetMaxBitWidth() <= HostLocBitWidth(b)); + ASSERT(LocInfo(b).GetMaxBitWidth() <= HostLocBitWidth(a)); + + if (LocInfo(a).IsEmpty()) { + Move(a, b); + return; + } + + if (LocInfo(b).IsEmpty()) { + Move(b, a); + return; + } + + EmitExchange(a, b); + + std::swap(LocInfo(a), LocInfo(b)); +} + +void RegAlloc::MoveOutOfTheWay(HostLoc reg) { + ASSERT(!LocInfo(reg).IsLocked()); + if (!LocInfo(reg).IsEmpty()) { + SpillRegister(reg); + } +} + +void RegAlloc::SpillRegister(HostLoc loc) { + ASSERT_MSG(HostLocIsRegister(loc), "Only registers can be spilled"); + ASSERT_MSG(!LocInfo(loc).IsEmpty(), "There is no need to spill unoccupied registers"); + ASSERT_MSG(!LocInfo(loc).IsLocked(), "Registers that have been allocated must not be spilt"); + + const HostLoc new_loc = FindFreeSpill(); + Move(new_loc, loc); +} + +HostLoc RegAlloc::FindFreeSpill() const { + for (size_t i = static_cast(HostLoc::FirstSpill); i < hostloc_info.size(); i++) { + const auto loc = static_cast(i); + if (LocInfo(loc).IsEmpty()) { + return loc; + } + } + + ASSERT_FALSE("All spill locations are full"); +} + +HostLocInfo& RegAlloc::LocInfo(HostLoc loc) { + ASSERT(loc != HostLoc::RSP && loc != HostLoc::R15); + return hostloc_info[static_cast(loc)]; +} + +const HostLocInfo& RegAlloc::LocInfo(HostLoc loc) const { + ASSERT(loc != HostLoc::RSP && loc != HostLoc::R15); + return hostloc_info[static_cast(loc)]; +} + +void RegAlloc::EmitMove(size_t bit_width, HostLoc to, HostLoc from) { + if (HostLocIsXMM(to) && HostLocIsXMM(from)) { + MAYBE_AVX(movaps, HostLocToXmm(to), HostLocToXmm(from)); + } else if (HostLocIsGPR(to) && HostLocIsGPR(from)) { + ASSERT(bit_width != 128); + if (bit_width == 64) { + code.mov(HostLocToReg64(to), HostLocToReg64(from)); + } else { + code.mov(HostLocToReg64(to).cvt32(), HostLocToReg64(from).cvt32()); + } + } else if (HostLocIsXMM(to) && HostLocIsGPR(from)) { + ASSERT(bit_width != 128); + if (bit_width == 64) { + MAYBE_AVX(movq, HostLocToXmm(to), HostLocToReg64(from)); + } else { + MAYBE_AVX(movd, HostLocToXmm(to), HostLocToReg64(from).cvt32()); + } + } else if (HostLocIsGPR(to) && HostLocIsXMM(from)) { + ASSERT(bit_width != 128); + if (bit_width == 64) { + MAYBE_AVX(movq, HostLocToReg64(to), HostLocToXmm(from)); + } else { + MAYBE_AVX(movd, HostLocToReg64(to).cvt32(), HostLocToXmm(from)); + } + } else if (HostLocIsXMM(to) && HostLocIsSpill(from)) { + const Xbyak::Address spill_addr = SpillToOpArg(from); + ASSERT(spill_addr.getBit() >= bit_width); + switch (bit_width) { + case 128: + MAYBE_AVX(movaps, HostLocToXmm(to), spill_addr); + break; + case 64: + MAYBE_AVX(movsd, HostLocToXmm(to), spill_addr); + break; + case 32: + case 16: + case 8: + MAYBE_AVX(movss, HostLocToXmm(to), spill_addr); + break; + default: + UNREACHABLE(); + } + } else if (HostLocIsSpill(to) && HostLocIsXMM(from)) { + const Xbyak::Address spill_addr = SpillToOpArg(to); + ASSERT(spill_addr.getBit() >= bit_width); + switch (bit_width) { + case 128: + MAYBE_AVX(movaps, spill_addr, HostLocToXmm(from)); + break; + case 64: + MAYBE_AVX(movsd, spill_addr, HostLocToXmm(from)); + break; + case 32: + case 16: + case 8: + MAYBE_AVX(movss, spill_addr, HostLocToXmm(from)); + break; + default: + UNREACHABLE(); + } + } else if (HostLocIsGPR(to) && HostLocIsSpill(from)) { + ASSERT(bit_width != 128); + if (bit_width == 64) { + code.mov(HostLocToReg64(to), SpillToOpArg(from)); + } else { + code.mov(HostLocToReg64(to).cvt32(), SpillToOpArg(from)); + } + } else if (HostLocIsSpill(to) && HostLocIsGPR(from)) { + ASSERT(bit_width != 128); + if (bit_width == 64) { + code.mov(SpillToOpArg(to), HostLocToReg64(from)); + } else { + code.mov(SpillToOpArg(to), HostLocToReg64(from).cvt32()); + } + } else { + ASSERT_FALSE("Invalid RegAlloc::EmitMove"); + } +} + +void RegAlloc::EmitExchange(HostLoc a, HostLoc b) { + if (HostLocIsGPR(a) && HostLocIsGPR(b)) { + code.xchg(HostLocToReg64(a), HostLocToReg64(b)); + } else if (HostLocIsXMM(a) && HostLocIsXMM(b)) { + ASSERT_FALSE("Check your code: Exchanging XMM registers is unnecessary"); + } else { + ASSERT_FALSE("Invalid RegAlloc::EmitExchange"); + } +} + +Xbyak::Address RegAlloc::SpillToOpArg(HostLoc loc) { + ASSERT(HostLocIsSpill(loc)); + + size_t i = static_cast(loc) - static_cast(HostLoc::FirstSpill); + ASSERT_MSG(i < SpillCount, "Spill index greater than number of available spill locations"); + + using namespace Xbyak::util; + return xword[rsp + reserved_stack_space + ABI_SHADOW_SPACE + offsetof(StackLayout, spill) + i * sizeof(StackLayout::spill[0])]; +} + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/reg_alloc.h b/externals/dynarmic/src/dynarmic/backend/x64/reg_alloc.h new file mode 100755 index 000000000..3878b59e8 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/reg_alloc.h @@ -0,0 +1,174 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include +#include + +#include + +#include "dynarmic/backend/x64/block_of_code.h" +#include "dynarmic/backend/x64/hostloc.h" +#include "dynarmic/backend/x64/oparg.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/cond.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::Backend::X64 { + +class RegAlloc; + +struct HostLocInfo { +public: + bool IsLocked() const; + bool IsEmpty() const; + bool IsLastUse() const; + + void ReadLock(); + void WriteLock(); + void AddArgReference(); + void ReleaseOne(); + void ReleaseAll(); + + bool ContainsValue(const IR::Inst* inst) const; + size_t GetMaxBitWidth() const; + + void AddValue(IR::Inst* inst); + +private: + // Current instruction state + size_t is_being_used_count = 0; + bool is_scratch = false; + + // Block state + size_t current_references = 0; + size_t accumulated_uses = 0; + size_t total_uses = 0; + + // Value state + std::vector values; + size_t max_bit_width = 0; +}; + +struct Argument { +public: + using copyable_reference = std::reference_wrapper; + + IR::Type GetType() const; + bool IsImmediate() const; + bool IsVoid() const; + + bool FitsInImmediateU32() const; + bool FitsInImmediateS32() const; + + bool GetImmediateU1() const; + u8 GetImmediateU8() const; + u16 GetImmediateU16() const; + u32 GetImmediateU32() const; + u64 GetImmediateS32() const; + u64 GetImmediateU64() const; + IR::Cond GetImmediateCond() const; + + /// Is this value currently in a GPR? + bool IsInGpr() const; + /// Is this value currently in a XMM? + bool IsInXmm() const; + /// Is this value currently in memory? + bool IsInMemory() const; + +private: + friend class RegAlloc; + explicit Argument(RegAlloc& reg_alloc) + : reg_alloc(reg_alloc) {} + + bool allocated = false; + RegAlloc& reg_alloc; + IR::Value value; +}; + +class RegAlloc final { +public: + using ArgumentInfo = std::array; + + explicit RegAlloc(BlockOfCode& code, std::vector gpr_order, std::vector xmm_order); + + ArgumentInfo GetArgumentInfo(IR::Inst* inst); + + Xbyak::Reg64 UseGpr(Argument& arg); + Xbyak::Xmm UseXmm(Argument& arg); + OpArg UseOpArg(Argument& arg); + void Use(Argument& arg, HostLoc host_loc); + + Xbyak::Reg64 UseScratchGpr(Argument& arg); + Xbyak::Xmm UseScratchXmm(Argument& arg); + void UseScratch(Argument& arg, HostLoc host_loc); + + void DefineValue(IR::Inst* inst, const Xbyak::Reg& reg); + void DefineValue(IR::Inst* inst, Argument& arg); + + void Release(const Xbyak::Reg& reg); + + Xbyak::Reg64 ScratchGpr(); + Xbyak::Reg64 ScratchGpr(HostLoc desired_location); + Xbyak::Xmm ScratchXmm(); + Xbyak::Xmm ScratchXmm(HostLoc desired_location); + + void HostCall(IR::Inst* result_def = nullptr, + std::optional arg0 = {}, + std::optional arg1 = {}, + std::optional arg2 = {}, + std::optional arg3 = {}); + + // TODO: Values in host flags + + void AllocStackSpace(size_t stack_space); + void ReleaseStackSpace(size_t stack_space); + + void EndOfAllocScope(); + + void AssertNoMoreUses(); + +private: + friend struct Argument; + + std::vector gpr_order; + std::vector xmm_order; + + HostLoc SelectARegister(const std::vector& desired_locations) const; + std::optional ValueLocation(const IR::Inst* value) const; + + HostLoc UseImpl(IR::Value use_value, const std::vector& desired_locations); + HostLoc UseScratchImpl(IR::Value use_value, const std::vector& desired_locations); + HostLoc ScratchImpl(const std::vector& desired_locations); + void DefineValueImpl(IR::Inst* def_inst, HostLoc host_loc); + void DefineValueImpl(IR::Inst* def_inst, const IR::Value& use_inst); + + HostLoc LoadImmediate(IR::Value imm, HostLoc host_loc); + void Move(HostLoc to, HostLoc from); + void CopyToScratch(size_t bit_width, HostLoc to, HostLoc from); + void Exchange(HostLoc a, HostLoc b); + void MoveOutOfTheWay(HostLoc reg); + + void SpillRegister(HostLoc loc); + HostLoc FindFreeSpill() const; + + std::vector hostloc_info; + HostLocInfo& LocInfo(HostLoc loc); + const HostLocInfo& LocInfo(HostLoc loc) const; + + BlockOfCode& code; + size_t reserved_stack_space = 0; + void EmitMove(size_t bit_width, HostLoc to, HostLoc from); + void EmitExchange(HostLoc a, HostLoc b); + + Xbyak::Address SpillToOpArg(HostLoc loc); +}; + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/backend/x64/stack_layout.h b/externals/dynarmic/src/dynarmic/backend/x64/stack_layout.h new file mode 100755 index 000000000..4b9db8112 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/backend/x64/stack_layout.h @@ -0,0 +1,39 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Backend::X64 { + +constexpr size_t SpillCount = 64; + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4324) // Structure was padded due to alignment specifier +#endif + +struct alignas(16) StackLayout { + s64 cycles_remaining; + s64 cycles_to_run; + + std::array, SpillCount> spill; + + u32 save_host_MXCSR; + + bool check_bit; + bool halt_requested; +}; + +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +static_assert(sizeof(StackLayout) % 16 == 0); + +} // namespace Dynarmic::Backend::X64 diff --git a/externals/dynarmic/src/dynarmic/common/assert.cpp b/externals/dynarmic/src/dynarmic/common/assert.cpp new file mode 100755 index 000000000..0a9057323 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/assert.cpp @@ -0,0 +1,21 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/assert.h" + +#include +#include + +#include + +namespace Dynarmic::Common { + +[[noreturn]] void Terminate(fmt::string_view msg, fmt::format_args args) { + fmt::print(stderr, "dynarmic assertion failed: "); + fmt::vprint(stderr, msg, args); + std::terminate(); +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/assert.h b/externals/dynarmic/src/dynarmic/common/assert.h new file mode 100755 index 000000000..5df3c4d24 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/assert.h @@ -0,0 +1,71 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/unlikely.h" + +namespace Dynarmic::Common { + +[[noreturn]] void Terminate(fmt::string_view msg, fmt::format_args args); + +namespace detail { + +template +[[noreturn]] void TerminateHelper(fmt::string_view msg, Ts... args) { + Terminate(msg, fmt::make_format_args(args...)); +} + +} // namespace detail + +} // namespace Dynarmic::Common + +#if defined(__clang) || defined(__GNUC__) +# define ASSUME(expr) [&] { if (!(expr)) __builtin_unreachable(); }() +#elif defined(_MSC_VER) +# define ASSUME(expr) __assume(expr) +#else +# define ASSUME(expr) +#endif + +#ifdef DYNARMIC_IGNORE_ASSERTS +# if defined(__clang) || defined(__GNUC__) +# define UNREACHABLE() __builtin_unreachable() +# elif defined(_MSC_VER) +# define UNREACHABLE() __assume(0) +# else +# define UNREACHABLE() +# endif + +# define ASSERT(expr) ASSUME(expr) +# define ASSERT_MSG(expr, ...) ASSUME(expr) +# define ASSERT_FALSE(...) UNREACHABLE() +#else +# define UNREACHABLE() ASSERT_FALSE("Unreachable code!") + +# define ASSERT(expr) \ + [&] { \ + if (UNLIKELY(!(expr))) { \ + ::Dynarmic::Common::detail::TerminateHelper(#expr); \ + } \ + }() +# define ASSERT_MSG(expr, ...) \ + [&] { \ + if (UNLIKELY(!(expr))) { \ + ::Dynarmic::Common::detail::TerminateHelper(#expr "\nMessage: " __VA_ARGS__); \ + } \ + }() +# define ASSERT_FALSE(...) ::Dynarmic::Common::detail::TerminateHelper("false\nMessage: " __VA_ARGS__) +#endif + +#if defined(NDEBUG) || defined(DYNARMIC_IGNORE_ASSERTS) +# define DEBUG_ASSERT(expr) ASSUME(expr) +# define DEBUG_ASSERT_MSG(expr, ...) ASSUME(expr) +#else +# define DEBUG_ASSERT(expr) ASSERT(expr) +# define DEBUG_ASSERT_MSG(expr, ...) ASSERT_MSG(expr, __VA_ARGS__) +#endif diff --git a/externals/dynarmic/src/dynarmic/common/bit_util.h b/externals/dynarmic/src/dynarmic/common/bit_util.h new file mode 100755 index 000000000..bb3cfae60 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/bit_util.h @@ -0,0 +1,248 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common { + +/// The size of a type in terms of bits +template +constexpr size_t BitSize() { + return sizeof(T) * CHAR_BIT; +} + +template +constexpr T Ones(size_t count) { + ASSERT_MSG(count <= BitSize(), "count larger than bitsize of T"); + if (count == BitSize()) + return static_cast(~static_cast(0)); + return ~(static_cast(~static_cast(0)) << count); +} + +/// Extract bits [begin_bit, end_bit] inclusive from value of type T. +template +constexpr T Bits(const size_t begin_bit, const size_t end_bit, const T value) { + ASSERT_MSG(begin_bit <= end_bit, "invalid bit range (position of beginning bit cannot be greater than that of end bit)"); + ASSERT_MSG(begin_bit < BitSize(), "begin_bit must be smaller than size of T"); + ASSERT_MSG(end_bit < BitSize(), "end_bit must be smaller than size of T"); + + return (value >> begin_bit) & Ones(end_bit - begin_bit + 1); +} + +/// Extract bits [begin_bit, end_bit] inclusive from value of type T. +template +constexpr T Bits(const T value) { + static_assert(begin_bit <= end_bit, "invalid bit range (position of beginning bit cannot be greater than that of end bit)"); + static_assert(begin_bit < BitSize(), "begin_bit must be smaller than size of T"); + static_assert(end_bit < BitSize(), "end_bit must be smaller than size of T"); + + return (value >> begin_bit) & Ones(end_bit - begin_bit + 1); +} + +/// Create a mask of type T for bits [begin_bit, end_bit] inclusive. +template +constexpr T Mask() { + static_assert(begin_bit <= end_bit, "invalid bit range (position of beginning bit cannot be greater than that of end bit)"); + static_assert(begin_bit < BitSize(), "begin_bit must be smaller than size of T"); + static_assert(end_bit < BitSize(), "end_bit must be smaller than size of T"); + + return Ones(end_bit - begin_bit + 1) << begin_bit; +} + +/// Clears bits [begin_bit, end_bit] inclusive of value of type T. +template +constexpr T ClearBits(const T value) { + return value & ~Mask(); +} + +/// Modifies bits [begin_bit, end_bit] inclusive of value of type T. +template +constexpr T ModifyBits(const T value, const T new_bits) { + return ClearBits(value) | ((new_bits << begin_bit) & Mask()); +} + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4554) +#endif +/// Extracts a single bit at bit_position from value of type T. +template +inline bool Bit(size_t bit_position, const T value) { + ASSERT_MSG(bit_position < BitSize(), "bit_position must be smaller than size of T"); + + return ((value >> bit_position) & 1) != 0; +} + +/// Extracts a single bit at bit_position from value of type T. +template +constexpr bool Bit(const T value) { + static_assert(bit_position < BitSize(), "bit_position must be smaller than size of T"); + + return Bit(bit_position, value); +} + +/// Clears a single bit at bit_position from value of type T. +template +inline T ClearBit(size_t bit_position, const T value) { + ASSERT_MSG(bit_position < BitSize(), "bit_position must be smaller than size of T"); + + return value & ~(static_cast(1) << bit_position); +} + +/// Clears a single bit at bit_position from value of type T. +template +constexpr T ClearBit(const T value) { + static_assert(bit_position < BitSize(), "bit_position must be smaller than size of T"); + + return ClearBit(bit_position, value); +} + +/// Modifies a single bit at bit_position from value of type T. +template +inline T ModifyBit(size_t bit_position, const T value, bool new_bit) { + ASSERT_MSG(bit_position < BitSize(), "bit_position must be smaller than size of T"); + + return ClearBit(bit_position, value) | (static_cast(new_bit) << bit_position); +} + +/// Modifies a single bit at bit_position from value of type T. +template +constexpr T ModifyBit(const T value, bool new_bit) { + static_assert(bit_position < BitSize(), "bit_position must be smaller than size of T"); + + return ModifyBit(bit_position, value, new_bit); +} +#ifdef _MSC_VER +# pragma warning(pop) +#endif + +/// Sign-extends a value that has bit_count bits to the full bitwidth of type T. +template +constexpr T SignExtend(const T value) { + static_assert(bit_count <= BitSize(), "bit_count larger than bitsize of T"); + + constexpr T mask = static_cast(1ULL << bit_count) - 1; + const bool signbit = Bit(value); + if (signbit) { + return value | ~mask; + } + return value; +} + +/// Sign-extends a value that has bit_count bits to the full bitwidth of type T. +template +inline T SignExtend(const size_t bit_count, const T value) { + ASSERT_MSG(bit_count <= BitSize(), "bit_count larger than bitsize of T"); + + const T mask = static_cast(1ULL << bit_count) - 1; + const bool signbit = Bit(bit_count - 1, value); + if (signbit) { + return value | ~mask; + } + return value; +} + +template +inline size_t BitCount(Integral value) { + return std::bitset()>(value).count(); +} + +template +constexpr size_t CountLeadingZeros(T value) { + auto x = static_cast>(value); + size_t result = BitSize(); + while (x != 0) { + x >>= 1; + result--; + } + return result; +} + +template +constexpr int HighestSetBit(T value) { + auto x = static_cast>(value); + int result = -1; + while (x != 0) { + x >>= 1; + result++; + } + return result; +} + +template +constexpr size_t LowestSetBit(T value) { + auto x = static_cast>(value); + if (x == 0) + return BitSize(); + + size_t result = 0; + while ((x & 1) == 0) { + x >>= 1; + result++; + } + return result; +} + +template +constexpr bool MostSignificantBit(T value) { + return Bit() - 1, T>(value); +} + +template +inline T Replicate(T value, size_t element_size) { + ASSERT_MSG(BitSize() % element_size == 0, "bitsize of T not divisible by element_size"); + if (element_size == BitSize()) + return value; + return Replicate(value | (value << element_size), element_size * 2); +} + +template +constexpr T RotateRight(T value, size_t amount) { + amount %= BitSize(); + + if (amount == 0) { + return value; + } + + auto x = static_cast>(value); + return static_cast((x >> amount) | (x << (BitSize() - amount))); +} + +constexpr u32 SwapHalves32(u32 value) { + return ((value & 0xFFFF0000U) >> 16) + | ((value & 0x0000FFFFU) << 16); +} + +constexpr u16 SwapBytes16(u16 value) { + return static_cast(u32{value} >> 8 | u32{value} << 8); +} + +constexpr u32 SwapBytes32(u32 value) { + return ((value & 0xFF000000U) >> 24) + | ((value & 0x00FF0000U) >> 8) + | ((value & 0x0000FF00U) << 8) + | ((value & 0x000000FFU) << 24); +} + +constexpr u64 SwapBytes64(u64 value) { + return ((value & 0xFF00000000000000ULL) >> 56) + | ((value & 0x00FF000000000000ULL) >> 40) + | ((value & 0x0000FF0000000000ULL) >> 24) + | ((value & 0x000000FF00000000ULL) >> 8) + | ((value & 0x00000000FF000000ULL) << 8) + | ((value & 0x0000000000FF0000ULL) << 24) + | ((value & 0x000000000000FF00ULL) << 40) + | ((value & 0x00000000000000FFULL) << 56); +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/cast_util.h b/externals/dynarmic/src/dynarmic/common/cast_util.h new file mode 100755 index 000000000..1098b51c8 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/cast_util.h @@ -0,0 +1,45 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include + +namespace Dynarmic::Common { + +/// Reinterpret objects of one type as another by bit-casting between object representations. +template +inline Dest BitCast(const Source& source) noexcept { + static_assert(sizeof(Dest) == sizeof(Source), "size of destination and source objects must be equal"); + static_assert(std::is_trivially_copyable_v, "destination type must be trivially copyable."); + static_assert(std::is_trivially_copyable_v, "source type must be trivially copyable"); + + std::aligned_storage_t dest; + std::memcpy(&dest, &source, sizeof(dest)); + return reinterpret_cast(dest); +} + +/// Reinterpret objects of any arbitrary type as another type by bit-casting between object representations. +/// Note that here we do not verify if source has enough bytes to read from. +template +inline Dest BitCastPointee(const SourcePtr source) noexcept { + static_assert(sizeof(SourcePtr) == sizeof(void*), "source pointer must have size of a pointer"); + static_assert(std::is_trivially_copyable_v, "destination type must be trivially copyable."); + + std::aligned_storage_t dest; + std::memcpy(&dest, BitCast(source), sizeof(dest)); + return reinterpret_cast(dest); +} + +/// Cast a lambda into an equivalent function pointer. +template +inline auto FptrCast(Function f) noexcept { + return static_cast*>(f); +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/common_types.h b/externals/dynarmic/src/dynarmic/common/common_types.h new file mode 100755 index 000000000..4c36faa27 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/common_types.h @@ -0,0 +1,28 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +using u8 = std::uint8_t; +using u16 = std::uint16_t; +using u32 = std::uint32_t; +using u64 = std::uint64_t; +using uptr = std::uintptr_t; + +using s8 = std::int8_t; +using s16 = std::int16_t; +using s32 = std::int32_t; +using s64 = std::int64_t; +using sptr = std::intptr_t; + +using size_t = std::size_t; + +using f32 = float; +using f64 = double; +static_assert(sizeof(f32) == sizeof(u32), "f32 must be 32 bits wide"); +static_assert(sizeof(f64) == sizeof(u64), "f64 must be 64 bits wide"); diff --git a/externals/dynarmic/src/dynarmic/common/crypto/aes.cpp b/externals/dynarmic/src/dynarmic/common/crypto/aes.cpp new file mode 100755 index 000000000..3f67dbac9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/crypto/aes.cpp @@ -0,0 +1,180 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/crypto/aes.h" + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common::Crypto::AES { + +using SubstitutionTable = std::array; + +// See section 5.1.1 Figure 7 in FIPS 197 +constexpr SubstitutionTable substitution_box{ + {// 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, 0xFE, 0xD7, 0xAB, 0x76, + 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, + 0xB7, 0xFD, 0x93, 0x26, 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, 0xEB, 0x27, 0xB2, 0x75, + 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, + 0x53, 0xD1, 0x00, 0xED, 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, 0x50, 0x3C, 0x9F, 0xA8, + 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, + 0xCD, 0x0C, 0x13, 0xEC, 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, 0xDE, 0x5E, 0x0B, 0xDB, + 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, + 0xE7, 0xC8, 0x37, 0x6D, 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, 0x4B, 0xBD, 0x8B, 0x8A, + 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, + 0xE1, 0xF8, 0x98, 0x11, 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, 0xB0, 0x54, 0xBB, 0x16}}; + +// See section 5.3.2 Figure 14 in FIPS 197 +constexpr SubstitutionTable inverse_substitution_box{ + {// 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38, 0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB, + 0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87, 0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB, + 0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D, 0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E, + 0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2, 0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25, + 0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92, + 0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA, 0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84, + 0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A, 0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06, + 0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02, 0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B, + 0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA, 0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73, + 0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85, 0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E, + 0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, + 0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20, 0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4, + 0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31, 0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F, + 0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D, 0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF, + 0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0, 0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61, + 0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26, 0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D}}; + +// See section 4.2.1 in FIPS 197. +static constexpr u8 xtime(u8 x) { + return static_cast((x << 1) ^ (((x >> 7) & 1) * 0x1B)); +} + +// Galois Field multiplication. +static constexpr u8 Multiply(u8 x, u8 y) { + return static_cast(((y & 1) * x) + ^ ((y >> 1 & 1) * xtime(x)) + ^ ((y >> 2 & 1) * xtime(xtime(x))) + ^ ((y >> 3 & 1) * xtime(xtime(xtime(x)))) + ^ ((y >> 4 & 1) * xtime(xtime(xtime(xtime(x)))))); +} + +static void ShiftRows(State& out_state, const State& state) { + // Move zeroth row over + out_state[0] = state[0]; + out_state[4] = state[4]; + out_state[8] = state[8]; + out_state[12] = state[12]; + + // Rotate first row 1 column left. + u8 temp = state[1]; + out_state[1] = state[5]; + out_state[5] = state[9]; + out_state[9] = state[13]; + out_state[13] = temp; + + // Rotate second row 2 columns left + temp = state[2]; + out_state[2] = state[10]; + out_state[10] = temp; + + temp = state[6]; + out_state[6] = state[14]; + out_state[14] = temp; + + // Rotate third row 3 columns left + temp = state[3]; + out_state[3] = state[15]; + out_state[15] = state[11]; + out_state[11] = state[7]; + out_state[7] = temp; +} + +static void InverseShiftRows(State& out_state, const State& state) { + // Move zeroth row over + out_state[0] = state[0]; + out_state[4] = state[4]; + out_state[8] = state[8]; + out_state[12] = state[12]; + + // Rotate first row 1 column right. + u8 temp = state[13]; + out_state[13] = state[9]; + out_state[9] = state[5]; + out_state[5] = state[1]; + out_state[1] = temp; + + // Rotate second row 2 columns right + temp = state[2]; + out_state[2] = state[10]; + out_state[10] = temp; + + temp = state[6]; + out_state[6] = state[14]; + out_state[14] = temp; + + // Rotate third row 3 columns right + temp = state[3]; + out_state[3] = state[7]; + out_state[7] = state[11]; + out_state[11] = state[15]; + out_state[15] = temp; +} + +static void SubBytes(State& state, const SubstitutionTable& table) { + for (size_t i = 0; i < 4; i++) { + for (size_t j = 0; j < 4; j++) { + state[4 * i + j] = table[state[4 * i + j]]; + } + } +} + +void DecryptSingleRound(State& out_state, const State& state) { + InverseShiftRows(out_state, state); + SubBytes(out_state, inverse_substitution_box); +} + +void EncryptSingleRound(State& out_state, const State& state) { + ShiftRows(out_state, state); + SubBytes(out_state, substitution_box); +} + +void MixColumns(State& out_state, const State& state) { + for (size_t i = 0; i < out_state.size(); i += 4) { + const u8 a = state[i]; + const u8 b = state[i + 1]; + const u8 c = state[i + 2]; + const u8 d = state[i + 3]; + + const u8 tmp = a ^ b ^ c ^ d; + + out_state[i + 0] = a ^ xtime(a ^ b) ^ tmp; + out_state[i + 1] = b ^ xtime(b ^ c) ^ tmp; + out_state[i + 2] = c ^ xtime(c ^ d) ^ tmp; + out_state[i + 3] = d ^ xtime(d ^ a) ^ tmp; + } +} + +void InverseMixColumns(State& out_state, const State& state) { + for (size_t i = 0; i < out_state.size(); i += 4) { + const u8 a = state[i]; + const u8 b = state[i + 1]; + const u8 c = state[i + 2]; + const u8 d = state[i + 3]; + + out_state[i + 0] = Multiply(a, 0x0E) ^ Multiply(b, 0x0B) ^ Multiply(c, 0x0D) ^ Multiply(d, 0x09); + out_state[i + 1] = Multiply(a, 0x09) ^ Multiply(b, 0x0E) ^ Multiply(c, 0x0B) ^ Multiply(d, 0x0D); + out_state[i + 2] = Multiply(a, 0x0D) ^ Multiply(b, 0x09) ^ Multiply(c, 0x0E) ^ Multiply(d, 0x0B); + out_state[i + 3] = Multiply(a, 0x0B) ^ Multiply(b, 0x0D) ^ Multiply(c, 0x09) ^ Multiply(d, 0x0E); + } +} + +} // namespace Dynarmic::Common::Crypto::AES diff --git a/externals/dynarmic/src/dynarmic/common/crypto/aes.h b/externals/dynarmic/src/dynarmic/common/crypto/aes.h new file mode 100755 index 000000000..8e1e76fef --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/crypto/aes.h @@ -0,0 +1,23 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common::Crypto::AES { + +using State = std::array; + +// Assumes the state has already been XORed by the round key. +void DecryptSingleRound(State& out_state, const State& state); +void EncryptSingleRound(State& out_state, const State& state); + +void MixColumns(State& out_state, const State& state); +void InverseMixColumns(State& out_state, const State& state); + +} // namespace Dynarmic::Common::Crypto::AES diff --git a/externals/dynarmic/src/dynarmic/common/crypto/crc32.cpp b/externals/dynarmic/src/dynarmic/common/crypto/crc32.cpp new file mode 100755 index 000000000..6b33a88c7 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/crypto/crc32.cpp @@ -0,0 +1,168 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/crypto/crc32.h" + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common::Crypto::CRC32 { + +using CRC32Table = std::array; + +// CRC32 algorithm that uses polynomial 0x1EDC6F41 +constexpr CRC32Table castagnoli_table{ + {0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, + 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB, + 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, + 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24, + 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, + 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384, + 0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, + 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B, + 0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, + 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35, + 0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, + 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA, + 0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, + 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A, + 0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, + 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595, + 0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, + 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957, + 0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, + 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198, + 0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, + 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38, + 0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, + 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7, + 0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, + 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789, + 0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, + 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46, + 0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, + 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6, + 0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, + 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829, + 0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, + 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93, + 0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, + 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C, + 0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, + 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC, + 0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, + 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033, + 0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, + 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D, + 0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, + 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982, + 0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, + 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622, + 0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, + 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED, + 0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, + 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F, + 0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, + 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0, + 0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, + 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540, + 0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, + 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F, + 0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, + 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1, + 0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, + 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E, + 0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, + 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E, + 0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, + 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351}}; + +// CRC32 algorithm that uses polynomial 0x04C11DB7 +constexpr CRC32Table iso_table{ + {0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, + 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, + 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, + 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, + 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, + 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, + 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, + 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, + 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, + 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, + 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, + 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, + 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, + 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, + 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, + 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, + 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, + 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, + 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, + 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, + 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, + 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, + 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, + 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, + 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, + 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, + 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, + 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, + 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, + 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, + 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, + 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, + 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, + 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, + 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, + 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, + 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, + 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, + 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, + 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, + 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, + 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, + 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, + 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, + 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, + 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, + 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, + 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, + 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, + 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, + 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, + 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, + 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, + 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, + 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, + 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, + 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, + 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, + 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, + 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, + 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, + 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, + 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, + 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D}}; + +static u32 ComputeCRC32(const CRC32Table& table, u32 crc, const u64 value, int length) { + const auto* data = reinterpret_cast(&value); + + while (length-- > 0) { + crc = (crc >> 8) ^ table[(crc ^ (*data++)) & 0xFF]; + } + + return crc; +} + +u32 ComputeCRC32Castagnoli(u32 crc, u64 value, int length) { + return ComputeCRC32(castagnoli_table, crc, value, length); +} + +u32 ComputeCRC32ISO(u32 crc, u64 value, int length) { + return ComputeCRC32(iso_table, crc, value, length); +} + +} // namespace Dynarmic::Common::Crypto::CRC32 diff --git a/externals/dynarmic/src/dynarmic/common/crypto/crc32.h b/externals/dynarmic/src/dynarmic/common/crypto/crc32.h new file mode 100755 index 000000000..11f9233eb --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/crypto/crc32.h @@ -0,0 +1,40 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common::Crypto::CRC32 { + +/** + * Computes a CRC32 value using Castagnoli polynomial (0x1EDC6F41). + * + * @param crc The initial CRC value + * @param value The value to compute the CRC of. + * @param length The length of the data to compute. + * + * @remark @p value is interpreted internally as an array of + * unsigned char with @p length data. + * + * @return The computed CRC32 value. + */ +u32 ComputeCRC32Castagnoli(u32 crc, u64 value, int length); + +/** + * Computes a CRC32 value using the ISO polynomial (0x04C11DB7). + * + * @param crc The initial CRC value + * @param value The value to compute the CRC of. + * @param length The length of the data to compute. + * + * @remark @p value is interpreted internally as an array of + * unsigned char with @p length data. + * + * @return The computed CRC32 value. + */ +u32 ComputeCRC32ISO(u32 crc, u64 value, int length); + +} // namespace Dynarmic::Common::Crypto::CRC32 diff --git a/externals/dynarmic/src/dynarmic/common/crypto/sm4.cpp b/externals/dynarmic/src/dynarmic/common/crypto/sm4.cpp new file mode 100755 index 000000000..c101634a8 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/crypto/sm4.cpp @@ -0,0 +1,54 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/crypto/sm4.h" + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common::Crypto::SM4 { + +using SubstitutionTable = std::array; + +constexpr SubstitutionTable substitution_box{ + {0xD6, 0x90, 0xE9, 0xFE, 0xCC, 0xE1, 0x3D, 0xB7, + 0x16, 0xB6, 0x14, 0xC2, 0x28, 0xFB, 0x2C, 0x05, + 0x2B, 0x67, 0x9A, 0x76, 0x2A, 0xBE, 0x04, 0xC3, + 0xAA, 0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99, + 0x9C, 0x42, 0x50, 0xF4, 0x91, 0xEF, 0x98, 0x7A, + 0x33, 0x54, 0x0B, 0x43, 0xED, 0xCF, 0xAC, 0x62, + 0xE4, 0xB3, 0x1C, 0xA9, 0xC9, 0x08, 0xE8, 0x95, + 0x80, 0xDF, 0x94, 0xFA, 0x75, 0x8F, 0x3F, 0xA6, + 0x47, 0x07, 0xA7, 0xFC, 0xF3, 0x73, 0x17, 0xBA, + 0x83, 0x59, 0x3C, 0x19, 0xE6, 0x85, 0x4F, 0xA8, + 0x68, 0x6B, 0x81, 0xB2, 0x71, 0x64, 0xDA, 0x8B, + 0xF8, 0xEB, 0x0F, 0x4B, 0x70, 0x56, 0x9D, 0x35, + 0x1E, 0x24, 0x0E, 0x5E, 0x63, 0x58, 0xD1, 0xA2, + 0x25, 0x22, 0x7C, 0x3B, 0x01, 0x21, 0x78, 0x87, + 0xD4, 0x00, 0x46, 0x57, 0x9F, 0xD3, 0x27, 0x52, + 0x4C, 0x36, 0x02, 0xE7, 0xA0, 0xC4, 0xC8, 0x9E, + 0xEA, 0xBF, 0x8A, 0xD2, 0x40, 0xC7, 0x38, 0xB5, + 0xA3, 0xF7, 0xF2, 0xCE, 0xF9, 0x61, 0x15, 0xA1, + 0xE0, 0xAE, 0x5D, 0xA4, 0x9B, 0x34, 0x1A, 0x55, + 0xAD, 0x93, 0x32, 0x30, 0xF5, 0x8C, 0xB1, 0xE3, + 0x1D, 0xF6, 0xE2, 0x2E, 0x82, 0x66, 0xCA, 0x60, + 0xC0, 0x29, 0x23, 0xAB, 0x0D, 0x53, 0x4E, 0x6F, + 0xD5, 0xDB, 0x37, 0x45, 0xDE, 0xFD, 0x8E, 0x2F, + 0x03, 0xFF, 0x6A, 0x72, 0x6D, 0x6C, 0x5B, 0x51, + 0x8D, 0x1B, 0xAF, 0x92, 0xBB, 0xDD, 0xBC, 0x7F, + 0x11, 0xD9, 0x5C, 0x41, 0x1F, 0x10, 0x5A, 0xD8, + 0x0A, 0xC1, 0x31, 0x88, 0xA5, 0xCD, 0x7B, 0xBD, + 0x2D, 0x74, 0xD0, 0x12, 0xB8, 0xE5, 0xB4, 0xB0, + 0x89, 0x69, 0x97, 0x4A, 0x0C, 0x96, 0x77, 0x7E, + 0x65, 0xB9, 0xF1, 0x09, 0xC5, 0x6E, 0xC6, 0x84, + 0x18, 0xF0, 0x7D, 0xEC, 0x3A, 0xDC, 0x4D, 0x20, + 0x79, 0xEE, 0x5F, 0x3E, 0xD7, 0xCB, 0x39, 0x48}}; + +u8 AccessSubstitutionBox(u8 index) { + return substitution_box[index]; +} + +} // namespace Dynarmic::Common::Crypto::SM4 diff --git a/externals/dynarmic/src/dynarmic/common/crypto/sm4.h b/externals/dynarmic/src/dynarmic/common/crypto/sm4.h new file mode 100755 index 000000000..2444ed28f --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/crypto/sm4.h @@ -0,0 +1,14 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common::Crypto::SM4 { + +u8 AccessSubstitutionBox(u8 index); + +} // namespace Dynarmic::Common::Crypto::SM4 diff --git a/externals/dynarmic/src/dynarmic/common/fp/fpcr.h b/externals/dynarmic/src/dynarmic/common/fp/fpcr.h new file mode 100755 index 000000000..8a1b0d73b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/fpcr.h @@ -0,0 +1,208 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/rounding_mode.h" + +namespace Dynarmic::FP { + +/** + * Representation of the Floating-Point Control Register. + */ +class FPCR final { +public: + FPCR() = default; + FPCR(const FPCR&) = default; + FPCR(FPCR&&) = default; + explicit FPCR(u32 data) + : value{data & mask} {} + + FPCR& operator=(const FPCR&) = default; + FPCR& operator=(FPCR&&) = default; + FPCR& operator=(u32 data) { + value = data & mask; + return *this; + } + + /// Get alternate half-precision control flag. + bool AHP() const { + return Common::Bit<26>(value); + } + + /// Set alternate half-precision control flag. + void AHP(bool ahp) { + value = Common::ModifyBit<26>(value, ahp); + } + + /// Get default NaN mode control bit. + bool DN() const { + return Common::Bit<25>(value); + } + + /// Set default NaN mode control bit. + void DN(bool dn) { + value = Common::ModifyBit<25>(value, dn); + } + + /// Get flush-to-zero mode control bit. + bool FZ() const { + return Common::Bit<24>(value); + } + + /// Set flush-to-zero mode control bit. + void FZ(bool fz) { + value = Common::ModifyBit<24>(value, fz); + } + + /// Get rounding mode control field. + FP::RoundingMode RMode() const { + return static_cast(Common::Bits<22, 23>(value)); + } + + /// Set rounding mode control field. + void RMode(FP::RoundingMode rounding_mode) { + ASSERT_MSG(static_cast(rounding_mode) <= 0b11, "FPCR: Invalid rounding mode"); + value = Common::ModifyBits<22, 23>(value, static_cast(rounding_mode)); + } + + /// Get the stride of a vector when executing AArch32 VFP instructions. + /// This field has no function in AArch64 state. + std::optional Stride() const { + switch (Common::Bits<20, 21>(value)) { + case 0b00: + return 1; + case 0b11: + return 2; + default: + return std::nullopt; + } + } + + /// Set the stride of a vector when executing AArch32 VFP instructions. + /// This field has no function in AArch64 state. + void Stride(size_t stride) { + ASSERT_MSG(stride >= 1 && stride <= 2, "FPCR: Invalid stride"); + value = Common::ModifyBits<20, 21>(value, stride == 1 ? 0b00u : 0b11u); + } + + /// Get flush-to-zero (half-precision specific) mode control bit. + bool FZ16() const { + return Common::Bit<19>(value); + } + + /// Set flush-to-zero (half-precision specific) mode control bit. + void FZ16(bool fz16) { + value = Common::ModifyBit<19>(value, fz16); + } + + /// Gets the length of a vector when executing AArch32 VFP instructions. + /// This field has no function in AArch64 state. + size_t Len() const { + return Common::Bits<16, 18>(value) + 1; + } + + /// Sets the length of a vector when executing AArch32 VFP instructions. + /// This field has no function in AArch64 state. + void Len(size_t len) { + ASSERT_MSG(len >= 1 && len <= 8, "FPCR: Invalid len"); + value = Common::ModifyBits<16, 18>(value, static_cast(len - 1)); + } + + /// Get input denormal exception trap enable flag. + bool IDE() const { + return Common::Bit<15>(value); + } + + /// Set input denormal exception trap enable flag. + void IDE(bool ide) { + value = Common::ModifyBit<15>(value, ide); + } + + /// Get inexact exception trap enable flag. + bool IXE() const { + return Common::Bit<12>(value); + } + + /// Set inexact exception trap enable flag. + void IXE(bool ixe) { + value = Common::ModifyBit<12>(value, ixe); + } + + /// Get underflow exception trap enable flag. + bool UFE() const { + return Common::Bit<11>(value); + } + + /// Set underflow exception trap enable flag. + void UFE(bool ufe) { + value = Common::ModifyBit<11>(value, ufe); + } + + /// Get overflow exception trap enable flag. + bool OFE() const { + return Common::Bit<10>(value); + } + + /// Set overflow exception trap enable flag. + void OFE(bool ofe) { + value = Common::ModifyBit<10>(value, ofe); + } + + /// Get division by zero exception trap enable flag. + bool DZE() const { + return Common::Bit<9>(value); + } + + /// Set division by zero exception trap enable flag. + void DZE(bool dze) { + value = Common::ModifyBit<9>(value, dze); + } + + /// Get invalid operation exception trap enable flag. + bool IOE() const { + return Common::Bit<8>(value); + } + + /// Set invalid operation exception trap enable flag. + void IOE(bool ioe) { + value = Common::ModifyBit<8>(value, ioe); + } + + /// Gets the underlying raw value within the FPCR. + u32 Value() const { + return value; + } + + /// Gets the StandardFPSCRValue (A32 ASIMD). + FPCR ASIMDStandardValue() const { + FPCR stdvalue; + stdvalue.AHP(AHP()); + stdvalue.FZ16(FZ16()); + stdvalue.FZ(true); + stdvalue.DN(true); + return stdvalue; + } + +private: + // Bits 0-7, 13-14, and 27-31 are reserved. + static constexpr u32 mask = 0x07FF9F00; + u32 value = 0; +}; + +inline bool operator==(FPCR lhs, FPCR rhs) { + return lhs.Value() == rhs.Value(); +} + +inline bool operator!=(FPCR lhs, FPCR rhs) { + return !operator==(lhs, rhs); +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/fpsr.h b/externals/dynarmic/src/dynarmic/common/fp/fpsr.h new file mode 100755 index 000000000..1accf872c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/fpsr.h @@ -0,0 +1,160 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::FP { + +/** + * Representation of the Floating-Point Status Register. + */ +class FPSR final { +public: + FPSR() = default; + FPSR(const FPSR&) = default; + FPSR(FPSR&&) = default; + explicit FPSR(u32 data) + : value{data & mask} {} + + FPSR& operator=(const FPSR&) = default; + FPSR& operator=(FPSR&&) = default; + FPSR& operator=(u32 data) { + value = data & mask; + return *this; + } + + /// Get negative condition flag + bool N() const { + return Common::Bit<31>(value); + } + + /// Set negative condition flag + void N(bool N_) { + value = Common::ModifyBit<31>(value, N_); + } + + /// Get zero condition flag + bool Z() const { + return Common::Bit<30>(value); + } + + /// Set zero condition flag + void Z(bool Z_) { + value = Common::ModifyBit<30>(value, Z_); + } + + /// Get carry condition flag + bool C() const { + return Common::Bit<29>(value); + } + + /// Set carry condition flag + void C(bool C_) { + value = Common::ModifyBit<29>(value, C_); + } + + /// Get overflow condition flag + bool V() const { + return Common::Bit<28>(value); + } + + /// Set overflow condition flag + void V(bool V_) { + value = Common::ModifyBit<28>(value, V_); + } + + /// Get cumulative saturation bit + bool QC() const { + return Common::Bit<27>(value); + } + + /// Set cumulative saturation bit + void QC(bool QC_) { + value = Common::ModifyBit<27>(value, QC_); + } + + /// Get input denormal floating-point exception bit + bool IDC() const { + return Common::Bit<7>(value); + } + + /// Set input denormal floating-point exception bit + void IDC(bool IDC_) { + value = Common::ModifyBit<7>(value, IDC_); + } + + /// Get inexact cumulative floating-point exception bit + bool IXC() const { + return Common::Bit<4>(value); + } + + /// Set inexact cumulative floating-point exception bit + void IXC(bool IXC_) { + value = Common::ModifyBit<4>(value, IXC_); + } + + /// Get underflow cumulative floating-point exception bit + bool UFC() const { + return Common::Bit<3>(value); + } + + /// Set underflow cumulative floating-point exception bit + void UFC(bool UFC_) { + value = Common::ModifyBit<3>(value, UFC_); + } + + /// Get overflow cumulative floating-point exception bit + bool OFC() const { + return Common::Bit<2>(value); + } + + /// Set overflow cumulative floating-point exception bit + void OFC(bool OFC_) { + value = Common::ModifyBit<2>(value, OFC_); + } + + /// Get divide by zero cumulative floating-point exception bit + bool DZC() const { + return Common::Bit<1>(value); + } + + /// Set divide by zero cumulative floating-point exception bit + void DZC(bool DZC_) { + value = Common::ModifyBit<1>(value, DZC_); + } + + /// Get invalid operation cumulative floating-point exception bit + bool IOC() const { + return Common::Bit<0>(value); + } + + /// Set invalid operation cumulative floating-point exception bit + void IOC(bool IOC_) { + value = Common::ModifyBit<0>(value, IOC_); + } + + /// Gets the underlying raw value within the FPSR. + u32 Value() const { + return value; + } + +private: + // Bits 5-6 and 8-26 are reserved. + static constexpr u32 mask = 0xF800009F; + u32 value = 0; +}; + +inline bool operator==(FPSR lhs, FPSR rhs) { + return lhs.Value() == rhs.Value(); +} + +inline bool operator!=(FPSR lhs, FPSR rhs) { + return !operator==(lhs, rhs); +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/fused.cpp b/externals/dynarmic/src/dynarmic/common/fp/fused.cpp new file mode 100755 index 000000000..2f3ccacbe --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/fused.cpp @@ -0,0 +1,90 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/fused.h" + +#include "dynarmic/common/fp/mantissa_util.h" +#include "dynarmic/common/fp/unpacked.h" +#include "dynarmic/common/u128.h" + +namespace Dynarmic::FP { + +constexpr size_t product_point_position = normalized_point_position * 2; + +static FPUnpacked ReduceMantissa(bool sign, int exponent, const u128& mantissa) { + constexpr int point_position_correction = normalized_point_position - (product_point_position - 64); + // We round-to-odd here when reducing the bitwidth of the mantissa so that subsequent roundings are accurate. + return {sign, exponent + point_position_correction, mantissa.upper | static_cast(mantissa.lower != 0)}; +} + +FPUnpacked FusedMulAdd(FPUnpacked addend, FPUnpacked op1, FPUnpacked op2) { + const bool product_sign = op1.sign != op2.sign; + const auto [product_exponent, product_value] = [op1, op2] { + int exponent = op1.exponent + op2.exponent; + u128 value = Multiply64To128(op1.mantissa, op2.mantissa); + if (value.Bit()) { + value = value >> 1; + exponent++; + } + return std::make_tuple(exponent, value); + }(); + + if (product_value == 0) { + return addend; + } + + if (addend.mantissa == 0) { + return ReduceMantissa(product_sign, product_exponent, product_value); + } + + const int exp_diff = product_exponent - addend.exponent; + + if (product_sign == addend.sign) { + // Addition + + if (exp_diff <= 0) { + // addend > product + const u64 result = addend.mantissa + StickyLogicalShiftRight(product_value, normalized_point_position - exp_diff).lower; + return FPUnpacked{addend.sign, addend.exponent, result}; + } + + // addend < product + const u128 result = product_value + StickyLogicalShiftRight(addend.mantissa, exp_diff - normalized_point_position); + return ReduceMantissa(product_sign, product_exponent, result); + } + + // Subtraction + + const u128 addend_long = u128(addend.mantissa) << normalized_point_position; + + bool result_sign; + u128 result; + int result_exponent; + + if (exp_diff == 0 && product_value > addend_long) { + result_sign = product_sign; + result_exponent = product_exponent; + result = product_value - addend_long; + } else if (exp_diff <= 0) { + result_sign = !product_sign; + result_exponent = addend.exponent; + result = addend_long - StickyLogicalShiftRight(product_value, -exp_diff); + } else { + result_sign = product_sign; + result_exponent = product_exponent; + result = product_value - StickyLogicalShiftRight(addend_long, exp_diff); + } + + if (result.upper == 0) { + return FPUnpacked{result_sign, result_exponent, result.lower}; + } + + const int required_shift = normalized_point_position - Common::HighestSetBit(result.upper); + result = result << required_shift; + result_exponent -= required_shift; + return ReduceMantissa(result_sign, result_exponent, result); +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/fused.h b/externals/dynarmic/src/dynarmic/common/fp/fused.h new file mode 100755 index 000000000..0ffa2683c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/fused.h @@ -0,0 +1,15 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +struct FPUnpacked; + +/// This function assumes all arguments have been normalized. +FPUnpacked FusedMulAdd(FPUnpacked addend, FPUnpacked op1, FPUnpacked op2); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/info.h b/externals/dynarmic/src/dynarmic/common/fp/info.h new file mode 100755 index 000000000..f5a7b57f6 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/info.h @@ -0,0 +1,138 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::FP { + +template +struct FPInfo {}; + +template<> +struct FPInfo { + static constexpr size_t total_width = 16; + static constexpr size_t exponent_width = 5; + static constexpr size_t explicit_mantissa_width = 10; + static constexpr size_t mantissa_width = explicit_mantissa_width + 1; + + static constexpr u32 implicit_leading_bit = u32(1) << explicit_mantissa_width; + static constexpr u32 sign_mask = 0x8000; + static constexpr u32 exponent_mask = 0x7C00; + static constexpr u32 mantissa_mask = 0x3FF; + static constexpr u32 mantissa_msb = 0x200; + + static constexpr int exponent_min = -14; + static constexpr int exponent_max = 15; + static constexpr int exponent_bias = 15; + + static constexpr u16 Zero(bool sign) { + return sign ? static_cast(sign_mask) : u16{0}; + } + + static constexpr u16 Infinity(bool sign) { + return static_cast(exponent_mask | Zero(sign)); + } + + static constexpr u16 MaxNormal(bool sign) { + return static_cast((exponent_mask - 1) | Zero(sign)); + } + + static constexpr u16 DefaultNaN() { + return static_cast(exponent_mask | (u32(1) << (explicit_mantissa_width - 1))); + } +}; + +template<> +struct FPInfo { + static constexpr size_t total_width = 32; + static constexpr size_t exponent_width = 8; + static constexpr size_t explicit_mantissa_width = 23; + static constexpr size_t mantissa_width = explicit_mantissa_width + 1; + + static constexpr u32 implicit_leading_bit = u32(1) << explicit_mantissa_width; + static constexpr u32 sign_mask = 0x80000000; + static constexpr u32 exponent_mask = 0x7F800000; + static constexpr u32 mantissa_mask = 0x007FFFFF; + static constexpr u32 mantissa_msb = 0x00400000; + + static constexpr int exponent_min = -126; + static constexpr int exponent_max = 127; + static constexpr int exponent_bias = 127; + + static constexpr u32 Zero(bool sign) { + return sign ? sign_mask : 0; + } + + static constexpr u32 Infinity(bool sign) { + return exponent_mask | Zero(sign); + } + + static constexpr u32 MaxNormal(bool sign) { + return (exponent_mask - 1) | Zero(sign); + } + + static constexpr u32 DefaultNaN() { + return exponent_mask | (u32(1) << (explicit_mantissa_width - 1)); + } +}; + +template<> +struct FPInfo { + static constexpr size_t total_width = 64; + static constexpr size_t exponent_width = 11; + static constexpr size_t explicit_mantissa_width = 52; + static constexpr size_t mantissa_width = explicit_mantissa_width + 1; + + static constexpr u64 implicit_leading_bit = u64(1) << explicit_mantissa_width; + static constexpr u64 sign_mask = 0x8000'0000'0000'0000; + static constexpr u64 exponent_mask = 0x7FF0'0000'0000'0000; + static constexpr u64 mantissa_mask = 0x000F'FFFF'FFFF'FFFF; + static constexpr u64 mantissa_msb = 0x0008'0000'0000'0000; + + static constexpr int exponent_min = -1022; + static constexpr int exponent_max = 1023; + static constexpr int exponent_bias = 1023; + + static constexpr u64 Zero(bool sign) { + return sign ? sign_mask : 0; + } + + static constexpr u64 Infinity(bool sign) { + return exponent_mask | Zero(sign); + } + + static constexpr u64 MaxNormal(bool sign) { + return (exponent_mask - 1) | Zero(sign); + } + + static constexpr u64 DefaultNaN() { + return exponent_mask | (u64(1) << (explicit_mantissa_width - 1)); + } +}; + +/// value = (sign ? -1 : +1) * 2^exponent * value +/// @note We do not handle denormals. Denormals will static_assert. +template +constexpr FPT FPValue() { + if constexpr (value == 0) { + return FPInfo::Zero(sign); + } + + constexpr int point_position = static_cast(FPInfo::explicit_mantissa_width); + constexpr int highest_bit = Common::HighestSetBit(value); + constexpr int offset = point_position - highest_bit; + constexpr int normalized_exponent = exponent - offset + point_position; + static_assert(offset >= 0); + static_assert(normalized_exponent >= FPInfo::exponent_min && normalized_exponent <= FPInfo::exponent_max); + + constexpr FPT mantissa = (value << offset) & FPInfo::mantissa_mask; + constexpr FPT biased_exponent = static_cast(normalized_exponent + FPInfo::exponent_bias); + return FPT(FPInfo::Zero(sign) | mantissa | (biased_exponent << FPInfo::explicit_mantissa_width)); +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/mantissa_util.h b/externals/dynarmic/src/dynarmic/common/fp/mantissa_util.h new file mode 100755 index 000000000..a2fe7c216 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/mantissa_util.h @@ -0,0 +1,46 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::FP { + +enum class ResidualError { + Zero, + LessThanHalf, + Half, + GreaterThanHalf, +}; + +inline ResidualError ResidualErrorOnRightShift(u64 mantissa, int shift_amount) { + if (shift_amount <= 0 || mantissa == 0) { + return ResidualError::Zero; + } + + if (shift_amount > static_cast(Common::BitSize())) { + return Common::MostSignificantBit(mantissa) ? ResidualError::GreaterThanHalf : ResidualError::LessThanHalf; + } + + const size_t half_bit_position = static_cast(shift_amount - 1); + const u64 half = static_cast(1) << half_bit_position; + const u64 error_mask = Common::Ones(static_cast(shift_amount)); + const u64 error = mantissa & error_mask; + + if (error == 0) { + return ResidualError::Zero; + } + if (error < half) { + return ResidualError::LessThanHalf; + } + if (error == half) { + return ResidualError::Half; + } + return ResidualError::GreaterThanHalf; +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op.h b/externals/dynarmic/src/dynarmic/common/fp/op.h new file mode 100755 index 000000000..b30ff39c4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op.h @@ -0,0 +1,17 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/fp/op/FPCompare.h" +#include "dynarmic/common/fp/op/FPConvert.h" +#include "dynarmic/common/fp/op/FPMulAdd.h" +#include "dynarmic/common/fp/op/FPRSqrtEstimate.h" +#include "dynarmic/common/fp/op/FPRSqrtStepFused.h" +#include "dynarmic/common/fp/op/FPRecipEstimate.h" +#include "dynarmic/common/fp/op/FPRecipExponent.h" +#include "dynarmic/common/fp/op/FPRecipStepFused.h" +#include "dynarmic/common/fp/op/FPRoundInt.h" +#include "dynarmic/common/fp/op/FPToFixed.h" diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPCompare.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPCompare.cpp new file mode 100755 index 000000000..8aeaadc57 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPCompare.cpp @@ -0,0 +1,40 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPCompare.h" + +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/unpacked.h" + +namespace Dynarmic::FP { + +template +bool FPCompareEQ(FPT lhs, FPT rhs, FPCR fpcr, FPSR& fpsr) { + const auto unpacked1 = FPUnpack(lhs, fpcr, fpsr); + const auto unpacked2 = FPUnpack(rhs, fpcr, fpsr); + const auto type1 = std::get(unpacked1); + const auto type2 = std::get(unpacked2); + const auto& value1 = std::get(unpacked1); + const auto& value2 = std::get(unpacked2); + + if (type1 == FPType::QNaN || type1 == FPType::SNaN || type2 == FPType::QNaN || type2 == FPType::SNaN) { + if (type1 == FPType::SNaN || type2 == FPType::SNaN) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + } + + // Comparisons against NaN are never equal. + return false; + } + + return value1 == value2 || (type1 == FPType::Zero && type2 == FPType::Zero); +} + +template bool FPCompareEQ(u16 lhs, u16 rhs, FPCR fpcr, FPSR& fpsr); +template bool FPCompareEQ(u32 lhs, u32 rhs, FPCR fpcr, FPSR& fpsr); +template bool FPCompareEQ(u64 lhs, u64 rhs, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPCompare.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPCompare.h new file mode 100755 index 000000000..e0d5ca037 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPCompare.h @@ -0,0 +1,16 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; + +template +bool FPCompareEQ(FPT lhs, FPT rhs, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPConvert.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPConvert.cpp new file mode 100755 index 000000000..8d01e5243 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPConvert.cpp @@ -0,0 +1,90 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPConvert.h" + +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/unpacked.h" + +namespace Dynarmic::FP { +namespace { +template +FPT_TO FPConvertNaN(FPT_FROM op) { + const bool sign = Common::Bit() - 1>(op); + const u64 frac = [op] { + if constexpr (sizeof(FPT_FROM) == sizeof(u64)) { + return Common::Bits<0, 50>(op); + } else if constexpr (sizeof(FPT_FROM) == sizeof(u32)) { + return u64{Common::Bits<0, 21>(op)} << 29; + } else { + return u64{Common::Bits<0, 8>(op)} << 42; + } + }(); + + const size_t dest_bit_size = Common::BitSize(); + const u64 shifted_sign = u64{sign} << (dest_bit_size - 1); + const u64 exponent = Common::Ones(dest_bit_size - FPInfo::explicit_mantissa_width); + + if constexpr (sizeof(FPT_TO) == sizeof(u64)) { + return FPT_TO(shifted_sign | exponent << 51 | frac); + } else if constexpr (sizeof(FPT_TO) == sizeof(u32)) { + return FPT_TO(shifted_sign | exponent << 22 | Common::Bits<29, 50>(frac)); + } else { + return FPT_TO(shifted_sign | exponent << 9 | Common::Bits<42, 50>(frac)); + } +} +} // Anonymous namespace + +template +FPT_TO FPConvert(FPT_FROM op, FPCR fpcr, RoundingMode rounding_mode, FPSR& fpsr) { + const auto [type, sign, value] = FPUnpackCV(op, fpcr, fpsr); + const bool is_althp = Common::BitSize() == 16 && fpcr.AHP(); + + if (type == FPType::SNaN || type == FPType::QNaN) { + std::uintmax_t result{}; + + if (is_althp) { + result = FPInfo::Zero(sign); + } else if (fpcr.DN()) { + result = FPInfo::DefaultNaN(); + } else { + result = FPConvertNaN(op); + } + + if (type == FPType::SNaN || is_althp) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + } + + return FPT_TO(result); + } + + if (type == FPType::Infinity) { + if (is_althp) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + return FPT_TO(u32{sign} << 15 | 0b111111111111111); + } + + return FPInfo::Infinity(sign); + } + + if (type == FPType::Zero) { + return FPInfo::Zero(sign); + } + + return FPRoundCV(value, fpcr, rounding_mode, fpsr); +} + +template u16 FPConvert(u32 op, FPCR fpcr, RoundingMode rounding_mode, FPSR& fpsr); +template u16 FPConvert(u64 op, FPCR fpcr, RoundingMode rounding_mode, FPSR& fpsr); +template u32 FPConvert(u16 op, FPCR fpcr, RoundingMode rounding_mode, FPSR& fpsr); +template u32 FPConvert(u64 op, FPCR fpcr, RoundingMode rounding_mode, FPSR& fpsr); +template u64 FPConvert(u16 op, FPCR fpcr, RoundingMode rounding_mode, FPSR& fpsr); +template u64 FPConvert(u32 op, FPCR fpcr, RoundingMode rounding_mode, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPConvert.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPConvert.h new file mode 100755 index 000000000..0fea22e48 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPConvert.h @@ -0,0 +1,17 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; +enum class RoundingMode; + +template +FPT_TO FPConvert(FPT_FROM op, FPCR fpcr, RoundingMode rounding_mode, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPMulAdd.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPMulAdd.cpp new file mode 100755 index 000000000..409b750b7 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPMulAdd.cpp @@ -0,0 +1,80 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPMulAdd.h" + +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/fused.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/process_nan.h" +#include "dynarmic/common/fp/unpacked.h" + +namespace Dynarmic::FP { + +template +FPT FPMulAdd(FPT addend, FPT op1, FPT op2, FPCR fpcr, FPSR& fpsr) { + const RoundingMode rounding = fpcr.RMode(); + + const auto [typeA, signA, valueA] = FPUnpack(addend, fpcr, fpsr); + const auto [type1, sign1, value1] = FPUnpack(op1, fpcr, fpsr); + const auto [type2, sign2, value2] = FPUnpack(op2, fpcr, fpsr); + + const bool infA = typeA == FPType::Infinity; + const bool inf1 = type1 == FPType::Infinity; + const bool inf2 = type2 == FPType::Infinity; + const bool zeroA = typeA == FPType::Zero; + const bool zero1 = type1 == FPType::Zero; + const bool zero2 = type2 == FPType::Zero; + + const auto maybe_nan = FPProcessNaNs3(typeA, type1, type2, addend, op1, op2, fpcr, fpsr); + + if (typeA == FPType::QNaN && ((inf1 && zero2) || (zero1 && inf2))) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + return FPInfo::DefaultNaN(); + } + + if (maybe_nan) { + return *maybe_nan; + } + + // Calculate properties of product (op1 * op2). + const bool signP = sign1 != sign2; + const bool infP = inf1 || inf2; + const bool zeroP = zero1 || zero2; + + // Raise NaN on (inf * inf) of opposite signs or (inf * zero). + if ((inf1 && zero2) || (zero1 && inf2) || (infA && infP && signA != signP)) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + return FPInfo::DefaultNaN(); + } + + // Handle infinities + if ((infA && !signA) || (infP && !signP)) { + return FPInfo::Infinity(false); + } + if ((infA && signA) || (infP && signP)) { + return FPInfo::Infinity(true); + } + + // Result is exactly zero + if (zeroA && zeroP && signA == signP) { + return FPInfo::Zero(signA); + } + + const FPUnpacked result_value = FusedMulAdd(valueA, value1, value2); + if (result_value.mantissa == 0) { + return FPInfo::Zero(rounding == RoundingMode::TowardsMinusInfinity); + } + return FPRound(result_value, fpcr, fpsr); +} + +template u16 FPMulAdd(u16 addend, u16 op1, u16 op2, FPCR fpcr, FPSR& fpsr); +template u32 FPMulAdd(u32 addend, u32 op1, u32 op2, FPCR fpcr, FPSR& fpsr); +template u64 FPMulAdd(u64 addend, u64 op1, u64 op2, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPMulAdd.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPMulAdd.h new file mode 100755 index 000000000..774fe88b8 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPMulAdd.h @@ -0,0 +1,16 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; + +template +FPT FPMulAdd(FPT addend, FPT op1, FPT op2, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPNeg.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPNeg.h new file mode 100755 index 000000000..4f172a598 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPNeg.h @@ -0,0 +1,17 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/fp/info.h" + +namespace Dynarmic::FP { + +template +constexpr FPT FPNeg(FPT op) { + return op ^ FPInfo::sign_mask; +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtEstimate.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtEstimate.cpp new file mode 100755 index 000000000..4f547e9df --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtEstimate.cpp @@ -0,0 +1,58 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPRSqrtEstimate.h" + +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/process_nan.h" +#include "dynarmic/common/fp/unpacked.h" +#include "dynarmic/common/math_util.h" +#include "dynarmic/common/safe_ops.h" + +namespace Dynarmic::FP { + +template +FPT FPRSqrtEstimate(FPT op, FPCR fpcr, FPSR& fpsr) { + const auto [type, sign, value] = FPUnpack(op, fpcr, fpsr); + + if (type == FPType::SNaN || type == FPType::QNaN) { + return FPProcessNaN(type, op, fpcr, fpsr); + } + + if (type == FPType::Zero) { + FPProcessException(FPExc::DivideByZero, fpcr, fpsr); + return FPInfo::Infinity(sign); + } + + if (sign) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + return FPInfo::DefaultNaN(); + } + + if (type == FPType::Infinity) { + // Note: Just +Inf reaches here, negatives are handled in the case above. + return FPInfo::Zero(false); + } + + const int result_exponent = (-(value.exponent + 1)) >> 1; + const bool was_exponent_odd = (value.exponent) % 2 == 0; + + const u64 scaled = Safe::LogicalShiftRight(value.mantissa, normalized_point_position - (was_exponent_odd ? 7 : 8)); + const u64 estimate = Common::RecipSqrtEstimate(scaled); + + const FPT bits_exponent = static_cast(result_exponent + FPInfo::exponent_bias); + const FPT bits_mantissa = static_cast(estimate << (FPInfo::explicit_mantissa_width - 8)); + return (bits_exponent << FPInfo::explicit_mantissa_width) | (bits_mantissa & FPInfo::mantissa_mask); +} + +template u16 FPRSqrtEstimate(u16 op, FPCR fpcr, FPSR& fpsr); +template u32 FPRSqrtEstimate(u32 op, FPCR fpcr, FPSR& fpsr); +template u64 FPRSqrtEstimate(u64 op, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtEstimate.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtEstimate.h new file mode 100755 index 000000000..f51be1e8b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtEstimate.h @@ -0,0 +1,16 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; + +template +FPT FPRSqrtEstimate(FPT op, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtStepFused.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtStepFused.cpp new file mode 100755 index 000000000..06fe96d44 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtStepFused.cpp @@ -0,0 +1,57 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPRSqrtStepFused.h" + +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/fused.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/op/FPNeg.h" +#include "dynarmic/common/fp/process_nan.h" +#include "dynarmic/common/fp/unpacked.h" + +namespace Dynarmic::FP { + +template +FPT FPRSqrtStepFused(FPT op1, FPT op2, FPCR fpcr, FPSR& fpsr) { + op1 = FPNeg(op1); + + const auto [type1, sign1, value1] = FPUnpack(op1, fpcr, fpsr); + const auto [type2, sign2, value2] = FPUnpack(op2, fpcr, fpsr); + + if (const auto maybe_nan = FPProcessNaNs(type1, type2, op1, op2, fpcr, fpsr)) { + return *maybe_nan; + } + + const bool inf1 = type1 == FPType::Infinity; + const bool inf2 = type2 == FPType::Infinity; + const bool zero1 = type1 == FPType::Zero; + const bool zero2 = type2 == FPType::Zero; + + if ((inf1 && zero2) || (zero1 && inf2)) { + // return +1.5 + return FPValue(); + } + + if (inf1 || inf2) { + return FPInfo::Infinity(sign1 != sign2); + } + + // result_value = (3.0 + (value1 * value2)) / 2.0 + FPUnpacked result_value = FusedMulAdd(ToNormalized(false, 0, 3), value1, value2); + result_value.exponent--; + + if (result_value.mantissa == 0) { + return FPInfo::Zero(fpcr.RMode() == RoundingMode::TowardsMinusInfinity); + } + return FPRound(result_value, fpcr, fpsr); +} + +template u16 FPRSqrtStepFused(u16 op1, u16 op2, FPCR fpcr, FPSR& fpsr); +template u32 FPRSqrtStepFused(u32 op1, u32 op2, FPCR fpcr, FPSR& fpsr); +template u64 FPRSqrtStepFused(u64 op1, u64 op2, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtStepFused.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtStepFused.h new file mode 100755 index 000000000..384a75924 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRSqrtStepFused.h @@ -0,0 +1,16 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; + +template +FPT FPRSqrtStepFused(FPT op1, FPT op2, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipEstimate.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipEstimate.cpp new file mode 100755 index 000000000..956c78192 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipEstimate.cpp @@ -0,0 +1,99 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPRecipEstimate.h" + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/process_nan.h" +#include "dynarmic/common/fp/unpacked.h" +#include "dynarmic/common/math_util.h" + +namespace Dynarmic::FP { + +template +FPT FPRecipEstimate(FPT op, FPCR fpcr, FPSR& fpsr) { + FPType type; + bool sign; + FPUnpacked value; + std::tie(type, sign, value) = FPUnpack(op, fpcr, fpsr); + + if (type == FPType::SNaN || type == FPType::QNaN) { + return FPProcessNaN(type, op, fpcr, fpsr); + } + + if (type == FPType::Infinity) { + return FPInfo::Zero(sign); + } + + if (type == FPType::Zero) { + FPProcessException(FPExc::DivideByZero, fpcr, fpsr); + return FPInfo::Infinity(sign); + } + + if (value.exponent < FPInfo::exponent_min - 2) { + const bool overflow_to_inf = [&] { + switch (fpcr.RMode()) { + case RoundingMode::ToNearest_TieEven: + return true; + case RoundingMode::TowardsPlusInfinity: + return !sign; + case RoundingMode::TowardsMinusInfinity: + return sign; + case RoundingMode::TowardsZero: + return false; + default: + UNREACHABLE(); + } + }(); + + FPProcessException(FPExc::Overflow, fpcr, fpsr); + FPProcessException(FPExc::Inexact, fpcr, fpsr); + return overflow_to_inf ? FPInfo::Infinity(sign) : FPInfo::MaxNormal(sign); + } + + if ((fpcr.FZ() && !std::is_same_v) || (fpcr.FZ16() && std::is_same_v)) { + if (value.exponent >= -FPInfo::exponent_min) { + fpsr.UFC(true); + return FPInfo::Zero(sign); + } + } + + const u64 scaled = value.mantissa >> (normalized_point_position - 8); + u64 estimate = static_cast(Common::RecipEstimate(scaled)) << (FPInfo::explicit_mantissa_width - 8); + int result_exponent = -(value.exponent + 1); + if (result_exponent < FPInfo::exponent_min) { + switch (result_exponent) { + case (FPInfo::exponent_min - 1): + estimate |= FPInfo::implicit_leading_bit; + estimate >>= 1; + break; + case (FPInfo::exponent_min - 2): + estimate |= FPInfo::implicit_leading_bit; + estimate >>= 2; + result_exponent++; + break; + default: + UNREACHABLE(); + } + } + + const FPT bits_sign = FPInfo::Zero(sign); + const FPT bits_exponent = static_cast(result_exponent + FPInfo::exponent_bias); + const FPT bits_mantissa = static_cast(estimate); + return FPT((bits_exponent << FPInfo::explicit_mantissa_width) | (bits_mantissa & FPInfo::mantissa_mask) | bits_sign); +} + +template u16 FPRecipEstimate(u16 op, FPCR fpcr, FPSR& fpsr); +template u32 FPRecipEstimate(u32 op, FPCR fpcr, FPSR& fpsr); +template u64 FPRecipEstimate(u64 op, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipEstimate.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipEstimate.h new file mode 100755 index 000000000..eaf6fee5b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipEstimate.h @@ -0,0 +1,16 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; + +template +FPT FPRecipEstimate(FPT op, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipExponent.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipExponent.cpp new file mode 100755 index 000000000..7bbcb8cc9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipExponent.cpp @@ -0,0 +1,58 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPRecipExponent.h" + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/process_nan.h" +#include "dynarmic/common/fp/unpacked.h" + +namespace Dynarmic::FP { +namespace { +template +FPT DetermineExponentValue(size_t value) { + if constexpr (sizeof(FPT) == sizeof(u32)) { + return static_cast(Common::Bits<23, 30>(value)); + } else if constexpr (sizeof(FPT) == sizeof(u64)) { + return static_cast(Common::Bits<52, 62>(value)); + } else { + return static_cast(Common::Bits<10, 14>(value)); + } +} +} // Anonymous namespace + +template +FPT FPRecipExponent(FPT op, FPCR fpcr, FPSR& fpsr) { + const auto [type, sign, value] = FPUnpack(op, fpcr, fpsr); + (void)value; + + if (type == FPType::SNaN || type == FPType::QNaN) { + return FPProcessNaN(type, op, fpcr, fpsr); + } + + const FPT sign_bits = FPInfo::Zero(sign); + const FPT exponent = DetermineExponentValue(op); + + // Zero and denormals + if (exponent == 0) { + const FPT max_exponent = Common::Ones(FPInfo::exponent_width) - 1; + return FPT(sign_bits | (max_exponent << FPInfo::explicit_mantissa_width)); + } + + // Infinities and normals + const FPT negated_exponent = FPT(~exponent); + const FPT adjusted_exponent = FPT(negated_exponent << FPInfo::explicit_mantissa_width) & FPInfo::exponent_mask; + return FPT(sign_bits | adjusted_exponent); +} + +template u16 FPRecipExponent(u16 op, FPCR fpcr, FPSR& fpsr); +template u32 FPRecipExponent(u32 op, FPCR fpcr, FPSR& fpsr); +template u64 FPRecipExponent(u64 op, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipExponent.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipExponent.h new file mode 100755 index 000000000..63ff3530b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipExponent.h @@ -0,0 +1,16 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; + +template +FPT FPRecipExponent(FPT op, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipStepFused.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipStepFused.cpp new file mode 100755 index 000000000..b01477fec --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipStepFused.cpp @@ -0,0 +1,56 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPRecipStepFused.h" + +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/fused.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/op/FPNeg.h" +#include "dynarmic/common/fp/process_nan.h" +#include "dynarmic/common/fp/unpacked.h" + +namespace Dynarmic::FP { + +template +FPT FPRecipStepFused(FPT op1, FPT op2, FPCR fpcr, FPSR& fpsr) { + op1 = FPNeg(op1); + + const auto [type1, sign1, value1] = FPUnpack(op1, fpcr, fpsr); + const auto [type2, sign2, value2] = FPUnpack(op2, fpcr, fpsr); + + if (const auto maybe_nan = FPProcessNaNs(type1, type2, op1, op2, fpcr, fpsr)) { + return *maybe_nan; + } + + const bool inf1 = type1 == FPType::Infinity; + const bool inf2 = type2 == FPType::Infinity; + const bool zero1 = type1 == FPType::Zero; + const bool zero2 = type2 == FPType::Zero; + + if ((inf1 && zero2) || (zero1 && inf2)) { + // return +2.0 + return FPValue(); + } + + if (inf1 || inf2) { + return FPInfo::Infinity(sign1 != sign2); + } + + // result_value = 2.0 + (value1 * value2) + const FPUnpacked result_value = FusedMulAdd(ToNormalized(false, 0, 2), value1, value2); + + if (result_value.mantissa == 0) { + return FPInfo::Zero(fpcr.RMode() == RoundingMode::TowardsMinusInfinity); + } + return FPRound(result_value, fpcr, fpsr); +} + +template u16 FPRecipStepFused(u16 op1, u16 op2, FPCR fpcr, FPSR& fpsr); +template u32 FPRecipStepFused(u32 op1, u32 op2, FPCR fpcr, FPSR& fpsr); +template u64 FPRecipStepFused(u64 op1, u64 op2, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipStepFused.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipStepFused.h new file mode 100755 index 000000000..abe447b50 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRecipStepFused.h @@ -0,0 +1,16 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; + +template +FPT FPRecipStepFused(FPT op1, FPT op2, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRoundInt.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPRoundInt.cpp new file mode 100755 index 000000000..6721228bf --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRoundInt.cpp @@ -0,0 +1,96 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPRoundInt.h" + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/mantissa_util.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/process_nan.h" +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/common/fp/unpacked.h" +#include "dynarmic/common/safe_ops.h" + +namespace Dynarmic::FP { + +template +u64 FPRoundInt(FPT op, FPCR fpcr, RoundingMode rounding, bool exact, FPSR& fpsr) { + ASSERT(rounding != RoundingMode::ToOdd); + + auto [type, sign, value] = FPUnpack(op, fpcr, fpsr); + + if (type == FPType::SNaN || type == FPType::QNaN) { + return FPProcessNaN(type, op, fpcr, fpsr); + } + + if (type == FPType::Infinity) { + return FPInfo::Infinity(sign); + } + + if (type == FPType::Zero) { + return FPInfo::Zero(sign); + } + + // Reshift decimal point back to bit zero. + const int exponent = value.exponent - normalized_point_position; + + if (exponent >= 0) { + // Guaranteed to be an integer + return op; + } + + u64 int_result = sign ? Safe::Negate(value.mantissa) : static_cast(value.mantissa); + const ResidualError error = ResidualErrorOnRightShift(int_result, -exponent); + int_result = Safe::ArithmeticShiftLeft(int_result, exponent); + + bool round_up = false; + switch (rounding) { + case RoundingMode::ToNearest_TieEven: + round_up = error > ResidualError::Half || (error == ResidualError::Half && Common::Bit<0>(int_result)); + break; + case RoundingMode::TowardsPlusInfinity: + round_up = error != ResidualError::Zero; + break; + case RoundingMode::TowardsMinusInfinity: + round_up = false; + break; + case RoundingMode::TowardsZero: + round_up = error != ResidualError::Zero && Common::MostSignificantBit(int_result); + break; + case RoundingMode::ToNearest_TieAwayFromZero: + round_up = error > ResidualError::Half || (error == ResidualError::Half && !Common::MostSignificantBit(int_result)); + break; + case RoundingMode::ToOdd: + UNREACHABLE(); + } + + if (round_up) { + int_result++; + } + + const bool new_sign = Common::MostSignificantBit(int_result); + const u64 abs_int_result = new_sign ? Safe::Negate(int_result) : static_cast(int_result); + + const FPT result = int_result == 0 + ? FPInfo::Zero(sign) + : FPRound(FPUnpacked{new_sign, normalized_point_position, abs_int_result}, fpcr, RoundingMode::TowardsZero, fpsr); + + if (error != ResidualError::Zero && exact) { + FPProcessException(FPExc::Inexact, fpcr, fpsr); + } + + return result; +} + +template u64 FPRoundInt(u16 op, FPCR fpcr, RoundingMode rounding, bool exact, FPSR& fpsr); +template u64 FPRoundInt(u32 op, FPCR fpcr, RoundingMode rounding, bool exact, FPSR& fpsr); +template u64 FPRoundInt(u64 op, FPCR fpcr, RoundingMode rounding, bool exact, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPRoundInt.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPRoundInt.h new file mode 100755 index 000000000..e8d0609a3 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPRoundInt.h @@ -0,0 +1,19 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; +enum class RoundingMode; + +template +u64 FPRoundInt(FPT op, FPCR fpcr, RoundingMode rounding, bool exact, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPToFixed.cpp b/externals/dynarmic/src/dynarmic/common/fp/op/FPToFixed.cpp new file mode 100755 index 000000000..011ec4e88 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPToFixed.cpp @@ -0,0 +1,102 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/op/FPToFixed.h" + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/mantissa_util.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/common/fp/unpacked.h" +#include "dynarmic/common/safe_ops.h" + +namespace Dynarmic::FP { + +template +u64 FPToFixed(size_t ibits, FPT op, size_t fbits, bool unsigned_, FPCR fpcr, RoundingMode rounding, FPSR& fpsr) { + ASSERT(rounding != RoundingMode::ToOdd); + ASSERT(ibits <= 64); + ASSERT(fbits <= ibits); + + auto [type, sign, value] = FPUnpack(op, fpcr, fpsr); + + if (type == FPType::SNaN || type == FPType::QNaN) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + } + + // Handle zero + if (value.mantissa == 0) { + return 0; + } + + if (sign && unsigned_) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + return 0; + } + + // value *= 2.0^fbits and reshift the decimal point back to bit zero. + int exponent = value.exponent + static_cast(fbits) - normalized_point_position; + + u64 int_result = sign ? Safe::Negate(value.mantissa) : static_cast(value.mantissa); + const ResidualError error = ResidualErrorOnRightShift(int_result, -exponent); + int_result = Safe::ArithmeticShiftLeft(int_result, exponent); + + bool round_up = false; + switch (rounding) { + case RoundingMode::ToNearest_TieEven: + round_up = error > ResidualError::Half || (error == ResidualError::Half && Common::Bit<0>(int_result)); + break; + case RoundingMode::TowardsPlusInfinity: + round_up = error != ResidualError::Zero; + break; + case RoundingMode::TowardsMinusInfinity: + round_up = false; + break; + case RoundingMode::TowardsZero: + round_up = error != ResidualError::Zero && Common::MostSignificantBit(int_result); + break; + case RoundingMode::ToNearest_TieAwayFromZero: + round_up = error > ResidualError::Half || (error == ResidualError::Half && !Common::MostSignificantBit(int_result)); + break; + case RoundingMode::ToOdd: + UNREACHABLE(); + } + + if (round_up) { + int_result++; + } + + // Detect Overflow + const int min_exponent_for_overflow = static_cast(ibits) - static_cast(Common::HighestSetBit(value.mantissa + (round_up ? 1 : 0))) - (unsigned_ ? 0 : 1); + if (exponent >= min_exponent_for_overflow) { + // Positive overflow + if (unsigned_ || !sign) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + return Common::Ones(ibits - (unsigned_ ? 0 : 1)); + } + + // Negative overflow + const u64 min_value = Safe::Negate(static_cast(1) << (ibits - 1)); + if (!(exponent == min_exponent_for_overflow && int_result == min_value)) { + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + return static_cast(1) << (ibits - 1); + } + } + + if (error != ResidualError::Zero) { + FPProcessException(FPExc::Inexact, fpcr, fpsr); + } + return int_result & Common::Ones(ibits); +} + +template u64 FPToFixed(size_t ibits, u16 op, size_t fbits, bool unsigned_, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); +template u64 FPToFixed(size_t ibits, u32 op, size_t fbits, bool unsigned_, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); +template u64 FPToFixed(size_t ibits, u64 op, size_t fbits, bool unsigned_, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/op/FPToFixed.h b/externals/dynarmic/src/dynarmic/common/fp/op/FPToFixed.h new file mode 100755 index 000000000..e87565a40 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/op/FPToFixed.h @@ -0,0 +1,19 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; +enum class RoundingMode; + +template +u64 FPToFixed(size_t ibits, FPT op, size_t fbits, bool unsigned_, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/process_exception.cpp b/externals/dynarmic/src/dynarmic/common/fp/process_exception.cpp new file mode 100755 index 000000000..a934118f0 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/process_exception.cpp @@ -0,0 +1,58 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/process_exception.h" + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" + +namespace Dynarmic::FP { + +void FPProcessException(FPExc exception, FPCR fpcr, FPSR& fpsr) { + switch (exception) { + case FPExc::InvalidOp: + if (fpcr.IOE()) { + ASSERT_FALSE("Raising floating point exceptions unimplemented"); + } + fpsr.IOC(true); + break; + case FPExc::DivideByZero: + if (fpcr.DZE()) { + ASSERT_FALSE("Raising floating point exceptions unimplemented"); + } + fpsr.DZC(true); + break; + case FPExc::Overflow: + if (fpcr.OFE()) { + ASSERT_FALSE("Raising floating point exceptions unimplemented"); + } + fpsr.OFC(true); + break; + case FPExc::Underflow: + if (fpcr.UFE()) { + ASSERT_FALSE("Raising floating point exceptions unimplemented"); + } + fpsr.UFC(true); + break; + case FPExc::Inexact: + if (fpcr.IXE()) { + ASSERT_FALSE("Raising floating point exceptions unimplemented"); + } + fpsr.IXC(true); + break; + case FPExc::InputDenorm: + if (fpcr.IDE()) { + ASSERT_FALSE("Raising floating point exceptions unimplemented"); + } + fpsr.IDC(true); + break; + default: + UNREACHABLE(); + break; + } +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/process_exception.h b/externals/dynarmic/src/dynarmic/common/fp/process_exception.h new file mode 100755 index 000000000..436a9daa2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/process_exception.h @@ -0,0 +1,24 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; + +enum class FPExc { + InvalidOp, + DivideByZero, + Overflow, + Underflow, + Inexact, + InputDenorm, +}; + +void FPProcessException(FPExc exception, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/process_nan.cpp b/externals/dynarmic/src/dynarmic/common/fp/process_nan.cpp new file mode 100755 index 000000000..0e2891dc2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/process_nan.cpp @@ -0,0 +1,92 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/process_nan.h" + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/unpacked.h" + +namespace Dynarmic::FP { + +template +FPT FPProcessNaN(FPType type, FPT op, FPCR fpcr, FPSR& fpsr) { + ASSERT(type == FPType::QNaN || type == FPType::SNaN); + + constexpr size_t topfrac = FPInfo::explicit_mantissa_width - 1; + + FPT result = op; + + if (type == FPType::SNaN) { + result = Common::ModifyBit(op, true); + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + } + + if (fpcr.DN()) { + result = FPInfo::DefaultNaN(); + } + + return result; +} + +template u16 FPProcessNaN(FPType type, u16 op, FPCR fpcr, FPSR& fpsr); +template u32 FPProcessNaN(FPType type, u32 op, FPCR fpcr, FPSR& fpsr); +template u64 FPProcessNaN(FPType type, u64 op, FPCR fpcr, FPSR& fpsr); + +template +std::optional FPProcessNaNs(FPType type1, FPType type2, FPT op1, FPT op2, FPCR fpcr, FPSR& fpsr) { + if (type1 == FPType::SNaN) { + return FPProcessNaN(type1, op1, fpcr, fpsr); + } + if (type2 == FPType::SNaN) { + return FPProcessNaN(type2, op2, fpcr, fpsr); + } + if (type1 == FPType::QNaN) { + return FPProcessNaN(type1, op1, fpcr, fpsr); + } + if (type2 == FPType::QNaN) { + return FPProcessNaN(type2, op2, fpcr, fpsr); + } + return std::nullopt; +} + +template std::optional FPProcessNaNs(FPType type1, FPType type2, u16 op1, u16 op2, FPCR fpcr, FPSR& fpsr); +template std::optional FPProcessNaNs(FPType type1, FPType type2, u32 op1, u32 op2, FPCR fpcr, FPSR& fpsr); +template std::optional FPProcessNaNs(FPType type1, FPType type2, u64 op1, u64 op2, FPCR fpcr, FPSR& fpsr); + +template +std::optional FPProcessNaNs3(FPType type1, FPType type2, FPType type3, FPT op1, FPT op2, FPT op3, FPCR fpcr, FPSR& fpsr) { + if (type1 == FPType::SNaN) { + return FPProcessNaN(type1, op1, fpcr, fpsr); + } + if (type2 == FPType::SNaN) { + return FPProcessNaN(type2, op2, fpcr, fpsr); + } + if (type3 == FPType::SNaN) { + return FPProcessNaN(type3, op3, fpcr, fpsr); + } + if (type1 == FPType::QNaN) { + return FPProcessNaN(type1, op1, fpcr, fpsr); + } + if (type2 == FPType::QNaN) { + return FPProcessNaN(type2, op2, fpcr, fpsr); + } + if (type3 == FPType::QNaN) { + return FPProcessNaN(type3, op3, fpcr, fpsr); + } + return std::nullopt; +} + +template std::optional FPProcessNaNs3(FPType type1, FPType type2, FPType type3, u16 op1, u16 op2, u16 op3, FPCR fpcr, FPSR& fpsr); +template std::optional FPProcessNaNs3(FPType type1, FPType type2, FPType type3, u32 op1, u32 op2, u32 op3, FPCR fpcr, FPSR& fpsr); +template std::optional FPProcessNaNs3(FPType type1, FPType type2, FPType type3, u64 op1, u64 op2, u64 op3, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/process_nan.h b/externals/dynarmic/src/dynarmic/common/fp/process_nan.h new file mode 100755 index 000000000..331b7943f --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/process_nan.h @@ -0,0 +1,25 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +namespace Dynarmic::FP { + +class FPCR; +class FPSR; +enum class FPType; + +template +FPT FPProcessNaN(FPType type, FPT op, FPCR fpcr, FPSR& fpsr); + +template +std::optional FPProcessNaNs(FPType type1, FPType type2, FPT op1, FPT op2, FPCR fpcr, FPSR& fpsr); + +template +std::optional FPProcessNaNs3(FPType type1, FPType type2, FPType type3, FPT op1, FPT op2, FPT op3, FPCR fpcr, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/rounding_mode.h b/externals/dynarmic/src/dynarmic/common/fp/rounding_mode.h new file mode 100755 index 000000000..fcf36f610 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/rounding_mode.h @@ -0,0 +1,27 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::FP { + +/// Ordering of first four values is important as they correspond to bits in FPCR. +enum class RoundingMode { + /// Round to nearest floating point. If there is a tie, round to nearest even digit in required position. + ToNearest_TieEven, + /// Round up towards positive infinity. + TowardsPlusInfinity, + /// Round downwards towards negative infinity. + TowardsMinusInfinity, + /// Truncate towards zero. + TowardsZero, + /// Round to nearest floating point. If there is a tie, round away from zero. + ToNearest_TieAwayFromZero, + /// Von Neumann rounding (as modified by Brent). Also known as sticky rounding. + /// Set the least significant bit to 1 if the result is not exact. + ToOdd, +}; + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/unpacked.cpp b/externals/dynarmic/src/dynarmic/common/fp/unpacked.cpp new file mode 100755 index 000000000..3a0c6b322 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/unpacked.cpp @@ -0,0 +1,192 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/unpacked.h" + +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/info.h" +#include "dynarmic/common/fp/mantissa_util.h" +#include "dynarmic/common/fp/process_exception.h" +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/common/safe_ops.h" + +namespace Dynarmic::FP { + +template +std::tuple FPUnpackBase(FPT op, FPCR fpcr, [[maybe_unused]] FPSR& fpsr) { + constexpr size_t sign_bit = FPInfo::exponent_width + FPInfo::explicit_mantissa_width; + constexpr size_t exponent_high_bit = FPInfo::exponent_width + FPInfo::explicit_mantissa_width - 1; + constexpr size_t exponent_low_bit = FPInfo::explicit_mantissa_width; + constexpr size_t mantissa_high_bit = FPInfo::explicit_mantissa_width - 1; + constexpr size_t mantissa_low_bit = 0; + constexpr int denormal_exponent = FPInfo::exponent_min - int(FPInfo::explicit_mantissa_width); + + constexpr bool is_half_precision = std::is_same_v; + const bool sign = Common::Bit(op); + const FPT exp_raw = Common::Bits(op); + const FPT frac_raw = Common::Bits(op); + + if (exp_raw == 0) { + if constexpr (is_half_precision) { + if (frac_raw == 0 || fpcr.FZ16()) { + return {FPType::Zero, sign, {sign, 0, 0}}; + } + return {FPType::Nonzero, sign, ToNormalized(sign, denormal_exponent, frac_raw)}; + } else { + if (frac_raw == 0 || fpcr.FZ()) { + if (frac_raw != 0) { + FPProcessException(FPExc::InputDenorm, fpcr, fpsr); + } + return {FPType::Zero, sign, {sign, 0, 0}}; + } + + return {FPType::Nonzero, sign, ToNormalized(sign, denormal_exponent, frac_raw)}; + } + } + + const bool exp_all_ones = exp_raw == Common::Ones(FPInfo::exponent_width); + const bool ahp_disabled = is_half_precision && !fpcr.AHP(); + if ((exp_all_ones && !is_half_precision) || (exp_all_ones && ahp_disabled)) { + if (frac_raw == 0) { + return {FPType::Infinity, sign, ToNormalized(sign, 1000000, 1)}; + } + + const bool is_quiet = Common::Bit(frac_raw); + return {is_quiet ? FPType::QNaN : FPType::SNaN, sign, {sign, 0, 0}}; + } + + const int exp = static_cast(exp_raw) - FPInfo::exponent_bias; + const u64 frac = static_cast(frac_raw | FPInfo::implicit_leading_bit) << (normalized_point_position - FPInfo::explicit_mantissa_width); + return {FPType::Nonzero, sign, {sign, exp, frac}}; +} + +template std::tuple FPUnpackBase(u16 op, FPCR fpcr, FPSR& fpsr); +template std::tuple FPUnpackBase(u32 op, FPCR fpcr, FPSR& fpsr); +template std::tuple FPUnpackBase(u64 op, FPCR fpcr, FPSR& fpsr); + +template +std::tuple Normalize(FPUnpacked op, int extra_right_shift = 0) { + const int highest_set_bit = Common::HighestSetBit(op.mantissa); + const int shift_amount = highest_set_bit - static_cast(F) + extra_right_shift; + const u64 mantissa = Safe::LogicalShiftRight(op.mantissa, shift_amount); + const ResidualError error = ResidualErrorOnRightShift(op.mantissa, shift_amount); + const int exponent = op.exponent + highest_set_bit - normalized_point_position; + return std::make_tuple(op.sign, exponent, mantissa, error); +} + +template +FPT FPRoundBase(FPUnpacked op, FPCR fpcr, RoundingMode rounding, FPSR& fpsr) { + ASSERT(op.mantissa != 0); + ASSERT(rounding != RoundingMode::ToNearest_TieAwayFromZero); + + constexpr int minimum_exp = FPInfo::exponent_min; + constexpr size_t E = FPInfo::exponent_width; + constexpr size_t F = FPInfo::explicit_mantissa_width; + constexpr bool isFP16 = FPInfo::total_width == 16; + + auto [sign, exponent, mantissa, error] = Normalize(op); + + if (((!isFP16 && fpcr.FZ()) || (isFP16 && fpcr.FZ16())) && exponent < minimum_exp) { + fpsr.UFC(true); + return FPInfo::Zero(sign); + } + + int biased_exp = std::max(exponent - minimum_exp + 1, 0); + if (biased_exp == 0) { + std::tie(sign, exponent, mantissa, error) = Normalize(op, minimum_exp - exponent); + } + + if (biased_exp == 0 && (error != ResidualError::Zero || fpcr.UFE())) { + FPProcessException(FPExc::Underflow, fpcr, fpsr); + } + + bool round_up = false, overflow_to_inf = false; + switch (rounding) { + case RoundingMode::ToNearest_TieEven: { + round_up = (error > ResidualError::Half) || (error == ResidualError::Half && Common::Bit<0>(mantissa)); + overflow_to_inf = true; + break; + } + case RoundingMode::TowardsPlusInfinity: + round_up = error != ResidualError::Zero && !sign; + overflow_to_inf = !sign; + break; + case RoundingMode::TowardsMinusInfinity: + round_up = error != ResidualError::Zero && sign; + overflow_to_inf = sign; + break; + default: + break; + } + + if (round_up) { + if ((mantissa & FPInfo::mantissa_mask) == FPInfo::mantissa_mask) { + // Overflow on rounding up is going to happen + if (mantissa == FPInfo::mantissa_mask) { + // Rounding up from denormal to normal + mantissa++; + biased_exp++; + } else { + // Rounding up to next exponent + mantissa = (mantissa + 1) / 2; + biased_exp++; + } + } else { + mantissa++; + } + } + + if (error != ResidualError::Zero && rounding == RoundingMode::ToOdd) { + mantissa = Common::ModifyBit<0>(mantissa, true); + } + + FPT result = 0; +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4127) // C4127: conditional expression is constant +#endif + if (!isFP16 || !fpcr.AHP()) { +#ifdef _MSC_VER +# pragma warning(pop) +#endif + constexpr int max_biased_exp = (1 << E) - 1; + if (biased_exp >= max_biased_exp) { + result = overflow_to_inf ? FPInfo::Infinity(sign) : FPInfo::MaxNormal(sign); + FPProcessException(FPExc::Overflow, fpcr, fpsr); + FPProcessException(FPExc::Inexact, fpcr, fpsr); + } else { + result = sign ? 1 : 0; + result <<= E; + result += FPT(biased_exp); + result <<= F; + result |= static_cast(mantissa) & FPInfo::mantissa_mask; + if (error != ResidualError::Zero) { + FPProcessException(FPExc::Inexact, fpcr, fpsr); + } + } + } else { + constexpr int max_biased_exp = (1 << E); + if (biased_exp >= max_biased_exp) { + result = sign ? 0xFFFF : 0x7FFF; + FPProcessException(FPExc::InvalidOp, fpcr, fpsr); + } else { + result = sign ? 1 : 0; + result <<= E; + result += FPT(biased_exp); + result <<= F; + result |= static_cast(mantissa) & FPInfo::mantissa_mask; + if (error != ResidualError::Zero) { + FPProcessException(FPExc::Inexact, fpcr, fpsr); + } + } + } + return result; +} + +template u16 FPRoundBase(FPUnpacked op, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); +template u32 FPRoundBase(FPUnpacked op, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); +template u64 FPRoundBase(FPUnpacked op, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/unpacked.h b/externals/dynarmic/src/dynarmic/common/fp/unpacked.h new file mode 100755 index 000000000..e77c87a53 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/unpacked.h @@ -0,0 +1,88 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" + +namespace Dynarmic::FP { + +class FPSR; +enum class RoundingMode; + +enum class FPType { + Nonzero, + Zero, + Infinity, + QNaN, + SNaN, +}; + +constexpr size_t normalized_point_position = 62; + +/// value = (sign ? -1 : +1) * mantissa/(2^62) * 2^exponent +/// 63rd bit of mantissa is always set (unless value is zero) +struct FPUnpacked { + bool sign; + int exponent; + u64 mantissa; +}; + +inline bool operator==(const FPUnpacked& a, const FPUnpacked& b) { + return std::tie(a.sign, a.exponent, a.mantissa) == std::tie(b.sign, b.exponent, b.mantissa); +} + +/// return value = (sign ? -1 : +1) * value * 2^exponent +constexpr FPUnpacked ToNormalized(bool sign, int exponent, u64 value) { + if (value == 0) { + return {sign, 0, 0}; + } + + const int highest_bit = Common::HighestSetBit(value); + const int offset = static_cast(normalized_point_position) - highest_bit; + value <<= offset; + exponent -= offset - normalized_point_position; + return {sign, exponent, value}; +} + +template +std::tuple FPUnpackBase(FPT op, FPCR fpcr, FPSR& fpsr); + +template +std::tuple FPUnpack(FPT op, FPCR fpcr, FPSR& fpsr) { + fpcr.AHP(false); + return FPUnpackBase(op, fpcr, fpsr); +} + +template +std::tuple FPUnpackCV(FPT op, FPCR fpcr, FPSR& fpsr) { + fpcr.FZ16(false); + return FPUnpackBase(op, fpcr, fpsr); +} + +template +FPT FPRoundBase(FPUnpacked op, FPCR fpcr, RoundingMode rounding, FPSR& fpsr); + +template +FPT FPRound(FPUnpacked op, FPCR fpcr, RoundingMode rounding, FPSR& fpsr) { + fpcr.AHP(false); + return FPRoundBase(op, fpcr, rounding, fpsr); +} + +template +FPT FPRoundCV(FPUnpacked op, FPCR fpcr, RoundingMode rounding, FPSR& fpsr) { + fpcr.FZ16(false); + return FPRoundBase(op, fpcr, rounding, fpsr); +} + +template +FPT FPRound(FPUnpacked op, FPCR fpcr, FPSR& fpsr) { + return FPRound(op, fpcr, fpcr.RMode(), fpsr); +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/fp/util.h b/externals/dynarmic/src/dynarmic/common/fp/util.h new file mode 100755 index 000000000..fda34e3ee --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/fp/util.h @@ -0,0 +1,99 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/info.h" + +namespace Dynarmic::FP { + +/// Is floating point value a zero? +template +inline bool IsZero(FPT value, FPCR fpcr) { + if (fpcr.FZ()) { + return (value & FPInfo::exponent_mask) == 0; + } + return (value & ~FPInfo::sign_mask) == 0; +} + +/// Is floating point value an infinity? +template +constexpr bool IsInf(FPT value) { + return (value & ~FPInfo::sign_mask) == FPInfo::Infinity(false); +} + +/// Is floating point value a QNaN? +template +constexpr bool IsQNaN(FPT value) { + constexpr FPT qnan_bits = FPInfo::exponent_mask | FPInfo::mantissa_msb; + return (value & qnan_bits) == qnan_bits; +} + +/// Is floating point value a SNaN? +template +constexpr bool IsSNaN(FPT value) { + constexpr FPT qnan_bits = FPInfo::exponent_mask | FPInfo::mantissa_msb; + constexpr FPT snan_bits = FPInfo::exponent_mask; + return (value & qnan_bits) == snan_bits && (value & FPInfo::mantissa_mask) != 0; +} + +/// Is floating point value a NaN? +template +constexpr bool IsNaN(FPT value) { + return IsQNaN(value) || IsSNaN(value); +} + +/// Given a single argument, return the NaN value which would be returned by an ARM processor. +/// If the argument isn't a NaN, returns std::nullopt. +template +constexpr std::optional ProcessNaNs(FPT a) { + if (IsSNaN(a)) { + return a | FPInfo::mantissa_msb; + } else if (IsQNaN(a)) { + return a; + } + return std::nullopt; +} + +/// Given a pair of arguments, return the NaN value which would be returned by an ARM processor. +/// If neither argument is a NaN, returns std::nullopt. +template +constexpr std::optional ProcessNaNs(FPT a, FPT b) { + if (IsSNaN(a)) { + return a | FPInfo::mantissa_msb; + } else if (IsSNaN(b)) { + return b | FPInfo::mantissa_msb; + } else if (IsQNaN(a)) { + return a; + } else if (IsQNaN(b)) { + return b; + } + return std::nullopt; +} + +/// Given three arguments, return the NaN value which would be returned by an ARM processor. +/// If none of the arguments is a NaN, returns std::nullopt. +template +constexpr std::optional ProcessNaNs(FPT a, FPT b, FPT c) { + if (IsSNaN(a)) { + return a | FPInfo::mantissa_msb; + } else if (IsSNaN(b)) { + return b | FPInfo::mantissa_msb; + } else if (IsSNaN(c)) { + return c | FPInfo::mantissa_msb; + } else if (IsQNaN(a)) { + return a; + } else if (IsQNaN(b)) { + return b; + } else if (IsQNaN(c)) { + return c; + } + return std::nullopt; +} + +} // namespace Dynarmic::FP diff --git a/externals/dynarmic/src/dynarmic/common/intrusive_list.h b/externals/dynarmic/src/dynarmic/common/intrusive_list.h new file mode 100755 index 000000000..7ee8e4391 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/intrusive_list.h @@ -0,0 +1,379 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/common/assert.h" + +namespace Dynarmic::Common { + +template +class IntrusiveList; +template +class IntrusiveListIterator; + +template +class IntrusiveListNode { +public: + bool IsSentinel() const { + return is_sentinel; + } + +protected: + IntrusiveListNode* next = nullptr; + IntrusiveListNode* prev = nullptr; + bool is_sentinel = false; + + friend class IntrusiveList; + friend class IntrusiveListIterator; + friend class IntrusiveListIterator; +}; + +template +class IntrusiveListSentinel final : public IntrusiveListNode { + using IntrusiveListNode::next; + using IntrusiveListNode::prev; + using IntrusiveListNode::is_sentinel; + +public: + IntrusiveListSentinel() { + next = this; + prev = this; + is_sentinel = true; + } +}; + +template +class IntrusiveListIterator { +public: + using iterator_category = std::bidirectional_iterator_tag; + using difference_type = std::ptrdiff_t; + using value_type = T; + using pointer = value_type*; + using const_pointer = const value_type*; + using reference = value_type&; + using const_reference = const value_type&; + + // If value_type is const, we want "const IntrusiveListNode", not "const IntrusiveListNode" + using node_type = std::conditional_t::value, + const IntrusiveListNode>, + IntrusiveListNode>; + using node_pointer = node_type*; + using node_reference = node_type&; + + IntrusiveListIterator() = default; + IntrusiveListIterator(const IntrusiveListIterator& other) = default; + IntrusiveListIterator& operator=(const IntrusiveListIterator& other) = default; + + explicit IntrusiveListIterator(node_pointer list_node) + : node(list_node) { + } + explicit IntrusiveListIterator(pointer data) + : node(data) { + } + explicit IntrusiveListIterator(reference data) + : node(&data) { + } + + IntrusiveListIterator& operator++() { + node = node->next; + return *this; + } + IntrusiveListIterator& operator--() { + node = node->prev; + return *this; + } + IntrusiveListIterator operator++(int) { + IntrusiveListIterator it(*this); + ++*this; + return it; + } + IntrusiveListIterator operator--(int) { + IntrusiveListIterator it(*this); + --*this; + return it; + } + + bool operator==(const IntrusiveListIterator& other) const { + return node == other.node; + } + bool operator!=(const IntrusiveListIterator& other) const { + return !operator==(other); + } + + reference operator*() const { + DEBUG_ASSERT(!node->IsSentinel()); + return static_cast(*node); + } + pointer operator->() const { + return std::addressof(operator*()); + } + + node_pointer AsNodePointer() const { + return node; + } + +private: + friend class IntrusiveList; + node_pointer node = nullptr; +}; + +template +class IntrusiveList { +public: + using difference_type = std::ptrdiff_t; + using size_type = std::size_t; + using value_type = T; + using pointer = value_type*; + using const_pointer = const value_type*; + using reference = value_type&; + using const_reference = const value_type&; + using iterator = IntrusiveListIterator; + using const_iterator = IntrusiveListIterator; + using reverse_iterator = std::reverse_iterator; + using const_reverse_iterator = std::reverse_iterator; + + /** + * Inserts a node at the given location indicated by an iterator. + * + * @param location The location to insert the node. + * @param new_node The node to add. + */ + iterator insert(iterator location, pointer new_node) { + return insert_before(location, new_node); + } + + /** + * Inserts a node at the given location, moving the previous + * node occupant ahead of the one inserted. + * + * @param location The location to insert the new node. + * @param new_node The node to insert into the list. + */ + iterator insert_before(iterator location, pointer new_node) { + auto existing_node = location.AsNodePointer(); + + new_node->next = existing_node; + new_node->prev = existing_node->prev; + existing_node->prev->next = new_node; + existing_node->prev = new_node; + + return iterator(new_node); + } + + /** + * Inserts a new node into the list ahead of the position indicated. + * + * @param position Location to insert the node in front of. + * @param new_node The node to be inserted into the list. + */ + iterator insert_after(iterator position, pointer new_node) { + if (empty()) + return insert(begin(), new_node); + + return insert(++position, new_node); + } + + /** + * Add an entry to the start of the list. + * @param node Node to add to the list. + */ + void push_front(pointer node) { + insert(begin(), node); + } + + /** + * Add an entry to the end of the list + * @param node Node to add to the list. + */ + void push_back(pointer node) { + insert(end(), node); + } + + /** + * Erases the node at the front of the list. + * @note Must not be called on an empty list. + */ + void pop_front() { + DEBUG_ASSERT(!empty()); + erase(begin()); + } + + /** + * Erases the node at the back of the list. + * @note Must not be called on an empty list. + */ + void pop_back() { + DEBUG_ASSERT(!empty()); + erase(--end()); + } + + /** + * Removes a node from this list + * @param it An iterator that points to the node to remove from list. + */ + pointer remove(iterator& it) { + DEBUG_ASSERT(it != end()); + + pointer node = &*it++; + + node->prev->next = node->next; + node->next->prev = node->prev; +#if !defined(NDEBUG) + node->next = nullptr; + node->prev = nullptr; +#endif + + return node; + } + + /** + * Removes a node from this list + * @param it A constant iterator that points to the node to remove from list. + */ + pointer remove(const iterator& it) { + iterator copy = it; + return remove(copy); + } + + /** + * Removes a node from this list. + * @param node A pointer to the node to remove. + */ + pointer remove(pointer node) { + return remove(iterator(node)); + } + + /** + * Removes a node from this list. + * @param node A reference to the node to remove. + */ + pointer remove(reference node) { + return remove(iterator(node)); + } + + /** + * Is this list empty? + * @returns true if there are no nodes in this list. + */ + bool empty() const { + return root->next == root.get(); + } + + /** + * Gets the total number of elements within this list. + * @return the number of elements in this list. + */ + size_type size() const { + return static_cast(std::distance(begin(), end())); + } + + /** + * Retrieves a reference to the node at the front of the list. + * @note Must not be called on an empty list. + */ + reference front() { + DEBUG_ASSERT(!empty()); + return *begin(); + } + + /** + * Retrieves a constant reference to the node at the front of the list. + * @note Must not be called on an empty list. + */ + const_reference front() const { + DEBUG_ASSERT(!empty()); + return *begin(); + } + + /** + * Retrieves a reference to the node at the back of the list. + * @note Must not be called on an empty list. + */ + reference back() { + DEBUG_ASSERT(!empty()); + return *--end(); + } + + /** + * Retrieves a constant reference to the node at the back of the list. + * @note Must not be called on an empty list. + */ + const_reference back() const { + DEBUG_ASSERT(!empty()); + return *--end(); + } + + // Iterator interface + iterator begin() { return iterator(root->next); } + const_iterator begin() const { return const_iterator(root->next); } + const_iterator cbegin() const { return begin(); } + + iterator end() { return iterator(root.get()); } + const_iterator end() const { return const_iterator(root.get()); } + const_iterator cend() const { return end(); } + + reverse_iterator rbegin() { return reverse_iterator(end()); } + const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } + const_reverse_iterator crbegin() const { return rbegin(); } + + reverse_iterator rend() { return reverse_iterator(begin()); } + const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } + const_reverse_iterator crend() const { return rend(); } + + /** + * Erases a node from the list, indicated by an iterator. + * @param it The iterator that points to the node to erase. + */ + iterator erase(iterator it) { + remove(it); + return it; + } + + /** + * Erases a node from this list. + * @param node A pointer to the node to erase from this list. + */ + iterator erase(pointer node) { + return erase(iterator(node)); + } + + /** + * Erases a node from this list. + * @param node A reference to the node to erase from this list. + */ + iterator erase(reference node) { + return erase(iterator(node)); + } + + /** + * Exchanges contents of this list with another list instance. + * @param other The other list to swap with. + */ + void swap(IntrusiveList& other) noexcept { + root.swap(other.root); + } + +private: + std::shared_ptr> root = std::make_shared>(); +}; + +/** + * Exchanges contents of an intrusive list with another intrusive list. + * @tparam T The type of data being kept track of by the lists. + * @param lhs The first list. + * @param rhs The second list. + */ +template +void swap(IntrusiveList& lhs, IntrusiveList& rhs) noexcept { + lhs.swap(rhs); +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/iterator_util.h b/externals/dynarmic/src/dynarmic/common/iterator_util.h new file mode 100755 index 000000000..982f53134 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/iterator_util.h @@ -0,0 +1,35 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +namespace Dynarmic::Common { +namespace detail { + +template +struct ReverseAdapter { + T& iterable; + + constexpr auto begin() { + using namespace std; + return rbegin(iterable); + } + + constexpr auto end() { + using namespace std; + return rend(iterable); + } +}; + +} // namespace detail + +template +constexpr detail::ReverseAdapter Reverse(T&& iterable) { + return detail::ReverseAdapter{iterable}; +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/llvm_disassemble.cpp b/externals/dynarmic/src/dynarmic/common/llvm_disassemble.cpp new file mode 100755 index 000000000..ef02d6019 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/llvm_disassemble.cpp @@ -0,0 +1,123 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include + +#ifdef DYNARMIC_USE_LLVM +# include +# include +#endif + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/llvm_disassemble.h" + +namespace Dynarmic::Common { + +std::string DisassembleX64(const void* begin, const void* end) { + std::string result; + +#ifdef DYNARMIC_USE_LLVM + LLVMInitializeX86TargetInfo(); + LLVMInitializeX86TargetMC(); + LLVMInitializeX86Disassembler(); + LLVMDisasmContextRef llvm_ctx = LLVMCreateDisasm("x86_64", nullptr, 0, nullptr, nullptr); + LLVMSetDisasmOptions(llvm_ctx, LLVMDisassembler_Option_AsmPrinterVariant); + + const u8* pos = reinterpret_cast(begin); + size_t remaining = reinterpret_cast(end) - reinterpret_cast(pos); + while (pos < end) { + char buffer[80]; + size_t inst_size = LLVMDisasmInstruction(llvm_ctx, const_cast(pos), remaining, reinterpret_cast(pos), buffer, sizeof(buffer)); + ASSERT(inst_size); + for (const u8* i = pos; i < pos + inst_size; i++) + result += fmt::format("{:02x} ", *i); + for (size_t i = inst_size; i < 10; i++) + result += " "; + result += buffer; + result += '\n'; + + pos += inst_size; + remaining -= inst_size; + } + + LLVMDisasmDispose(llvm_ctx); +#else + result += fmt::format("(recompile with DYNARMIC_USE_LLVM=ON to disassemble the generated x86_64 code)\n"); + result += fmt::format("start: {:016x}, end: {:016x}\n", begin, end); +#endif + + return result; +} + +std::string DisassembleAArch32([[maybe_unused]] bool is_thumb, [[maybe_unused]] u32 pc, [[maybe_unused]] const u8* instructions, [[maybe_unused]] size_t length) { + std::string result; + +#ifdef DYNARMIC_USE_LLVM + LLVMInitializeARMTargetInfo(); + LLVMInitializeARMTargetMC(); + LLVMInitializeARMDisassembler(); + LLVMDisasmContextRef llvm_ctx = LLVMCreateDisasm(is_thumb ? "thumbv8-arm" : "armv8-arm", nullptr, 0, nullptr, nullptr); + LLVMSetDisasmOptions(llvm_ctx, LLVMDisassembler_Option_AsmPrinterVariant); + + char buffer[1024]; + while (length) { + size_t inst_size = LLVMDisasmInstruction(llvm_ctx, const_cast(instructions), length, pc, buffer, sizeof(buffer)); + + result += fmt::format("{:08x} ", pc); + for (size_t i = 0; i < 4; i++) { + if (i < inst_size) { + result += fmt::format("{:02x}", instructions[inst_size - i - 1]); + } else { + result += " "; + } + } + result += inst_size > 0 ? buffer : ""; + result += '\n'; + + if (inst_size == 0) + inst_size = is_thumb ? 2 : 4; + if (length <= inst_size) + break; + + pc += inst_size; + instructions += inst_size; + length -= inst_size; + } + + LLVMDisasmDispose(llvm_ctx); +#else + result += fmt::format("(disassembly disabled)\n"); +#endif + + return result; +} + +std::string DisassembleAArch64([[maybe_unused]] u32 instruction, [[maybe_unused]] u64 pc) { + std::string result; + +#ifdef DYNARMIC_USE_LLVM + LLVMInitializeAArch64TargetInfo(); + LLVMInitializeAArch64TargetMC(); + LLVMInitializeAArch64Disassembler(); + LLVMDisasmContextRef llvm_ctx = LLVMCreateDisasm("aarch64", nullptr, 0, nullptr, nullptr); + LLVMSetDisasmOptions(llvm_ctx, LLVMDisassembler_Option_AsmPrinterVariant); + + char buffer[80]; + size_t inst_size = LLVMDisasmInstruction(llvm_ctx, (u8*)&instruction, sizeof(instruction), pc, buffer, sizeof(buffer)); + result = inst_size > 0 ? buffer : ""; + result += '\n'; + + LLVMDisasmDispose(llvm_ctx); +#else + result += fmt::format("(disassembly disabled)\n"); +#endif + + return result; +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/llvm_disassemble.h b/externals/dynarmic/src/dynarmic/common/llvm_disassemble.h new file mode 100755 index 000000000..16dc15f8c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/llvm_disassemble.h @@ -0,0 +1,18 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common { + +std::string DisassembleX64(const void* pos, const void* end); +std::string DisassembleAArch32(bool is_thumb, u32 pc, const u8* instructions, size_t length); +std::string DisassembleAArch64(u32 instruction, u64 pc = 0); + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/lut_from_list.h b/externals/dynarmic/src/dynarmic/common/lut_from_list.h new file mode 100755 index 000000000..5145a6b3a --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/lut_from_list.h @@ -0,0 +1,37 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include +#include +#include + +#ifdef _MSC_VER +# include +#endif + +namespace Dynarmic::Common { + +template +inline auto GenerateLookupTableFromList(Function f, mp::list) { +#ifdef _MSC_VER + using PairT = std::invoke_result_t>>; +#else + using PairT = std::common_type_t...>; +#endif + using MapT = mp::apply; + + static_assert(mp::is_instance_of_template_v); + + const std::initializer_list pair_array{f(Values{})...}; + return MapT(pair_array.begin(), pair_array.end()); +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/macro_util.h b/externals/dynarmic/src/dynarmic/common/macro_util.h new file mode 100755 index 000000000..2ccb33bd8 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/macro_util.h @@ -0,0 +1,15 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#define CONCATENATE_TOKENS(x, y) CONCATENATE_TOKENS_IMPL(x, y) +#define CONCATENATE_TOKENS_IMPL(x, y) x##y + +#ifdef __COUNTER__ +# define ANONYMOUS_VARIABLE(str) CONCATENATE_TOKENS(str, __COUNTER__) +#else +# define ANONYMOUS_VARIABLE(str) CONCATENATE_TOKENS(str, __LINE__) +#endif diff --git a/externals/dynarmic/src/dynarmic/common/math_util.cpp b/externals/dynarmic/src/dynarmic/common/math_util.cpp new file mode 100755 index 000000000..32211fd97 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/math_util.cpp @@ -0,0 +1,68 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/math_util.h" + +#include + +namespace Dynarmic::Common { + +u8 RecipEstimate(u64 a) { + using LUT = std::array; + static constexpr u64 lut_offset = 256; + + static const LUT lut = [] { + LUT result{}; + for (u64 i = 0; i < result.size(); i++) { + u64 a = i + lut_offset; + + a = a * 2 + 1; + u64 b = (1u << 19) / a; + result[i] = static_cast((b + 1) / 2); + } + return result; + }(); + + return lut[a - lut_offset]; +} + +/// Input is a u0.9 fixed point number. Only values in [0.25, 1.0) are valid. +/// Output is a u0.8 fixed point number, with an implied 1 prefixed. +/// i.e.: The output is a value in [1.0, 2.0). +u8 RecipSqrtEstimate(u64 a) { + using LUT = std::array; + + static const LUT lut = [] { + LUT result{}; + for (u64 i = 128; i < result.size(); i++) { + u64 a = i; + + // Convert to u.10 (with 8 significant bits), force to odd + if (a < 256) { + // [0.25, 0.5) + a = a * 2 + 1; + } else { + // [0.5, 1.0) + a = (a | 1) * 2; + } + + // Calculate largest b which for which b < 1.0 / sqrt(a). + // Start from b = 1.0 (in u.9) since b cannot be smaller. + u64 b = 512; + // u.10 * u.9 * u.9 -> u.28 + while (a * (b + 1) * (b + 1) < (1u << 28)) { + b++; + } + + // Round to nearest u0.8 (with implied set integer bit). + result[i] = static_cast((b + 1) / 2); + } + return result; + }(); + + return lut[a & 0x1FF]; +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/math_util.h b/externals/dynarmic/src/dynarmic/common/math_util.h new file mode 100755 index 000000000..9006fb2d5 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/math_util.h @@ -0,0 +1,47 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common { + +/** + * This function is a workaround for a bug in MSVC 19.12 where fold expressions + * do not work when the /permissive- flag is enabled. + */ +template +constexpr T Sum(T first, Ts&&... rest) { + if constexpr (sizeof...(rest) == 0) { + return first; + } else { + return first + Sum(std::forward(rest)...); + } +} + +/** + * Input is a u0.9 fixed point number. Only values in [0.5, 1.0) are valid. + * Output is a u0.8 fixed point number, with an implied 1 prefixed. + * i.e.: The output is a value in [1.0, 2.0). + * + * @see RecipEstimate() within the ARMv8 architecture reference manual + * for a general overview of the requirements of the algorithm. + */ +u8 RecipEstimate(u64 a); + +/** + * Input is a u0.9 fixed point number. Only values in [0.25, 1.0) are valid. + * Output is a u0.8 fixed point number, with an implied 1 prefixed. + * i.e.: The output is a value in [1.0, 2.0). + * + * @see RecipSqrtEstimate() within the ARMv8 architecture reference manual + * for a general overview of the requirements of the algorithm. + */ +u8 RecipSqrtEstimate(u64 a); + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/memory_pool.cpp b/externals/dynarmic/src/dynarmic/common/memory_pool.cpp new file mode 100755 index 000000000..9e25fba50 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/memory_pool.cpp @@ -0,0 +1,44 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/memory_pool.h" + +#include + +namespace Dynarmic::Common { + +Pool::Pool(size_t object_size, size_t initial_pool_size) + : object_size(object_size), slab_size(initial_pool_size) { + AllocateNewSlab(); +} + +Pool::~Pool() { + std::free(current_slab); + + for (char* slab : slabs) { + std::free(slab); + } +} + +void* Pool::Alloc() { + if (remaining == 0) { + slabs.emplace_back(current_slab); + AllocateNewSlab(); + } + + void* ret = static_cast(current_ptr); + current_ptr += object_size; + remaining--; + + return ret; +} + +void Pool::AllocateNewSlab() { + current_slab = static_cast(std::malloc(object_size * slab_size)); + current_ptr = current_slab; + remaining = slab_size; +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/memory_pool.h b/externals/dynarmic/src/dynarmic/common/memory_pool.h new file mode 100755 index 000000000..1cbdd9095 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/memory_pool.h @@ -0,0 +1,45 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +namespace Dynarmic::Common { + +class Pool { +public: + /** + * @param object_size Byte-size of objects to construct + * @param initial_pool_size Number of objects to have per slab + */ + Pool(size_t object_size, size_t initial_pool_size); + ~Pool(); + + Pool(const Pool&) = delete; + Pool(Pool&&) = delete; + + Pool& operator=(const Pool&) = delete; + Pool& operator=(Pool&&) = delete; + + /// Returns a pointer to an `object_size`-bytes block of memory. + void* Alloc(); + +private: + // Allocates a completely new memory slab. + // Used when an entirely new slab is needed + // due the current one running out of usable space. + void AllocateNewSlab(); + + size_t object_size; + size_t slab_size; + char* current_slab; + char* current_ptr; + size_t remaining; + std::vector slabs; +}; + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/safe_ops.h b/externals/dynarmic/src/dynarmic/common/safe_ops.h new file mode 100755 index 000000000..50e20fbf9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/safe_ops.h @@ -0,0 +1,114 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/u128.h" + +namespace Dynarmic::Safe { + +template +T LogicalShiftLeft(T value, int shift_amount); +template +T LogicalShiftRight(T value, int shift_amount); +template +T ArithmeticShiftLeft(T value, int shift_amount); +template +T ArithmeticShiftRight(T value, int shift_amount); + +template +T LogicalShiftLeft(T value, int shift_amount) { + static_assert(std::is_integral_v); + + if (shift_amount >= static_cast(Common::BitSize())) { + return 0; + } + + if (shift_amount < 0) { + return LogicalShiftRight(value, -shift_amount); + } + + auto unsigned_value = static_cast>(value); + return static_cast(unsigned_value << shift_amount); +} + +template<> +inline u128 LogicalShiftLeft(u128 value, int shift_amount) { + return value << shift_amount; +} + +template +T LogicalShiftRight(T value, int shift_amount) { + static_assert(std::is_integral_v); + + if (shift_amount >= static_cast(Common::BitSize())) { + return 0; + } + + if (shift_amount < 0) { + return LogicalShiftLeft(value, -shift_amount); + } + + auto unsigned_value = static_cast>(value); + return static_cast(unsigned_value >> shift_amount); +} + +template<> +inline u128 LogicalShiftRight(u128 value, int shift_amount) { + return value >> shift_amount; +} + +template +T LogicalShiftRightDouble(T top, T bottom, int shift_amount) { + return LogicalShiftLeft(top, int(Common::BitSize()) - shift_amount) | LogicalShiftRight(bottom, shift_amount); +} + +template +T ArithmeticShiftLeft(T value, int shift_amount) { + static_assert(std::is_integral_v); + + if (shift_amount >= static_cast(Common::BitSize())) { + return 0; + } + + if (shift_amount < 0) { + return ArithmeticShiftRight(value, -shift_amount); + } + + auto unsigned_value = static_cast>(value); + return static_cast(unsigned_value << shift_amount); +} + +template +T ArithmeticShiftRight(T value, int shift_amount) { + static_assert(std::is_integral_v); + + if (shift_amount >= static_cast(Common::BitSize())) { + return Common::MostSignificantBit(value) ? ~static_cast(0) : 0; + } + + if (shift_amount < 0) { + return ArithmeticShiftLeft(value, -shift_amount); + } + + auto signed_value = static_cast>(value); + return static_cast(signed_value >> shift_amount); +} + +template +T ArithmeticShiftRightDouble(T top, T bottom, int shift_amount) { + return ArithmeticShiftLeft(top, int(Common::BitSize()) - shift_amount) | LogicalShiftRight(bottom, shift_amount); +} + +template +T Negate(T value) { + return static_cast(~static_cast(value) + 1); +} + +} // namespace Dynarmic::Safe diff --git a/externals/dynarmic/src/dynarmic/common/scope_exit.h b/externals/dynarmic/src/dynarmic/common/scope_exit.h new file mode 100755 index 000000000..4801f1352 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/scope_exit.h @@ -0,0 +1,86 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include "dynarmic/common/macro_util.h" + +namespace Dynarmic::detail { + +struct ScopeExitTag {}; +struct ScopeFailTag {}; +struct ScopeSuccessTag {}; + +template +class ScopeExit final { +public: + explicit ScopeExit(Function&& fn) + : function(std::move(fn)) {} + ~ScopeExit() noexcept { + function(); + } + +private: + Function function; +}; + +template +class ScopeFail final { +public: + explicit ScopeFail(Function&& fn) + : function(std::move(fn)), exception_count(std::uncaught_exceptions()) {} + ~ScopeFail() noexcept { + if (std::uncaught_exceptions() > exception_count) { + function(); + } + } + +private: + Function function; + int exception_count; +}; + +template +class ScopeSuccess final { +public: + explicit ScopeSuccess(Function&& fn) + : function(std::move(fn)), exception_count(std::uncaught_exceptions()) {} + ~ScopeSuccess() { + if (std::uncaught_exceptions() <= exception_count) { + function(); + } + } + +private: + Function function; + int exception_count; +}; + +// We use ->* here as it has the highest precedence of the operators we can use. + +template +auto operator->*(ScopeExitTag, Function&& function) { + return ScopeExit>{std::forward(function)}; +} + +template +auto operator->*(ScopeFailTag, Function&& function) { + return ScopeFail>{std::forward(function)}; +} + +template +auto operator->*(ScopeSuccessTag, Function&& function) { + return ScopeSuccess>{std::forward(function)}; +} + +} // namespace Dynarmic::detail + +#define SCOPE_EXIT auto ANONYMOUS_VARIABLE(_SCOPE_EXIT_) = ::Dynarmic::detail::ScopeExitTag{}->*[&]() noexcept +#define SCOPE_FAIL auto ANONYMOUS_VARIABLE(_SCOPE_FAIL_) = ::Dynarmic::detail::ScopeFailTag{}->*[&]() noexcept +#define SCOPE_SUCCESS auto ANONYMOUS_VARIABLE(_SCOPE_FAIL_) = ::Dynarmic::detail::ScopeSuccessTag{}->*[&]() diff --git a/externals/dynarmic/src/dynarmic/common/string_util.h b/externals/dynarmic/src/dynarmic/common/string_util.h new file mode 100755 index 000000000..900b3aadd --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/string_util.h @@ -0,0 +1,15 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::Common { + +template +constexpr char SignToChar(T value) { + return value >= 0 ? '+' : '-'; +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/u128.cpp b/externals/dynarmic/src/dynarmic/common/u128.cpp new file mode 100755 index 000000000..81aa0cf91 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/u128.cpp @@ -0,0 +1,142 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/u128.h" + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic { + +u128 Multiply64To128(u64 a, u64 b) { + const u32 a0 = static_cast(a); + const u32 b0 = static_cast(b); + const u32 a1 = static_cast(a >> 32); + const u32 b1 = static_cast(b >> 32); + + // result = (c2 << 64) + (c1 << 32) + c0 + // c2 = a1 * b1 + // c1 = a1 * b0 + a0 * b1 + // c0 = a0 * b0 + // noting that these operations may overflow + + const u64 c0 = static_cast(a0) * b0; + const u64 c1_0 = static_cast(a1) * b0; + const u64 c1_1 = static_cast(a0) * b1; + const u64 c2 = static_cast(a1) * b1; + + const u64 c1 = c1_0 + c1_1; + const u64 c1_overflow = c1 < c1_0; + + const u64 lower = c0 + (c1 << 32); + const u64 lower_overflow = lower < c0; + + const u64 upper = lower_overflow + (c1 >> 32) + (c1_overflow << 32) + c2; + + u128 result; + result.lower = lower; + result.upper = upper; + return result; +} + +u128 operator<<(u128 operand, int amount) { + if (amount < 0) { + return operand >> -amount; + } + + if (amount == 0) { + return operand; + } + + if (amount < 64) { + u128 result; + result.lower = (operand.lower << amount); + result.upper = (operand.upper << amount) | (operand.lower >> (64 - amount)); + return result; + } + + if (amount < 128) { + u128 result; + result.upper = operand.lower << (amount - 64); + return result; + } + + return {}; +} + +u128 operator>>(u128 operand, int amount) { + if (amount < 0) { + return operand << -amount; + } + + if (amount == 0) { + return operand; + } + + if (amount < 64) { + u128 result; + result.lower = (operand.lower >> amount) | (operand.upper << (64 - amount)); + result.upper = (operand.upper >> amount); + return result; + } + + if (amount < 128) { + u128 result; + result.lower = operand.upper >> (amount - 64); + return result; + } + + return {}; +} + +u128 StickyLogicalShiftRight(u128 operand, int amount) { + if (amount < 0) { + return operand << -amount; + } + + if (amount == 0) { + return operand; + } + + if (amount < 64) { + u128 result; + result.lower = (operand.lower >> amount) | (operand.upper << (64 - amount)); + result.upper = (operand.upper >> amount); + // Sticky bit + if ((operand.lower << (64 - amount)) != 0) { + result.lower |= 1; + } + return result; + } + + if (amount == 64) { + u128 result; + result.lower = operand.upper; + // Sticky bit + if (operand.lower != 0) { + result.lower |= 1; + } + return result; + } + + if (amount < 128) { + u128 result; + result.lower = operand.upper >> (amount - 64); + // Sticky bit + if (operand.lower != 0) { + result.lower |= 1; + } + if ((operand.upper << (128 - amount)) != 0) { + result.lower |= 1; + } + return result; + } + + if (operand.lower != 0 || operand.upper != 0) { + return u128(1); + } + return {}; +} + +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/common/u128.h b/externals/dynarmic/src/dynarmic/common/u128.h new file mode 100755 index 000000000..415173b08 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/u128.h @@ -0,0 +1,98 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic { + +struct u128 { + u128() = default; + u128(const u128&) = default; + u128(u128&&) = default; + u128& operator=(const u128&) = default; + u128& operator=(u128&&) = default; + + u128(u64 lower_, u64 upper_) + : lower(lower_), upper(upper_) {} + + template + /* implicit */ u128(T value) + : lower(value), upper(0) { + static_assert(std::is_integral_v); + static_assert(Common::BitSize() <= Common::BitSize()); + } + + u64 lower = 0; + u64 upper = 0; + + template + bool Bit() const { + static_assert(bit_position < 128); + if constexpr (bit_position < 64) { + return Common::Bit(lower); + } else { + return Common::Bit(upper); + } + } +}; + +static_assert(Common::BitSize() == 128); +static_assert(std::is_standard_layout_v); +static_assert(std::is_trivially_copyable_v); + +u128 Multiply64To128(u64 a, u64 b); + +inline u128 operator+(u128 a, u128 b) { + u128 result; + result.lower = a.lower + b.lower; + result.upper = a.upper + b.upper + (a.lower > result.lower); + return result; +} + +inline u128 operator-(u128 a, u128 b) { + u128 result; + result.lower = a.lower - b.lower; + result.upper = a.upper - b.upper - (a.lower < result.lower); + return result; +} + +inline bool operator<(u128 a, u128 b) { + return std::tie(a.upper, a.lower) < std::tie(b.upper, b.lower); +} + +inline bool operator>(u128 a, u128 b) { + return operator<(b, a); +} + +inline bool operator<=(u128 a, u128 b) { + return !operator>(a, b); +} + +inline bool operator>=(u128 a, u128 b) { + return !operator<(a, b); +} + +inline bool operator==(u128 a, u128 b) { + return std::tie(a.upper, a.lower) == std::tie(b.upper, b.lower); +} + +inline bool operator!=(u128 a, u128 b) { + return !operator==(a, b); +} + +u128 operator<<(u128 operand, int amount); +u128 operator>>(u128 operand, int amount); + +/// LSB is a "sticky-bit". +/// If a 1 is shifted off, the LSB would be set. +u128 StickyLogicalShiftRight(u128 operand, int amount); + +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/common/unlikely.h b/externals/dynarmic/src/dynarmic/common/unlikely.h new file mode 100755 index 000000000..746418daf --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/unlikely.h @@ -0,0 +1,12 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#if defined(__clang__) || defined(__GNUC__) +# define UNLIKELY(x) __builtin_expect(!!(x), 0) +#else +# define UNLIKELY(x) !!(x) +#endif diff --git a/externals/dynarmic/src/dynarmic/common/variant_util.h b/externals/dynarmic/src/dynarmic/common/variant_util.h new file mode 100755 index 000000000..4dd7f6716 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/variant_util.h @@ -0,0 +1,29 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +namespace Dynarmic::Common { +namespace detail { + +template +struct VariantVisitor : boost::static_visitor + , Lambda { + VariantVisitor(Lambda&& lambda) + : Lambda(std::move(lambda)) {} + + using Lambda::operator(); +}; + +} // namespace detail + +template +inline ReturnT VisitVariant(Variant&& variant, Lambda&& lambda) { + return boost::apply_visitor(detail::VariantVisitor(std::move(lambda)), variant); +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/x64_disassemble.cpp b/externals/dynarmic/src/dynarmic/common/x64_disassemble.cpp new file mode 100755 index 000000000..0cfb204d2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/x64_disassemble.cpp @@ -0,0 +1,35 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2021 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/x64_disassemble.h" + +#include +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common { + +void DumpDisassembledX64(const void* ptr, size_t size) { + ZydisDecoder decoder; + ZydisDecoderInit(&decoder, ZYDIS_MACHINE_MODE_LONG_64, ZYDIS_ADDRESS_WIDTH_64); + + ZydisFormatter formatter; + ZydisFormatterInit(&formatter, ZYDIS_FORMATTER_STYLE_INTEL); + + size_t offset = 0; + ZydisDecodedInstruction instruction; + while (ZYAN_SUCCESS(ZydisDecoderDecodeBuffer(&decoder, (const char*)ptr + offset, size - offset, &instruction))) { + fmt::print("{:016x} ", (u64)ptr + offset); + + char buffer[256]; + ZydisFormatterFormatInstruction(&formatter, &instruction, buffer, sizeof(buffer), (u64)ptr + offset); + puts(buffer); + + offset += instruction.length; + } +} + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/common/x64_disassemble.h b/externals/dynarmic/src/dynarmic/common/x64_disassemble.h new file mode 100755 index 000000000..4b1e66604 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/common/x64_disassemble.h @@ -0,0 +1,14 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2021 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::Common { + +void DumpDisassembledX64(const void* ptr, size_t size); + +} // namespace Dynarmic::Common diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/FPSCR.h b/externals/dynarmic/src/dynarmic/frontend/A32/FPSCR.h new file mode 100755 index 000000000..f8f0205d4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/FPSCR.h @@ -0,0 +1,190 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/rounding_mode.h" + +namespace Dynarmic::A32 { + +/** + * Representation of the Floating-Point Status and Control Register. + */ +class FPSCR final { +public: + FPSCR() = default; + FPSCR(const FPSCR&) = default; + FPSCR(FPSCR&&) = default; + explicit FPSCR(u32 data) + : value{data & mask} {} + + FPSCR& operator=(const FPSCR&) = default; + FPSCR& operator=(FPSCR&&) = default; + FPSCR& operator=(u32 data) { + value = data & mask; + return *this; + } + + /// Negative condition flag. + bool N() const { + return Common::Bit<31>(value); + } + + /// Zero condition flag. + bool Z() const { + return Common::Bit<30>(value); + } + + /// Carry condition flag. + bool C() const { + return Common::Bit<29>(value); + } + + /// Overflow condition flag. + bool V() const { + return Common::Bit<28>(value); + } + + /// Cumulative saturation flag. + bool QC() const { + return Common::Bit<27>(value); + } + + /// Alternate half-precision control flag. + bool AHP() const { + return Common::Bit<26>(value); + } + + /// Default NaN mode control bit. + bool DN() const { + return Common::Bit<25>(value); + } + + /// Flush-to-zero mode control bit. + bool FTZ() const { + return Common::Bit<24>(value); + } + + /// Rounding mode control field. + FP::RoundingMode RMode() const { + return static_cast(Common::Bits<22, 23>(value)); + } + + /// Indicates the stride of a vector. + std::optional Stride() const { + switch (Common::Bits<20, 21>(value)) { + case 0b00: + return 1; + case 0b11: + return 2; + default: + return std::nullopt; + } + } + + /// Indicates the length of a vector. + size_t Len() const { + return Common::Bits<16, 18>(value) + 1; + } + + /// Input denormal exception trap enable flag. + bool IDE() const { + return Common::Bit<15>(value); + } + + /// Inexact exception trap enable flag. + bool IXE() const { + return Common::Bit<12>(value); + } + + /// Underflow exception trap enable flag. + bool UFE() const { + return Common::Bit<11>(value); + } + + /// Overflow exception trap enable flag. + bool OFE() const { + return Common::Bit<10>(value); + } + + /// Division by zero exception trap enable flag. + bool DZE() const { + return Common::Bit<9>(value); + } + + /// Invalid operation exception trap enable flag. + bool IOE() const { + return Common::Bit<8>(value); + } + + /// Input denormal cumulative exception bit. + bool IDC() const { + return Common::Bit<7>(value); + } + + /// Inexact cumulative exception bit. + bool IXC() const { + return Common::Bit<4>(value); + } + + /// Underflow cumulative exception bit. + bool UFC() const { + return Common::Bit<3>(value); + } + + /// Overflow cumulative exception bit. + bool OFC() const { + return Common::Bit<2>(value); + } + + /// Division by zero cumulative exception bit. + bool DZC() const { + return Common::Bit<1>(value); + } + + /// Invalid operation cumulative exception bit. + bool IOC() const { + return Common::Bit<0>(value); + } + + /** + * Whether or not the FPSCR indicates RunFast mode. + * + * RunFast mode is enabled when: + * - Flush-to-zero is enabled + * - Default NaNs are enabled. + * - All exception enable bits are cleared. + */ + bool InRunFastMode() const { + constexpr u32 runfast_mask = 0x03001F00; + constexpr u32 expected = 0x03000000; + + return (value & runfast_mask) == expected; + } + + /// Gets the underlying raw value within the FPSCR. + u32 Value() const { + return value; + } + +private: + // Bits 5-6, 13-14, and 19 are reserved. + static constexpr u32 mask = 0xFFF79F9F; + u32 value = 0; +}; + +inline bool operator==(FPSCR lhs, FPSCR rhs) { + return lhs.Value() == rhs.Value(); +} + +inline bool operator!=(FPSCR lhs, FPSCR rhs) { + return !operator==(lhs, rhs); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/ITState.h b/externals/dynarmic/src/dynarmic/frontend/A32/ITState.h new file mode 100755 index 000000000..ef8228f19 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/ITState.h @@ -0,0 +1,63 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/cond.h" + +namespace Dynarmic::A32 { + +class ITState final { +public: + ITState() = default; + explicit ITState(u8 data) + : value(data) {} + + ITState& operator=(u8 data) { + value = data; + return *this; + } + + IR::Cond Cond() const { + if (value == 0b00000000) { + return IR::Cond::AL; + } + return static_cast(Common::Bits<4, 7>(value)); + } + + bool IsInITBlock() const { + return Common::Bits<0, 3>(value) != 0b0000; + } + + bool IsLastInITBlock() const { + return Common::Bits<0, 3>(value) == 0b1000; + } + + ITState Advance() const { + if (Common::Bits<0, 2>(value) == 0b000) { + return ITState{0b00000000}; + } + return ITState{Common::ModifyBits<0, 4>(value, static_cast(Common::Bits<0, 4>(value) << 1))}; + } + + u8 Value() const { + return value; + } + +private: + u8 value = 0; +}; + +inline bool operator==(ITState lhs, ITState rhs) { + return lhs.Value() == rhs.Value(); +} + +inline bool operator!=(ITState lhs, ITState rhs) { + return !operator==(lhs, rhs); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/PSR.h b/externals/dynarmic/src/dynarmic/frontend/A32/PSR.h new file mode 100755 index 000000000..5c12ba4bd --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/PSR.h @@ -0,0 +1,223 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A32/ITState.h" + +namespace Dynarmic::A32 { + +/** + * Program Status Register + * + * | Bit(s) | Description | + * |:-------:|:----------------------------------------------| + * | N | Negative | + * | Z | Zero | + * | C | Carry | + * | V | Overflow | + * | Q | Sticky overflow for DSP-oriented instructions | + * | IT[1:0] | Lower two bits of the If-Then execution state | + * | J | Jazelle bit | + * | GE | Greater-than or Equal | + * | IT[7:2] | Upper six bits of the If-Then execution state | + * | E | Endian (0 is little endian, 1 is big endian) | + * | A | Imprecise data abort (disables them when set) | + * | I | IRQ interrupts (disabled when set) | + * | F | FIQ interrupts (disabled when set) | + * | T | Thumb bit | + * | M | Current processor mode | + */ +class PSR final { +public: + /// Valid processor modes that may be indicated. + enum class Mode : u32 { + User = 0b10000, + FIQ = 0b10001, + IRQ = 0b10010, + Supervisor = 0b10011, + Monitor = 0b10110, + Abort = 0b10111, + Hypervisor = 0b11010, + Undefined = 0b11011, + System = 0b11111 + }; + + /// Instruction sets that may be signified through a PSR. + enum class InstructionSet { + ARM, + Jazelle, + Thumb, + ThumbEE + }; + + PSR() = default; + explicit PSR(u32 data) + : value{data & mask} {} + + PSR& operator=(u32 data) { + value = data & mask; + return *this; + } + + bool N() const { + return Common::Bit<31>(value); + } + void N(bool set) { + value = Common::ModifyBit<31>(value, set); + } + + bool Z() const { + return Common::Bit<30>(value); + } + void Z(bool set) { + value = Common::ModifyBit<30>(value, set); + } + + bool C() const { + return Common::Bit<29>(value); + } + void C(bool set) { + value = Common::ModifyBit<29>(value, set); + } + + bool V() const { + return Common::Bit<28>(value); + } + void V(bool set) { + value = Common::ModifyBit<28>(value, set); + } + + bool Q() const { + return Common::Bit<27>(value); + } + void Q(bool set) { + value = Common::ModifyBit<27>(value, set); + } + + bool J() const { + return Common::Bit<24>(value); + } + void J(bool set) { + value = Common::ModifyBit<24>(value, set); + } + + u32 GE() const { + return Common::Bits<16, 19>(value); + } + void GE(u32 data) { + value = Common::ModifyBits<16, 19>(value, data); + } + + ITState IT() const { + return ITState{static_cast((value & 0x6000000) >> 25 | (value & 0xFC00) >> 8)}; + } + void IT(ITState it_state) { + const u32 data = it_state.Value(); + value = (value & ~0x000FC00) | (data & 0b11111100) << 8; + value = (value & ~0x6000000) | (data & 0b00000011) << 25; + } + + bool E() const { + return Common::Bit<9>(value); + } + void E(bool set) { + value = Common::ModifyBit<9>(value, set); + } + + bool A() const { + return Common::Bit<8>(value); + } + void A(bool set) { + value = Common::ModifyBit<8>(value, set); + } + + bool I() const { + return Common::Bit<7>(value); + } + void I(bool set) { + value = Common::ModifyBit<7>(value, set); + } + + bool F() const { + return Common::Bit<6>(value); + } + void F(bool set) { + value = Common::ModifyBit<6>(value, set); + } + + bool T() const { + return Common::Bit<5>(value); + } + void T(bool set) { + value = Common::ModifyBit<5>(value, set); + } + + Mode M() const { + return static_cast(Common::Bits<0, 4>(value)); + } + void M(Mode mode) { + value = Common::ModifyBits<0, 4>(value, static_cast(mode)); + } + + u32 Value() const { + return value; + } + + InstructionSet CurrentInstructionSet() const { + const bool j_bit = J(); + const bool t_bit = T(); + + if (j_bit && t_bit) + return InstructionSet::ThumbEE; + + if (t_bit) + return InstructionSet::Thumb; + + if (j_bit) + return InstructionSet::Jazelle; + + return InstructionSet::ARM; + } + + void CurrentInstructionSet(InstructionSet instruction_set) { + switch (instruction_set) { + case InstructionSet::ARM: + T(false); + J(false); + break; + case InstructionSet::Jazelle: + T(false); + J(true); + break; + case InstructionSet::Thumb: + T(true); + J(false); + break; + case InstructionSet::ThumbEE: + T(true); + J(true); + break; + } + } + +private: + // Bits 20-23 are reserved and should be zero. + static constexpr u32 mask = 0xFF0FFFFF; + + u32 value = 0; +}; + +inline bool operator==(PSR lhs, PSR rhs) { + return lhs.Value() == rhs.Value(); +} + +inline bool operator!=(PSR lhs, PSR rhs) { + return !operator==(lhs, rhs); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/arm.h b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/arm.h new file mode 100755 index 000000000..3ef69c05a --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/arm.h @@ -0,0 +1,53 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + * + * Original version of table by Lioncash. + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/decoder/decoder_detail.h" +#include "dynarmic/frontend/decoder/matcher.h" + +namespace Dynarmic::A32 { + +template +using ArmMatcher = Decoder::Matcher; + +template +std::vector> GetArmDecodeTable() { + std::vector> table = { + +#define INST(fn, name, bitstring) DYNARMIC_DECODER_GET_MATCHER(ArmMatcher, fn, name, Decoder::detail::StringToArray<32>(bitstring)), +#include "./arm.inc" +#undef INST + + }; + + // If a matcher has more bits in its mask it is more specific, so it should come first. + std::stable_sort(table.begin(), table.end(), [](const auto& matcher1, const auto& matcher2) { + return Common::BitCount(matcher1.GetMask()) > Common::BitCount(matcher2.GetMask()); + }); + + return table; +} + +template +std::optional>> DecodeArm(u32 instruction) { + static const auto table = GetArmDecodeTable(); + + const auto matches_instruction = [instruction](const auto& matcher) { return matcher.Matches(instruction); }; + + auto iter = std::find_if(table.begin(), table.end(), matches_instruction); + return iter != table.end() ? std::optional>>(*iter) : std::nullopt; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/arm.inc b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/arm.inc new file mode 100755 index 000000000..90995c4c0 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/arm.inc @@ -0,0 +1,316 @@ +// Barrier instructions +INST(arm_DMB, "DMB", "1111010101111111111100000101oooo") // v7 +INST(arm_DSB, "DSB", "1111010101111111111100000100oooo") // v7 +INST(arm_ISB, "ISB", "1111010101111111111100000110oooo") // v7 + +// Branch instructions +INST(arm_BLX_imm, "BLX (imm)", "1111101hvvvvvvvvvvvvvvvvvvvvvvvv") // v5 +INST(arm_BLX_reg, "BLX (reg)", "cccc000100101111111111110011mmmm") // v5 +INST(arm_B, "B", "cccc1010vvvvvvvvvvvvvvvvvvvvvvvv") // v1 +INST(arm_BL, "BL", "cccc1011vvvvvvvvvvvvvvvvvvvvvvvv") // v1 +INST(arm_BX, "BX", "cccc000100101111111111110001mmmm") // v4T +INST(arm_BXJ, "BXJ", "cccc000100101111111111110010mmmm") // v5J + +// CRC32 instructions +INST(arm_CRC32, "CRC32", "cccc00010zz0nnnndddd00000100mmmm") // v8 +INST(arm_CRC32C, "CRC32C", "cccc00010zz0nnnndddd00100100mmmm") // v8 + +// Coprocessor instructions +INST(arm_CDP, "CDP", "cccc1110ooooNNNNDDDDppppooo0MMMM") // v2 (CDP2: v5) +INST(arm_LDC, "LDC", "cccc110pudw1nnnnDDDDppppvvvvvvvv") // v2 (LDC2: v5) +INST(arm_MCR, "MCR", "cccc1110ooo0NNNNttttppppooo1MMMM") // v2 (MCR2: v5) +INST(arm_MCRR, "MCRR", "cccc11000100uuuuttttppppooooMMMM") // v5E (MCRR2: v6) +INST(arm_MRC, "MRC", "cccc1110ooo1NNNNttttppppooo1MMMM") // v2 (MRC2: v5) +INST(arm_MRRC, "MRRC", "cccc11000101uuuuttttppppooooMMMM") // v5E (MRRC2: v6) +INST(arm_STC, "STC", "cccc110pudw0nnnnDDDDppppvvvvvvvv") // v2 (STC2: v5) + +// Data Processing instructions +INST(arm_ADC_imm, "ADC (imm)", "cccc0010101Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_ADC_reg, "ADC (reg)", "cccc0000101Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_ADC_rsr, "ADC (rsr)", "cccc0000101Snnnnddddssss0rr1mmmm") // v1 +INST(arm_ADD_imm, "ADD (imm)", "cccc0010100Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_ADD_reg, "ADD (reg)", "cccc0000100Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_ADD_rsr, "ADD (rsr)", "cccc0000100Snnnnddddssss0rr1mmmm") // v1 +INST(arm_AND_imm, "AND (imm)", "cccc0010000Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_AND_reg, "AND (reg)", "cccc0000000Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_AND_rsr, "AND (rsr)", "cccc0000000Snnnnddddssss0rr1mmmm") // v1 +INST(arm_BIC_imm, "BIC (imm)", "cccc0011110Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_BIC_reg, "BIC (reg)", "cccc0001110Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_BIC_rsr, "BIC (rsr)", "cccc0001110Snnnnddddssss0rr1mmmm") // v1 +INST(arm_CMN_imm, "CMN (imm)", "cccc00110111nnnn0000rrrrvvvvvvvv") // v1 +INST(arm_CMN_reg, "CMN (reg)", "cccc00010111nnnn0000vvvvvrr0mmmm") // v1 +INST(arm_CMN_rsr, "CMN (rsr)", "cccc00010111nnnn0000ssss0rr1mmmm") // v1 +INST(arm_CMP_imm, "CMP (imm)", "cccc00110101nnnn0000rrrrvvvvvvvv") // v1 +INST(arm_CMP_reg, "CMP (reg)", "cccc00010101nnnn0000vvvvvrr0mmmm") // v1 +INST(arm_CMP_rsr, "CMP (rsr)", "cccc00010101nnnn0000ssss0rr1mmmm") // v1 +INST(arm_EOR_imm, "EOR (imm)", "cccc0010001Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_EOR_reg, "EOR (reg)", "cccc0000001Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_EOR_rsr, "EOR (rsr)", "cccc0000001Snnnnddddssss0rr1mmmm") // v1 +INST(arm_MOV_imm, "MOV (imm)", "cccc0011101S0000ddddrrrrvvvvvvvv") // v1 +INST(arm_MOV_reg, "MOV (reg)", "cccc0001101S0000ddddvvvvvrr0mmmm") // v1 +INST(arm_MOV_rsr, "MOV (rsr)", "cccc0001101S0000ddddssss0rr1mmmm") // v1 +INST(arm_MVN_imm, "MVN (imm)", "cccc0011111S0000ddddrrrrvvvvvvvv") // v1 +INST(arm_MVN_reg, "MVN (reg)", "cccc0001111S0000ddddvvvvvrr0mmmm") // v1 +INST(arm_MVN_rsr, "MVN (rsr)", "cccc0001111S0000ddddssss0rr1mmmm") // v1 +INST(arm_ORR_imm, "ORR (imm)", "cccc0011100Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_ORR_reg, "ORR (reg)", "cccc0001100Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_ORR_rsr, "ORR (rsr)", "cccc0001100Snnnnddddssss0rr1mmmm") // v1 +INST(arm_RSB_imm, "RSB (imm)", "cccc0010011Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_RSB_reg, "RSB (reg)", "cccc0000011Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_RSB_rsr, "RSB (rsr)", "cccc0000011Snnnnddddssss0rr1mmmm") // v1 +INST(arm_RSC_imm, "RSC (imm)", "cccc0010111Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_RSC_reg, "RSC (reg)", "cccc0000111Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_RSC_rsr, "RSC (rsr)", "cccc0000111Snnnnddddssss0rr1mmmm") // v1 +INST(arm_SBC_imm, "SBC (imm)", "cccc0010110Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_SBC_reg, "SBC (reg)", "cccc0000110Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_SBC_rsr, "SBC (rsr)", "cccc0000110Snnnnddddssss0rr1mmmm") // v1 +INST(arm_SUB_imm, "SUB (imm)", "cccc0010010Snnnnddddrrrrvvvvvvvv") // v1 +INST(arm_SUB_reg, "SUB (reg)", "cccc0000010Snnnnddddvvvvvrr0mmmm") // v1 +INST(arm_SUB_rsr, "SUB (rsr)", "cccc0000010Snnnnddddssss0rr1mmmm") // v1 +INST(arm_TEQ_imm, "TEQ (imm)", "cccc00110011nnnn0000rrrrvvvvvvvv") // v1 +INST(arm_TEQ_reg, "TEQ (reg)", "cccc00010011nnnn0000vvvvvrr0mmmm") // v1 +INST(arm_TEQ_rsr, "TEQ (rsr)", "cccc00010011nnnn0000ssss0rr1mmmm") // v1 +INST(arm_TST_imm, "TST (imm)", "cccc00110001nnnn0000rrrrvvvvvvvv") // v1 +INST(arm_TST_reg, "TST (reg)", "cccc00010001nnnn0000vvvvvrr0mmmm") // v1 +INST(arm_TST_rsr, "TST (rsr)", "cccc00010001nnnn0000ssss0rr1mmmm") // v1 + +// Exception Generating instructions +INST(arm_BKPT, "BKPT", "cccc00010010vvvvvvvvvvvv0111vvvv") // v5 +INST(arm_SVC, "SVC", "cccc1111vvvvvvvvvvvvvvvvvvvvvvvv") // v1 +INST(arm_UDF, "UDF", "111001111111------------1111----") + +// Extension instructions +INST(arm_SXTB, "SXTB", "cccc011010101111ddddrr000111mmmm") // v6 +INST(arm_SXTB16, "SXTB16", "cccc011010001111ddddrr000111mmmm") // v6 +INST(arm_SXTH, "SXTH", "cccc011010111111ddddrr000111mmmm") // v6 +INST(arm_SXTAB, "SXTAB", "cccc01101010nnnnddddrr000111mmmm") // v6 +INST(arm_SXTAB16, "SXTAB16", "cccc01101000nnnnddddrr000111mmmm") // v6 +INST(arm_SXTAH, "SXTAH", "cccc01101011nnnnddddrr000111mmmm") // v6 +INST(arm_UXTB, "UXTB", "cccc011011101111ddddrr000111mmmm") // v6 +INST(arm_UXTB16, "UXTB16", "cccc011011001111ddddrr000111mmmm") // v6 +INST(arm_UXTH, "UXTH", "cccc011011111111ddddrr000111mmmm") // v6 +INST(arm_UXTAB, "UXTAB", "cccc01101110nnnnddddrr000111mmmm") // v6 +INST(arm_UXTAB16, "UXTAB16", "cccc01101100nnnnddddrr000111mmmm") // v6 +INST(arm_UXTAH, "UXTAH", "cccc01101111nnnnddddrr000111mmmm") // v6 + +// Hint instructions +INST(arm_PLD_imm, "PLD (imm)", "11110101uz01nnnn1111iiiiiiiiiiii") // v5E for PLD; v7 for PLDW +INST(arm_PLD_reg, "PLD (reg)", "11110111uz01nnnn1111iiiiitt0mmmm") // v5E for PLD; v7 for PLDW +INST(arm_SEV, "SEV", "----0011001000001111000000000100") // v6K +INST(arm_SEVL, "SEVL", "----0011001000001111000000000101") // v8 +INST(arm_WFE, "WFE", "----0011001000001111000000000010") // v6K +INST(arm_WFI, "WFI", "----0011001000001111000000000011") // v6K +INST(arm_YIELD, "YIELD", "----0011001000001111000000000001") // v6K +INST(arm_NOP, "Reserved Hint", "----0011001000001111------------") +INST(arm_NOP, "Reserved Hint", "----001100100000111100000000----") + +// Synchronization Primitive instructions +INST(arm_CLREX, "CLREX", "11110101011111111111000000011111") // v6K +INST(arm_SWP, "SWP", "cccc00010000nnnntttt00001001uuuu") // v2S (v6: Deprecated) +INST(arm_SWPB, "SWPB", "cccc00010100nnnntttt00001001uuuu") // v2S (v6: Deprecated) +INST(arm_STL, "STL", "cccc00011000nnnn111111001001tttt") // v8 +INST(arm_STLEX, "STLEX", "cccc00011000nnnndddd11101001tttt") // v8 +INST(arm_STREX, "STREX", "cccc00011000nnnndddd11111001mmmm") // v6 +INST(arm_LDA, "LDA", "cccc00011001nnnndddd110010011111") // v8 +INST(arm_LDAEX, "LDAEX", "cccc00011001nnnndddd111010011111") // v8 +INST(arm_LDREX, "LDREX", "cccc00011001nnnndddd111110011111") // v6 +INST(arm_STLEXD, "STLEXD", "cccc00011010nnnndddd11101001mmmm") // v8 +INST(arm_STREXD, "STREXD", "cccc00011010nnnndddd11111001mmmm") // v6K +INST(arm_LDAEXD, "LDAEXD", "cccc00011011nnnndddd111010011111") // v8 +INST(arm_LDREXD, "LDREXD", "cccc00011011nnnndddd111110011111") // v6K +INST(arm_STLB, "STLB", "cccc00011100nnnn111111001001tttt") // v8 +INST(arm_STLEXB, "STLEXB", "cccc00011100nnnndddd11101001mmmm") // v8 +INST(arm_STREXB, "STREXB", "cccc00011100nnnndddd11111001mmmm") // v6K +INST(arm_LDAB, "LDAB", "cccc00011101nnnndddd110010011111") // v8 +INST(arm_LDAEXB, "LDAEXB", "cccc00011101nnnndddd111010011111") // v8 +INST(arm_LDREXB, "LDREXB", "cccc00011101nnnndddd111110011111") // v6K +INST(arm_STLH, "STLH", "cccc00011110nnnn111111001001mmmm") // v8 +INST(arm_STLEXH, "STLEXH", "cccc00011110nnnndddd11101001mmmm") // v8 +INST(arm_STREXH, "STREXH", "cccc00011110nnnndddd11111001mmmm") // v6K +INST(arm_LDAH, "LDAH", "cccc00011111nnnndddd110010011111") // v8 +INST(arm_LDAEXH, "LDAEXH", "cccc00011111nnnndddd111010011111") // v8 +INST(arm_LDREXH, "LDREXH", "cccc00011111nnnndddd111110011111") // v6K + +// Load/Store instructions +INST(arm_LDRBT, "LDRBT (A1)", "----0100-111--------------------") // v1 +INST(arm_LDRBT, "LDRBT (A2)", "----0110-111---------------0----") // v1 +INST(arm_LDRHT, "LDRHT (A1)", "----0000-111------------1011----") // v6T2 +INST(arm_LDRHT, "LDRHT (A1)", "----0000-1111111--------1011----") // v6T2 +INST(arm_LDRHT, "LDRHT (A2)", "----0000-011--------00001011----") // v6T2 +INST(arm_LDRSBT, "LDRSBT (A1)", "----0000-111------------1101----") // v6T2 +INST(arm_LDRSBT, "LDRSBT (A2)", "----0000-011--------00001101----") // v6T2 +INST(arm_LDRSHT, "LDRSHT (A1)", "----0000-111------------1111----") // v6T2 +INST(arm_LDRSHT, "LDRSHT (A2)", "----0000-011--------00001111----") // v6T2 +INST(arm_LDRT, "LDRT (A1)", "----0100-011--------------------") // v1 +INST(arm_LDRT, "LDRT (A2)", "----0110-011---------------0----") // v1 +INST(arm_STRBT, "STRBT (A1)", "----0100-110--------------------") // v1 +INST(arm_STRBT, "STRBT (A2)", "----0110-110---------------0----") // v1 +INST(arm_STRHT, "STRHT (A1)", "----0000-110------------1011----") // v6T2 +INST(arm_STRHT, "STRHT (A2)", "----0000-010--------00001011----") // v6T2 +INST(arm_STRT, "STRT (A1)", "----0100-010--------------------") // v1 +INST(arm_STRT, "STRT (A2)", "----0110-010---------------0----") // v1 +INST(arm_LDR_lit, "LDR (lit)", "cccc0101u0011111ttttvvvvvvvvvvvv") // v1 +INST(arm_LDR_imm, "LDR (imm)", "cccc010pu0w1nnnnttttvvvvvvvvvvvv") // v1 +INST(arm_LDR_reg, "LDR (reg)", "cccc011pu0w1nnnnttttvvvvvrr0mmmm") // v1 +INST(arm_LDRB_lit, "LDRB (lit)", "cccc0101u1011111ttttvvvvvvvvvvvv") // v1 +INST(arm_LDRB_imm, "LDRB (imm)", "cccc010pu1w1nnnnttttvvvvvvvvvvvv") // v1 +INST(arm_LDRB_reg, "LDRB (reg)", "cccc011pu1w1nnnnttttvvvvvrr0mmmm") // v1 +INST(arm_LDRD_lit, "LDRD (lit)", "cccc0001u1001111ttttvvvv1101vvvv") // v5E +INST(arm_LDRD_imm, "LDRD (imm)", "cccc000pu1w0nnnnttttvvvv1101vvvv") // v5E +INST(arm_LDRD_reg, "LDRD (reg)", "cccc000pu0w0nnnntttt00001101mmmm") // v5E +INST(arm_LDRH_lit, "LDRH (lit)", "cccc000pu1w11111ttttvvvv1011vvvv") // v4 +INST(arm_LDRH_imm, "LDRH (imm)", "cccc000pu1w1nnnnttttvvvv1011vvvv") // v4 +INST(arm_LDRH_reg, "LDRH (reg)", "cccc000pu0w1nnnntttt00001011mmmm") // v4 +INST(arm_LDRSB_lit, "LDRSB (lit)", "cccc0001u1011111ttttvvvv1101vvvv") // v4 +INST(arm_LDRSB_imm, "LDRSB (imm)", "cccc000pu1w1nnnnttttvvvv1101vvvv") // v4 +INST(arm_LDRSB_reg, "LDRSB (reg)", "cccc000pu0w1nnnntttt00001101mmmm") // v4 +INST(arm_LDRSH_lit, "LDRSH (lit)", "cccc0001u1011111ttttvvvv1111vvvv") // v4 +INST(arm_LDRSH_imm, "LDRSH (imm)", "cccc000pu1w1nnnnttttvvvv1111vvvv") // v4 +INST(arm_LDRSH_reg, "LDRSH (reg)", "cccc000pu0w1nnnntttt00001111mmmm") // v4 +INST(arm_STR_imm, "STR (imm)", "cccc010pu0w0nnnnttttvvvvvvvvvvvv") // v1 +INST(arm_STR_reg, "STR (reg)", "cccc011pu0w0nnnnttttvvvvvrr0mmmm") // v1 +INST(arm_STRB_imm, "STRB (imm)", "cccc010pu1w0nnnnttttvvvvvvvvvvvv") // v1 +INST(arm_STRB_reg, "STRB (reg)", "cccc011pu1w0nnnnttttvvvvvrr0mmmm") // v1 +INST(arm_STRD_imm, "STRD (imm)", "cccc000pu1w0nnnnttttvvvv1111vvvv") // v5E +INST(arm_STRD_reg, "STRD (reg)", "cccc000pu0w0nnnntttt00001111mmmm") // v5E +INST(arm_STRH_imm, "STRH (imm)", "cccc000pu1w0nnnnttttvvvv1011vvvv") // v4 +INST(arm_STRH_reg, "STRH (reg)", "cccc000pu0w0nnnntttt00001011mmmm") // v4 + +// Load/Store Multiple instructions +INST(arm_LDM, "LDM", "cccc100010w1nnnnxxxxxxxxxxxxxxxx") // v1 +INST(arm_LDMDA, "LDMDA", "cccc100000w1nnnnxxxxxxxxxxxxxxxx") // v1 +INST(arm_LDMDB, "LDMDB", "cccc100100w1nnnnxxxxxxxxxxxxxxxx") // v1 +INST(arm_LDMIB, "LDMIB", "cccc100110w1nnnnxxxxxxxxxxxxxxxx") // v1 +INST(arm_LDM_usr, "LDM (usr reg)", "----100--101--------------------") // v1 +INST(arm_LDM_eret, "LDM (exce ret)", "----100--1-1----1---------------") // v1 +INST(arm_STM, "STM", "cccc100010w0nnnnxxxxxxxxxxxxxxxx") // v1 +INST(arm_STMDA, "STMDA", "cccc100000w0nnnnxxxxxxxxxxxxxxxx") // v1 +INST(arm_STMDB, "STMDB", "cccc100100w0nnnnxxxxxxxxxxxxxxxx") // v1 +INST(arm_STMIB, "STMIB", "cccc100110w0nnnnxxxxxxxxxxxxxxxx") // v1 +INST(arm_STM_usr, "STM (usr reg)", "----100--100--------------------") // v1 + +// Miscellaneous instructions +INST(arm_BFC, "BFC", "cccc0111110vvvvvddddvvvvv0011111") // v6T2 +INST(arm_BFI, "BFI", "cccc0111110vvvvvddddvvvvv001nnnn") // v6T2 +INST(arm_CLZ, "CLZ", "cccc000101101111dddd11110001mmmm") // v5 +INST(arm_MOVT, "MOVT", "cccc00110100vvvvddddvvvvvvvvvvvv") // v6T2 +INST(arm_MOVW, "MOVW", "cccc00110000vvvvddddvvvvvvvvvvvv") // v6T2 +INST(arm_NOP, "NOP", "----0011001000001111000000000000") // v6K +INST(arm_SBFX, "SBFX", "cccc0111101wwwwwddddvvvvv101nnnn") // v6T2 +INST(arm_SEL, "SEL", "cccc01101000nnnndddd11111011mmmm") // v6 +INST(arm_UBFX, "UBFX", "cccc0111111wwwwwddddvvvvv101nnnn") // v6T2 + +// Unsigned Sum of Absolute Differences instructions +INST(arm_USAD8, "USAD8", "cccc01111000dddd1111mmmm0001nnnn") // v6 +INST(arm_USADA8, "USADA8", "cccc01111000ddddaaaammmm0001nnnn") // v6 + +// Packing instructions +INST(arm_PKHBT, "PKHBT", "cccc01101000nnnnddddvvvvv001mmmm") // v6K +INST(arm_PKHTB, "PKHTB", "cccc01101000nnnnddddvvvvv101mmmm") // v6K + +// Reversal instructions +INST(arm_RBIT, "RBIT", "cccc011011111111dddd11110011mmmm") // v6T2 +INST(arm_REV, "REV", "cccc011010111111dddd11110011mmmm") // v6 +INST(arm_REV16, "REV16", "cccc011010111111dddd11111011mmmm") // v6 +INST(arm_REVSH, "REVSH", "cccc011011111111dddd11111011mmmm") // v6 + +// Saturation instructions +INST(arm_SSAT, "SSAT", "cccc0110101vvvvvddddvvvvvr01nnnn") // v6 +INST(arm_SSAT16, "SSAT16", "cccc01101010vvvvdddd11110011nnnn") // v6 +INST(arm_USAT, "USAT", "cccc0110111vvvvvddddvvvvvr01nnnn") // v6 +INST(arm_USAT16, "USAT16", "cccc01101110vvvvdddd11110011nnnn") // v6 + +// Divide instructions +INST(arm_SDIV, "SDIV", "cccc01110001dddd1111mmmm0001nnnn") // v7a +INST(arm_UDIV, "UDIV", "cccc01110011dddd1111mmmm0001nnnn") // v7a + +// Multiply (Normal) instructions +INST(arm_MLA, "MLA", "cccc0000001Sddddaaaammmm1001nnnn") // v2 +INST(arm_MLS, "MLS", "cccc00000110ddddaaaammmm1001nnnn") // v6T2 +INST(arm_MUL, "MUL", "cccc0000000Sdddd0000mmmm1001nnnn") // v2 + +// Multiply (Long) instructions +INST(arm_SMLAL, "SMLAL", "cccc0000111Sddddaaaammmm1001nnnn") // v3M +INST(arm_SMULL, "SMULL", "cccc0000110Sddddaaaammmm1001nnnn") // v3M +INST(arm_UMAAL, "UMAAL", "cccc00000100ddddaaaammmm1001nnnn") // v6 +INST(arm_UMLAL, "UMLAL", "cccc0000101Sddddaaaammmm1001nnnn") // v3M +INST(arm_UMULL, "UMULL", "cccc0000100Sddddaaaammmm1001nnnn") // v3M + +// Multiply (Halfword) instructions +INST(arm_SMLALxy, "SMLALXY", "cccc00010100ddddaaaammmm1xy0nnnn") // v5xP +INST(arm_SMLAxy, "SMLAXY", "cccc00010000ddddaaaammmm1xy0nnnn") // v5xP +INST(arm_SMULxy, "SMULXY", "cccc00010110dddd0000mmmm1xy0nnnn") // v5xP + +// Multiply (Word by Halfword) instructions +INST(arm_SMLAWy, "SMLAWY", "cccc00010010ddddaaaammmm1y00nnnn") // v5xP +INST(arm_SMULWy, "SMULWY", "cccc00010010dddd0000mmmm1y10nnnn") // v5xP + +// Multiply (Most Significant Word) instructions +INST(arm_SMMUL, "SMMUL", "cccc01110101dddd1111mmmm00R1nnnn") // v6 +INST(arm_SMMLA, "SMMLA", "cccc01110101ddddaaaammmm00R1nnnn") // v6 +INST(arm_SMMLS, "SMMLS", "cccc01110101ddddaaaammmm11R1nnnn") // v6 + +// Multiply (Dual) instructions +INST(arm_SMLAD, "SMLAD", "cccc01110000ddddaaaammmm00M1nnnn") // v6 +INST(arm_SMLALD, "SMLALD", "cccc01110100ddddaaaammmm00M1nnnn") // v6 +INST(arm_SMLSD, "SMLSD", "cccc01110000ddddaaaammmm01M1nnnn") // v6 +INST(arm_SMLSLD, "SMLSLD", "cccc01110100ddddaaaammmm01M1nnnn") // v6 +INST(arm_SMUAD, "SMUAD", "cccc01110000dddd1111mmmm00M1nnnn") // v6 +INST(arm_SMUSD, "SMUSD", "cccc01110000dddd1111mmmm01M1nnnn") // v6 + +// Parallel Add/Subtract (Modulo) instructions +INST(arm_SADD8, "SADD8", "cccc01100001nnnndddd11111001mmmm") // v6 +INST(arm_SADD16, "SADD16", "cccc01100001nnnndddd11110001mmmm") // v6 +INST(arm_SASX, "SASX", "cccc01100001nnnndddd11110011mmmm") // v6 +INST(arm_SSAX, "SSAX", "cccc01100001nnnndddd11110101mmmm") // v6 +INST(arm_SSUB8, "SSUB8", "cccc01100001nnnndddd11111111mmmm") // v6 +INST(arm_SSUB16, "SSUB16", "cccc01100001nnnndddd11110111mmmm") // v6 +INST(arm_UADD8, "UADD8", "cccc01100101nnnndddd11111001mmmm") // v6 +INST(arm_UADD16, "UADD16", "cccc01100101nnnndddd11110001mmmm") // v6 +INST(arm_UASX, "UASX", "cccc01100101nnnndddd11110011mmmm") // v6 +INST(arm_USAX, "USAX", "cccc01100101nnnndddd11110101mmmm") // v6 +INST(arm_USUB8, "USUB8", "cccc01100101nnnndddd11111111mmmm") // v6 +INST(arm_USUB16, "USUB16", "cccc01100101nnnndddd11110111mmmm") // v6 + +// Parallel Add/Subtract (Saturating) instructions +INST(arm_QADD8, "QADD8", "cccc01100010nnnndddd11111001mmmm") // v6 +INST(arm_QADD16, "QADD16", "cccc01100010nnnndddd11110001mmmm") // v6 +INST(arm_QASX, "QASX", "cccc01100010nnnndddd11110011mmmm") // v6 +INST(arm_QSAX, "QSAX", "cccc01100010nnnndddd11110101mmmm") // v6 +INST(arm_QSUB8, "QSUB8", "cccc01100010nnnndddd11111111mmmm") // v6 +INST(arm_QSUB16, "QSUB16", "cccc01100010nnnndddd11110111mmmm") // v6 +INST(arm_UQADD8, "UQADD8", "cccc01100110nnnndddd11111001mmmm") // v6 +INST(arm_UQADD16, "UQADD16", "cccc01100110nnnndddd11110001mmmm") // v6 +INST(arm_UQASX, "UQASX", "cccc01100110nnnndddd11110011mmmm") // v6 +INST(arm_UQSAX, "UQSAX", "cccc01100110nnnndddd11110101mmmm") // v6 +INST(arm_UQSUB8, "UQSUB8", "cccc01100110nnnndddd11111111mmmm") // v6 +INST(arm_UQSUB16, "UQSUB16", "cccc01100110nnnndddd11110111mmmm") // v6 + +// Parallel Add/Subtract (Halving) instructions +INST(arm_SHADD8, "SHADD8", "cccc01100011nnnndddd11111001mmmm") // v6 +INST(arm_SHADD16, "SHADD16", "cccc01100011nnnndddd11110001mmmm") // v6 +INST(arm_SHASX, "SHASX", "cccc01100011nnnndddd11110011mmmm") // v6 +INST(arm_SHSAX, "SHSAX", "cccc01100011nnnndddd11110101mmmm") // v6 +INST(arm_SHSUB8, "SHSUB8", "cccc01100011nnnndddd11111111mmmm") // v6 +INST(arm_SHSUB16, "SHSUB16", "cccc01100011nnnndddd11110111mmmm") // v6 +INST(arm_UHADD8, "UHADD8", "cccc01100111nnnndddd11111001mmmm") // v6 +INST(arm_UHADD16, "UHADD16", "cccc01100111nnnndddd11110001mmmm") // v6 +INST(arm_UHASX, "UHASX", "cccc01100111nnnndddd11110011mmmm") // v6 +INST(arm_UHSAX, "UHSAX", "cccc01100111nnnndddd11110101mmmm") // v6 +INST(arm_UHSUB8, "UHSUB8", "cccc01100111nnnndddd11111111mmmm") // v6 +INST(arm_UHSUB16, "UHSUB16", "cccc01100111nnnndddd11110111mmmm") // v6 + +// Saturated Add/Subtract instructions +INST(arm_QADD, "QADD", "cccc00010000nnnndddd00000101mmmm") // v5xP +INST(arm_QSUB, "QSUB", "cccc00010010nnnndddd00000101mmmm") // v5xP +INST(arm_QDADD, "QDADD", "cccc00010100nnnndddd00000101mmmm") // v5xP +INST(arm_QDSUB, "QDSUB", "cccc00010110nnnndddd00000101mmmm") // v5xP + +// Status Register Access instructions +INST(arm_CPS, "CPS", "111100010000---00000000---0-----") // v6 +INST(arm_SETEND, "SETEND", "1111000100000001000000e000000000") // v6 +INST(arm_MRS, "MRS", "cccc000100001111dddd000000000000") // v3 +INST(arm_MSR_imm, "MSR (imm)", "cccc00110010mmmm1111rrrrvvvvvvvv") // v3 +INST(arm_MSR_reg, "MSR (reg)", "cccc00010010mmmm111100000000nnnn") // v3 +INST(arm_RFE, "RFE", "1111100--0-1----0000101000000000") // v6 +INST(arm_SRS, "SRS", "1111100--1-0110100000101000-----") // v6 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/asimd.h b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/asimd.h new file mode 100755 index 000000000..73b029751 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/asimd.h @@ -0,0 +1,77 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/decoder/decoder_detail.h" +#include "dynarmic/frontend/decoder/matcher.h" + +namespace Dynarmic::A32 { + +template +using ASIMDMatcher = Decoder::Matcher; + +template +std::vector> GetASIMDDecodeTable() { + std::vector> table = { + +#define INST(fn, name, bitstring) DYNARMIC_DECODER_GET_MATCHER(ASIMDMatcher, fn, name, Decoder::detail::StringToArray<32>(bitstring)), +#include "./asimd.inc" +#undef INST + + }; + + // Exceptions to the rule of thumb. + const std::set comes_first{ + "VBIC, VMOV, VMVN, VORR (immediate)", + "VEXT", + "VTBL", + "VTBX", + "VDUP (scalar)", + }; + const std::set comes_last{ + "VMLA (scalar)", + "VMLAL (scalar)", + "VQDMLAL/VQDMLSL (scalar)", + "VMUL (scalar)", + "VMULL (scalar)", + "VQDMULL (scalar)", + "VQDMULH (scalar)", + "VQRDMULH (scalar)", + }; + const auto sort_begin = std::stable_partition(table.begin(), table.end(), [&](const auto& matcher) { + return comes_first.count(matcher.GetName()) > 0; + }); + const auto sort_end = std::stable_partition(table.begin(), table.end(), [&](const auto& matcher) { + return comes_last.count(matcher.GetName()) == 0; + }); + + // If a matcher has more bits in its mask it is more specific, so it should come first. + std::stable_sort(sort_begin, sort_end, [](const auto& matcher1, const auto& matcher2) { + return Common::BitCount(matcher1.GetMask()) > Common::BitCount(matcher2.GetMask()); + }); + + return table; +} + +template +std::optional>> DecodeASIMD(u32 instruction) { + static const auto table = GetASIMDDecodeTable(); + + const auto matches_instruction = [instruction](const auto& matcher) { return matcher.Matches(instruction); }; + + auto iter = std::find_if(table.begin(), table.end(), matches_instruction); + return iter != table.end() ? std::optional>>(*iter) : std::nullopt; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/asimd.inc b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/asimd.inc new file mode 100755 index 000000000..119ad3308 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/asimd.inc @@ -0,0 +1,167 @@ +// Three registers of the same length +INST(asimd_VHADD, "VHADD", "1111001U0Dzznnnndddd0000NQM0mmmm") // ASIMD +INST(asimd_VQADD, "VQADD", "1111001U0Dzznnnndddd0000NQM1mmmm") // ASIMD +INST(asimd_VRHADD, "VRHADD", "1111001U0Dzznnnndddd0001NQM0mmmm") // ASIMD +INST(asimd_VAND_reg, "VAND (register)", "111100100D00nnnndddd0001NQM1mmmm") // ASIMD +INST(asimd_VBIC_reg, "VBIC (register)", "111100100D01nnnndddd0001NQM1mmmm") // ASIMD +INST(asimd_VORR_reg, "VORR (register)", "111100100D10nnnndddd0001NQM1mmmm") // ASIMD +INST(asimd_VORN_reg, "VORN (register)", "111100100D11nnnndddd0001NQM1mmmm") // ASIMD +INST(asimd_VEOR_reg, "VEOR (register)", "111100110D00nnnndddd0001NQM1mmmm") // ASIMD +INST(asimd_VBSL, "VBSL", "111100110D01nnnndddd0001NQM1mmmm") // ASIMD +INST(asimd_VBIT, "VBIT", "111100110D10nnnndddd0001NQM1mmmm") // ASIMD +INST(asimd_VBIF, "VBIF", "111100110D11nnnndddd0001NQM1mmmm") // ASIMD +INST(asimd_VHSUB, "VHSUB", "1111001U0Dzznnnndddd0010NQM0mmmm") // ASIMD +INST(asimd_VQSUB, "VQSUB", "1111001U0Dzznnnndddd0010NQM1mmmm") // ASIMD +INST(asimd_VCGT_reg, "VCGT (register)", "1111001U0Dzznnnndddd0011NQM0mmmm") // ASIMD +INST(asimd_VCGE_reg, "VCGE (register)", "1111001U0Dzznnnndddd0011NQM1mmmm") // ASIMD +INST(asimd_VSHL_reg, "VSHL (register)", "1111001U0Dzznnnndddd0100NQM0mmmm") // ASIMD +INST(asimd_VQSHL_reg, "VQSHL (register)", "1111001U0Dzznnnndddd0100NQM1mmmm") // ASIMD +INST(asimd_VRSHL, "VRSHL", "1111001U0Dzznnnndddd0101NQM0mmmm") // ASIMD +//INST(asimd_VQRSHL, "VQRSHL", "1111001U0-CC--------0101---1----") // ASIMD +INST(asimd_VMAX, "VMAX/VMIN (integer)", "1111001U0Dzznnnnmmmm0110NQMommmm") // ASIMD +INST(asimd_VABD, "VABD", "1111001U0Dzznnnndddd0111NQM0mmmm") // ASIMD +INST(asimd_VABA, "VABA", "1111001U0Dzznnnndddd0111NQM1mmmm") // ASIMD +INST(asimd_VADD_int, "VADD (integer)", "111100100Dzznnnndddd1000NQM0mmmm") // ASIMD +INST(asimd_VSUB_int, "VSUB (integer)", "111100110Dzznnnndddd1000NQM0mmmm") // ASIMD +INST(asimd_VTST, "VTST", "111100100Dzznnnndddd1000NQM1mmmm") // ASIMD +INST(asimd_VCEQ_reg, "VCEG (register)", "111100110Dzznnnndddd1000NQM1mmmm") // ASIMD +INST(asimd_VMLA, "VMLA/VMLS", "1111001o0Dzznnnndddd1001NQM0mmmm") // ASIMD +INST(asimd_VMUL, "VMUL", "1111001P0Dzznnnndddd1001NQM1mmmm") // ASIMD +INST(asimd_VPMAX_int, "VPMAX/VPMIN (integer)", "1111001U0Dzznnnndddd1010NQMommmm") // ASIMD +INST(asimd_VQDMULH, "VQDMULH", "111100100Dzznnnndddd1011NQM0mmmm") // ASIMD +INST(asimd_VQRDMULH, "VQRDMULH", "111100110Dzznnnndddd1011NQM0mmmm") // ASIMD +INST(asimd_VPADD, "VPADD", "111100100Dzznnnndddd1011NQM1mmmm") // ASIMD +INST(asimd_VFMA, "VFMA", "111100100D0znnnndddd1100NQM1mmmm") // ASIMD +INST(asimd_VFMS, "VFMS", "111100100D1znnnndddd1100NQM1mmmm") // ASIMD +INST(asimd_VADD_float, "VADD (floating-point)", "111100100D0znnnndddd1101NQM0mmmm") // ASIMD +INST(asimd_VSUB_float, "VSUB (floating-point)", "111100100D1znnnndddd1101NQM0mmmm") // ASIMD +INST(asimd_VPADD_float, "VPADD (floating-point)", "111100110D0znnnndddd1101NQM0mmmm") // ASIMD +INST(asimd_VABD_float, "VABD (floating-point)", "111100110D1znnnndddd1101NQM0mmmm") // ASIMD +INST(asimd_VMLA_float, "VMLA (floating-point)", "111100100D0znnnndddd1101NQM1mmmm") // ASIMD +INST(asimd_VMLS_float, "VMLS (floating-point)", "111100100D1znnnndddd1101NQM1mmmm") // ASIMD +INST(asimd_VMUL_float, "VMUL (floating-point)", "111100110D0znnnndddd1101NQM1mmmm") // ASIMD +INST(asimd_VCEQ_reg_float, "VCEQ (register)", "111100100D0znnnndddd1110NQM0mmmm") // ASIMD +INST(asimd_VCGE_reg_float, "VCGE (register)", "111100110D0znnnndddd1110NQM0mmmm") // ASIMD +INST(asimd_VCGT_reg_float, "VCGT (register)", "111100110D1znnnndddd1110NQM0mmmm") // ASIMD +INST(asimd_VACGE, "VACGE", "111100110Doznnnndddd1110NQM1mmmm") // ASIMD +INST(asimd_VMAX_float, "VMAX (floating-point)", "111100100D0znnnndddd1111NQM0mmmm") // ASIMD +INST(asimd_VMIN_float, "VMIN (floating-point)", "111100100D1znnnndddd1111NQM0mmmm") // ASIMD +INST(asimd_VPMAX_float, "VPMAX (floating-point)", "111100110D0znnnndddd1111NQM0mmmm") // ASIMD +INST(asimd_VPMIN_float, "VPMIN (floating-point)", "111100110D1znnnndddd1111NQM0mmmm") // ASIMD +INST(asimd_VRECPS, "VRECPS", "111100100D0znnnndddd1111NQM1mmmm") // ASIMD +INST(asimd_VRSQRTS, "VRSQRTS", "111100100D1znnnndddd1111NQM1mmmm") // ASIMD + +// Three registers of different lengths +INST(asimd_VADDL, "VADDL/VADDW", "1111001U1Dzznnnndddd000oN0M0mmmm") // ASIMD +INST(asimd_VSUBL, "VSUBL/VSUBW", "1111001U1Dzznnnndddd001oN0M0mmmm") // ASIMD +//INST(asimd_VADDHN, "VADDHN", "111100101-----------0100-0-0----") // ASIMD +//INST(asimd_VRADDHN, "VRADDHN", "111100111-----------0100-0-0----") // ASIMD +INST(asimd_VABAL, "VABAL", "1111001U1Dzznnnndddd0101N0M0mmmm") // ASIMD +//INST(asimd_VSUBHN, "VSUBHN", "111100101-----------0110-0-0----") // ASIMD +//INST(asimd_VRSUBHN, "VRSUBHN", "111100111-----------0110-0-0----") // ASIMD +INST(asimd_VABDL, "VABDL", "1111001U1Dzznnnndddd0111N0M0mmmm") // ASIMD +INST(asimd_VMLAL, "VMLAL/VMLSL", "1111001U1Dzznnnndddd10o0N0M0mmmm") // ASIMD +//INST(asimd_VQDMLAL, "VQDMLAL", "111100101-----------10-1-0-0----") // ASIMD +INST(asimd_VMULL, "VMULL", "1111001U1Dzznnnndddd11P0N0M0mmmm") // ASIMD +//INST(asimd_VQDMULL, "VQDMULL", "111100101-----------1101-0-0----") // ASIMD + +// Two registers and a scalar +INST(asimd_VMLA_scalar, "VMLA (scalar)", "1111001Q1Dzznnnndddd0o0FN1M0mmmm") // ASIMD +INST(asimd_VMLAL_scalar, "VMLAL (scalar)", "1111001U1dzznnnndddd0o10N1M0mmmm") // ASIMD +//INST(asimd_VQDMLAL_scalar, "VQDMLAL/VQDMLSL (scalar)", "111100101-BB--------0x11-1-0----") // ASIMD +INST(asimd_VMUL_scalar, "VMUL (scalar)", "1111001Q1Dzznnnndddd100FN1M0mmmm") // ASIMD +INST(asimd_VMULL_scalar, "VMULL (scalar)", "1111001U1Dzznnnndddd1010N1M0mmmm") // ASIMD +INST(asimd_VQDMULL_scalar, "VQDMULL (scalar)", "111100101Dzznnnndddd1011N1M0mmmm") // ASIMD +INST(asimd_VQDMULH_scalar, "VQDMULH (scalar)", "1111001Q1Dzznnnndddd1100N1M0mmmm") // ASIMD +INST(asimd_VQRDMULH_scalar, "VQRDMULH (scalar)", "1111001Q1Dzznnnndddd1101N1M0mmmm") // ASIMD + +// Two registers and a shift amount +INST(asimd_SHR, "SHR", "1111001U1Diiiiiidddd0000LQM1mmmm") // ASIMD +INST(asimd_SRA, "SRA", "1111001U1Diiiiiidddd0001LQM1mmmm") // ASIMD +INST(asimd_VRSHR, "VRSHR", "1111001U1Diiiiiidddd0010LQM1mmmm") // ASIMD +INST(asimd_VRSRA, "VRSRA", "1111001U1Diiiiiidddd0011LQM1mmmm") // ASIMD +INST(asimd_VSRI, "VSRI", "111100111Diiiiiidddd0100LQM1mmmm") // ASIMD +INST(asimd_VSHL, "VSHL", "111100101Diiiiiidddd0101LQM1mmmm") // ASIMD +INST(asimd_VSLI, "VSLI", "111100111Diiiiiidddd0101LQM1mmmm") // ASIMD +INST(asimd_VQSHL, "VQSHL" , "1111001U1Diiiiiidddd011oLQM1mmmm") // ASIMD +INST(asimd_VSHRN, "VSHRN", "111100101Diiiiiidddd100000M1mmmm") // ASIMD +INST(asimd_VRSHRN, "VRSHRN", "111100101Diiiiiidddd100001M1mmmm") // ASIMD +INST(asimd_VQSHRUN, "VQSHRUN", "111100111Diiiiiidddd100000M1mmmm") // ASIMD +INST(asimd_VQRSHRUN, "VQRSHRUN", "111100111Diiiiiidddd100001M1mmmm") // ASIMD +INST(asimd_VQSHRN, "VQSHRN", "1111001U1Diiiiiidddd100100M1mmmm") // ASIMD +INST(asimd_VQRSHRN, "VQRSHRN", "1111001U1Diiiiiidddd100101M1mmmm") // ASIMD +INST(asimd_VSHLL, "VSHLL", "1111001U1Diiiiiidddd101000M1mmmm") // ASIMD +INST(asimd_VCVT_fixed, "VCVT (fixed-point)", "1111001U1Diiiiiidddd111o0QM1mmmm") // ASIMD + +// Two registers, miscellaneous +INST(asimd_VREV, "VREV{16,32,64}", "111100111D11zz00dddd000ooQM0mmmm") // ASIMD +INST(asimd_VPADDL, "VPADDL", "111100111D11zz00dddd0010oQM0mmmm") // ASIMD +INST(asimd_VCLS, "VCLS", "111100111D11zz00dddd01000QM0mmmm") // ASIMD +INST(asimd_VCLZ, "VCLZ", "111100111D11zz00dddd01001QM0mmmm") // ASIMD +INST(asimd_VCNT, "VCNT", "111100111D11zz00dddd01010QM0mmmm") // ASIMD +INST(asimd_VMVN_reg, "VMVN_reg", "111100111D11zz00dddd01011QM0mmmm") // ASIMD +INST(asimd_VPADAL, "VPADAL", "111100111D11zz00dddd0110oQM0mmmm") // ASIMD +INST(asimd_VQABS, "VQABS", "111100111D11zz00dddd01110QM0mmmm") // ASIMD +INST(asimd_VQNEG, "VQNEG", "111100111D11zz00dddd01111QM0mmmm") // ASIMD +INST(asimd_VCGT_zero, "VCGT (zero)", "111100111D11zz01dddd0F000QM0mmmm") // ASIMD +INST(asimd_VCGE_zero, "VCGE (zero)", "111100111D11zz01dddd0F001QM0mmmm") // ASIMD +INST(asimd_VCEQ_zero, "VCEQ (zero)", "111100111D11zz01dddd0F010QM0mmmm") // ASIMD +INST(asimd_VCLE_zero, "VCLE (zero)", "111100111D11zz01dddd0F011QM0mmmm") // ASIMD +INST(asimd_VCLT_zero, "VCLT (zero)", "111100111D11zz01dddd0F100QM0mmmm") // ASIMD +INST(arm_UDF, "UNALLOCATED", "111100111-11--01----01101--0----") // v8 +INST(asimd_VABS, "VABS", "111100111D11zz01dddd0F110QM0mmmm") // ASIMD +INST(asimd_VNEG, "VNEG", "111100111D11zz01dddd0F111QM0mmmm") // ASIMD +INST(asimd_VSWP, "VSWP", "111100111D110010dddd00000QM0mmmm") // ASIMD +INST(arm_UDF, "UNALLOCATED", "111100111-11--10----00000--0----") // ASIMD +INST(asimd_VTRN, "VTRN", "111100111D11zz10dddd00001QM0mmmm") // ASIMD +INST(asimd_VUZP, "VUZP", "111100111D11zz10dddd00010QM0mmmm") // ASIMD +INST(asimd_VZIP, "VZIP", "111100111D11zz10dddd00011QM0mmmm") // ASIMD +INST(asimd_VMOVN, "VMOVN", "111100111D11zz10dddd001000M0mmmm") // ASIMD +INST(asimd_VQMOVUN, "VQMOVUN", "111100111D11zz10dddd001001M0mmmm") // ASIMD +INST(asimd_VQMOVN, "VQMOVN", "111100111D11zz10dddd00101oM0mmmm") // ASIMD +INST(asimd_VSHLL_max, "VSHLL_max", "111100111D11zz10dddd001100M0mmmm") // ASIMD +INST(arm_UDF, "UNALLOCATED (VRINTN)", "111100111-11--10----01000--0----") +INST(arm_UDF, "UNALLOCATED (VRINTX)", "111100111-11--10----01001--0----") +INST(arm_UDF, "UNALLOCATED (VRINTA)", "111100111-11--10----01010--0----") +INST(arm_UDF, "UNALLOCATED (VRINTZ)", "111100111-11--10----01011--0----") +INST(arm_UDF, "UNALLOCATED (VRINTM)", "111100111-11--10----01101--0----") +INST(arm_UDF, "UNALLOCATED (VRINTP)", "111100111-11--10----01111--0----") +INST(asimd_VCVT_half, "VCVT (half-precision)", "111100111D11zz10dddd011o00M0mmmm") // ASIMD +INST(arm_UDF, "UNALLOCATED", "111100111-11--10----011-01-0----") // ASIMD +INST(arm_UDF, "UNALLOCATED (VCVTA)", "111100111-11--11----0000---0----") +INST(arm_UDF, "UNALLOCATED (VCVTN)", "111100111-11--11----0001---0----") +INST(arm_UDF, "UNALLOCATED (VCVTP)", "111100111-11--11----0010---0----") +INST(arm_UDF, "UNALLOCATED (VCVTM)", "111100111-11--11----0011---0----") +INST(asimd_VRECPE, "VRECPE", "111100111D11zz11dddd010F0QM0mmmm") // ASIMD +INST(asimd_VRSQRTE, "VRSQRTE", "111100111D11zz11dddd010F1QM0mmmm") // ASIMD +INST(asimd_VCVT_integer, "VCVT (integer)", "111100111D11zz11dddd011oUQM0mmmm") // ASIMD + +// Two registers, cryptography +INST(v8_AESE, "AESE", "111100111D11zz00dddd001100M0mmmm") // v8 +INST(v8_AESD, "AESD", "111100111D11zz00dddd001101M0mmmm") // v8 +INST(v8_AESMC, "AESMC", "111100111D11zz00dddd001110M0mmmm") // v8 +INST(v8_AESIMC, "AESIMC", "111100111D11zz00dddd001111M0mmmm") // v8 +INST(arm_UDF, "UNALLOCATED", "111100111-11--01----001010-0----") // v8 +INST(arm_UDF, "UNALLOCATED (SHA1H)", "111100111-11--01----001011-0----") // v8 +INST(arm_UDF, "UNALLOCATED (SHA1SU1)", "111100111-11--10----001110-0----") // v8 +INST(arm_UDF, "UNALLOCATED (SHA256SU0)", "111100111-11--10----001111-0----") // v8 + +// One register and modified immediate +INST(asimd_VMOV_imm, "VBIC, VMOV, VMVN, VORR (immediate)", "1111001a1D000bcdVVVVmmmm0Qo1efgh") // ASIMD + +// Miscellaneous +INST(asimd_VEXT, "VEXT", "111100101D11nnnnddddiiiiNQM0mmmm") // ASIMD +INST(asimd_VTBL, "VTBL", "111100111D11nnnndddd10zzN0M0mmmm") // ASIMD +INST(asimd_VTBX, "VTBX", "111100111D11nnnndddd10zzN1M0mmmm") // ASIMD +INST(asimd_VDUP_scalar, "VDUP (scalar)", "111100111D11iiiidddd11000QM0mmmm") // ASIMD +INST(arm_UDF, "UNALLOCATED", "111100111-11--------11-----0----") // ASIMD + +// Advanced SIMD load/store structures +INST(v8_VST_multiple, "VST{1-4} (multiple)", "111101000D00nnnnddddxxxxzzaammmm") // v8 +INST(v8_VLD_multiple, "VLD{1-4} (multiple)", "111101000D10nnnnddddxxxxzzaammmm") // v8 +INST(arm_UDF, "UNALLOCATED", "111101000--0--------1011--------") // v8 +INST(arm_UDF, "UNALLOCATED", "111101000--0--------11----------") // v8 +INST(arm_UDF, "UNALLOCATED", "111101001-00--------11----------") // v8 +INST(v8_VLD_all_lanes, "VLD{1-4} (all lanes)", "111101001D10nnnndddd11nnzzTammmm") // v8 +INST(v8_VST_single, "VST{1-4} (single)", "111101001D00nnnnddddzzNNaaaammmm") // v8 +INST(v8_VLD_single, "VLD{1-4} (single)", "111101001D10nnnnddddzzNNaaaammmm") // v8 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb16.h b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb16.h new file mode 100755 index 000000000..568d5f42c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb16.h @@ -0,0 +1,38 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/decoder/decoder_detail.h" +#include "dynarmic/frontend/decoder/matcher.h" + +namespace Dynarmic::A32 { + +template +using Thumb16Matcher = Decoder::Matcher; + +template +std::optional>> DecodeThumb16(u16 instruction) { + static const std::vector> table = { + +#define INST(fn, name, bitstring) DYNARMIC_DECODER_GET_MATCHER(Thumb16Matcher, fn, name, Decoder::detail::StringToArray<16>(bitstring)), +#include "./thumb16.inc" +#undef INST + + }; + + const auto matches_instruction = [instruction](const auto& matcher) { return matcher.Matches(instruction); }; + + auto iter = std::find_if(table.begin(), table.end(), matches_instruction); + return iter != table.end() ? std::optional>>(*iter) : std::nullopt; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb16.inc b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb16.inc new file mode 100755 index 000000000..f01c98aa0 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb16.inc @@ -0,0 +1,98 @@ +// Shift (immediate) add, subtract, move and compare instructions +INST(thumb16_LSL_imm, "LSL (imm)", "00000vvvvvmmmddd") +INST(thumb16_LSR_imm, "LSR (imm)", "00001vvvvvmmmddd") +INST(thumb16_ASR_imm, "ASR (imm)", "00010vvvvvmmmddd") +INST(thumb16_ADD_reg_t1, "ADD (reg, T1)", "0001100mmmnnnddd") +INST(thumb16_SUB_reg, "SUB (reg)", "0001101mmmnnnddd") +INST(thumb16_ADD_imm_t1, "ADD (imm, T1)", "0001110vvvnnnddd") +INST(thumb16_SUB_imm_t1, "SUB (imm, T1)", "0001111vvvnnnddd") +INST(thumb16_MOV_imm, "MOV (imm)", "00100dddvvvvvvvv") +INST(thumb16_CMP_imm, "CMP (imm)", "00101nnnvvvvvvvv") +INST(thumb16_ADD_imm_t2, "ADD (imm, T2)", "00110dddvvvvvvvv") +INST(thumb16_SUB_imm_t2, "SUB (imm, T2)", "00111dddvvvvvvvv") + + // Data-processing instructions +INST(thumb16_AND_reg, "AND (reg)", "0100000000mmmddd") +INST(thumb16_EOR_reg, "EOR (reg)", "0100000001mmmddd") +INST(thumb16_LSL_reg, "LSL (reg)", "0100000010mmmddd") +INST(thumb16_LSR_reg, "LSR (reg)", "0100000011mmmddd") +INST(thumb16_ASR_reg, "ASR (reg)", "0100000100mmmddd") +INST(thumb16_ADC_reg, "ADC (reg)", "0100000101mmmddd") +INST(thumb16_SBC_reg, "SBC (reg)", "0100000110mmmddd") +INST(thumb16_ROR_reg, "ROR (reg)", "0100000111sssddd") +INST(thumb16_TST_reg, "TST (reg)", "0100001000mmmnnn") +INST(thumb16_RSB_imm, "RSB (imm)", "0100001001nnnddd") +INST(thumb16_CMP_reg_t1, "CMP (reg, T1)", "0100001010mmmnnn") +INST(thumb16_CMN_reg, "CMN (reg)", "0100001011mmmnnn") +INST(thumb16_ORR_reg, "ORR (reg)", "0100001100mmmddd") +INST(thumb16_MUL_reg, "MUL (reg)", "0100001101nnnddd") +INST(thumb16_BIC_reg, "BIC (reg)", "0100001110mmmddd") +INST(thumb16_MVN_reg, "MVN (reg)", "0100001111mmmddd") + +// Special data instructions +INST(thumb16_ADD_reg_t2, "ADD (reg, T2)", "01000100Dmmmmddd") // v4T, Low regs: v6T2 +INST(thumb16_CMP_reg_t2, "CMP (reg, T2)", "01000101Nmmmmnnn") // v4T +INST(thumb16_MOV_reg, "MOV (reg)", "01000110Dmmmmddd") // v4T, Low regs: v6 + +// Store/Load single data item instructions +INST(thumb16_LDR_literal, "LDR (literal)", "01001tttvvvvvvvv") +INST(thumb16_STR_reg, "STR (reg)", "0101000mmmnnnttt") +INST(thumb16_STRH_reg, "STRH (reg)", "0101001mmmnnnttt") +INST(thumb16_STRB_reg, "STRB (reg)", "0101010mmmnnnttt") +INST(thumb16_LDRSB_reg, "LDRSB (reg)", "0101011mmmnnnttt") +INST(thumb16_LDR_reg, "LDR (reg)", "0101100mmmnnnttt") +INST(thumb16_LDRH_reg, "LDRH (reg)", "0101101mmmnnnttt") +INST(thumb16_LDRB_reg, "LDRB (reg)", "0101110mmmnnnttt") +INST(thumb16_LDRSH_reg, "LDRSH (reg)", "0101111mmmnnnttt") +INST(thumb16_STR_imm_t1, "STR (imm, T1)", "01100vvvvvnnnttt") +INST(thumb16_LDR_imm_t1, "LDR (imm, T1)", "01101vvvvvnnnttt") +INST(thumb16_STRB_imm, "STRB (imm)", "01110vvvvvnnnttt") +INST(thumb16_LDRB_imm, "LDRB (imm)", "01111vvvvvnnnttt") +INST(thumb16_STRH_imm, "STRH (imm)", "10000vvvvvnnnttt") +INST(thumb16_LDRH_imm, "LDRH (imm)", "10001vvvvvnnnttt") +INST(thumb16_STR_imm_t2, "STR (imm, T2)", "10010tttvvvvvvvv") +INST(thumb16_LDR_imm_t2, "LDR (imm, T2)", "10011tttvvvvvvvv") + +// Generate relative address instructions +INST(thumb16_ADR, "ADR", "10100dddvvvvvvvv") +INST(thumb16_ADD_sp_t1, "ADD (SP plus imm, T1)", "10101dddvvvvvvvv") +INST(thumb16_ADD_sp_t2, "ADD (SP plus imm, T2)", "101100000vvvvvvv") // v4T +INST(thumb16_SUB_sp, "SUB (SP minus imm)", "101100001vvvvvvv") // v4T + +// Hint instructions +INST(thumb16_SEV, "SEV", "1011111101000000") // v7 +INST(thumb16_SEVL, "SEVL", "1011111101010000") // v8 +INST(thumb16_WFE, "WFE", "1011111100100000") // v7 +INST(thumb16_WFI, "WFI", "1011111100110000") // v7 +INST(thumb16_YIELD, "YIELD", "1011111100010000") // v7 +INST(thumb16_NOP, "NOP", "10111111----0000") // v7 + +// IT instruction +INST(thumb16_IT, "IT", "10111111iiiiiiii") // v7 + +// Miscellaneous 16-bit instructions +INST(thumb16_SXTH, "SXTH", "1011001000mmmddd") // v6 +INST(thumb16_SXTB, "SXTB", "1011001001mmmddd") // v6 +INST(thumb16_UXTH, "UXTH", "1011001010mmmddd") // v6 +INST(thumb16_UXTB, "UXTB", "1011001011mmmddd") // v6 +INST(thumb16_PUSH, "PUSH", "1011010Mxxxxxxxx") // v4T +INST(thumb16_POP, "POP", "1011110Pxxxxxxxx") // v4T +INST(thumb16_SETEND, "SETEND", "101101100101x000") // v6 +INST(thumb16_CPS, "CPS", "10110110011m0aif") // v6 +INST(thumb16_REV, "REV", "1011101000mmmddd") // v6 +INST(thumb16_REV16, "REV16", "1011101001mmmddd") // v6 +INST(thumb16_REVSH, "REVSH", "1011101011mmmddd") // v6 +INST(thumb16_BKPT, "BKPT", "10111110xxxxxxxx") // v5 + +// Store/Load multiple registers +INST(thumb16_STMIA, "STMIA", "11000nnnxxxxxxxx") +INST(thumb16_LDMIA, "LDMIA", "11001nnnxxxxxxxx") + +// Branch instructions +INST(thumb16_BX, "BX", "010001110mmmm000") // v4T +INST(thumb16_BLX_reg, "BLX (reg)", "010001111mmmm000") // v5T +INST(thumb16_CBZ_CBNZ, "CBZ/CBNZ", "1011o0i1iiiiinnn") // v6T2 +INST(thumb16_UDF, "UDF", "11011110--------") +INST(thumb16_SVC, "SVC", "11011111xxxxxxxx") +INST(thumb16_B_t1, "B (T1)", "1101ccccvvvvvvvv") +INST(thumb16_B_t2, "B (T2)", "11100vvvvvvvvvvv") diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb32.h b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb32.h new file mode 100755 index 000000000..2d5d5b1e8 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb32.h @@ -0,0 +1,37 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/decoder/decoder_detail.h" +#include "dynarmic/frontend/decoder/matcher.h" + +namespace Dynarmic::A32 { + +template +using Thumb32Matcher = Decoder::Matcher; + +template +std::optional>> DecodeThumb32(u32 instruction) { + static const std::vector> table = { + +#define INST(fn, name, bitstring) DYNARMIC_DECODER_GET_MATCHER(Thumb32Matcher, fn, name, Decoder::detail::StringToArray<32>(bitstring)), +#include "./thumb32.inc" +#undef INST + + }; + + const auto matches_instruction = [instruction](const auto& matcher) { return matcher.Matches(instruction); }; + + auto iter = std::find_if(table.begin(), table.end(), matches_instruction); + return iter != table.end() ? std::optional>>(*iter) : std::nullopt; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb32.inc b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb32.inc new file mode 100755 index 000000000..33497108c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/thumb32.inc @@ -0,0 +1,290 @@ +// Load/Store Multiple +//INST(thumb32_SRS_1, "SRS", "1110100000-0--------------------") +//INST(thumb32_RFE_2, "RFE", "1110100000-1--------------------") +INST(thumb32_STMIA, "STMIA/STMEA", "1110100010W0nnnn0iiiiiiiiiiiiiii") +INST(thumb32_POP, "POP", "1110100010111101iiiiiiiiiiiiiiii") +INST(thumb32_LDMIA, "LDMIA/LDMFD", "1110100010W1nnnniiiiiiiiiiiiiiii") +INST(thumb32_PUSH, "PUSH", "11101001001011010iiiiiiiiiiiiiii") +INST(thumb32_STMDB, "STMDB/STMFD", "1110100100W0nnnn0iiiiiiiiiiiiiii") +INST(thumb32_LDMDB, "LDMDB/LDMEA", "1110100100W1nnnniiiiiiiiiiiiiiii") +//INST(thumb32_SRS_1, "SRS", "1110100110-0--------------------") +//INST(thumb32_RFE_2, "RFE", "1110100110-1--------------------") + +// Load/Store Dual, Load/Store Exclusive, Table Branch +INST(thumb32_STREX, "STREX", "111010000100nnnnttttddddiiiiiiii") +INST(thumb32_LDREX, "LDREX", "111010000101nnnntttt1111iiiiiiii") +INST(thumb32_STRD_imm_1, "STRD (imm)", "11101000U110nnnnttttssssiiiiiiii") +INST(thumb32_STRD_imm_2, "STRD (imm)", "11101001U1W0nnnnttttssssiiiiiiii") +INST(thumb32_LDRD_lit_1, "LDRD (lit)", "11101000U1111111ttttssssiiiiiiii") +INST(thumb32_LDRD_lit_2, "LDRD (lit)", "11101001U1W11111ttttssssiiiiiiii") +INST(thumb32_LDRD_imm_1, "LDRD (imm)", "11101000U111nnnnttttssssiiiiiiii") +INST(thumb32_LDRD_imm_2, "LDRD (imm)", "11101001U1W1nnnnttttssssiiiiiiii") +INST(thumb32_STREXB, "STREXB", "111010001100nnnntttt11110100dddd") +INST(thumb32_STREXH, "STREXH", "111010001100nnnntttt11110101dddd") +INST(thumb32_STREXD, "STREXD", "111010001100nnnnttttuuuu0111dddd") +INST(thumb32_TBB, "TBB", "111010001101nnnn111100000000mmmm") +INST(thumb32_TBH, "TBH", "111010001101nnnn111100000001mmmm") +INST(thumb32_LDREXB, "LDREXB", "111010001101nnnntttt111101001111") +INST(thumb32_LDREXH, "LDREXH", "111010001101nnnntttt111101011111") +INST(thumb32_LDREXD, "LDREXD", "111010001101nnnnttttuuuu01111111") + +// Data Processing (Shifted Register) +INST(thumb32_TST_reg, "TST (reg)", "111010100001nnnn0vvv1111vvttmmmm") +INST(thumb32_AND_reg, "AND (reg)", "11101010000Snnnn0vvvddddvvttmmmm") +INST(thumb32_BIC_reg, "BIC (reg)", "11101010001Snnnn0vvvddddvvttmmmm") +INST(thumb32_MOV_reg, "MOV (reg)", "11101010010S11110vvvddddvvttmmmm") +INST(thumb32_ORR_reg, "ORR (reg)", "11101010010Snnnn0vvvddddvvttmmmm") +INST(thumb32_MVN_reg, "MVN (reg)", "11101010011S11110vvvddddvvttmmmm") +INST(thumb32_ORN_reg, "ORN (reg)", "11101010011Snnnn0vvvddddvvttmmmm") +INST(thumb32_TEQ_reg, "TEQ (reg)", "111010101001nnnn0vvv1111vvttmmmm") +INST(thumb32_EOR_reg, "EOR (reg)", "11101010100Snnnn0vvvddddvvttmmmm") +INST(thumb32_PKH, "PKH", "111010101100nnnn0vvvddddvvt0mmmm") +INST(thumb32_CMN_reg, "CMN (reg)", "111010110001nnnn0vvv1111vvttmmmm") +INST(thumb32_ADD_reg, "ADD (reg)", "11101011000Snnnn0vvvddddvvttmmmm") +INST(thumb32_ADC_reg, "ADC (reg)", "11101011010Snnnn0vvvddddvvttmmmm") +INST(thumb32_SBC_reg, "SBC (reg)", "11101011011Snnnn0vvvddddvvttmmmm") +INST(thumb32_CMP_reg, "CMP (reg)", "111010111011nnnn0vvv1111vvttmmmm") +INST(thumb32_SUB_reg, "SUB (reg)", "11101011101Snnnn0vvvddddvvttmmmm") +INST(thumb32_RSB_reg, "RSB (reg)", "11101011110Snnnn0vvvddddvvttmmmm") + +// Data Processing (Modified Immediate) +INST(thumb32_TST_imm, "TST (imm)", "11110v000001nnnn0vvv1111vvvvvvvv") +INST(thumb32_AND_imm, "AND (imm)", "11110v00000Snnnn0vvvddddvvvvvvvv") +INST(thumb32_BIC_imm, "BIC (imm)", "11110v00001Snnnn0vvvddddvvvvvvvv") +INST(thumb32_MOV_imm, "MOV (imm)", "11110v00010S11110vvvddddvvvvvvvv") +INST(thumb32_ORR_imm, "ORR (imm)", "11110v00010Snnnn0vvvddddvvvvvvvv") +INST(thumb32_MVN_imm, "MVN (imm)", "11110v00011S11110vvvddddvvvvvvvv") +INST(thumb32_ORN_imm, "ORN (imm)", "11110v00011Snnnn0vvvddddvvvvvvvv") +INST(thumb32_TEQ_imm, "TEQ (imm)", "11110v001001nnnn0vvv1111vvvvvvvv") +INST(thumb32_EOR_imm, "EOR (imm)", "11110v00100Snnnn0vvvddddvvvvvvvv") +INST(thumb32_CMN_imm, "CMN (imm)", "11110v010001nnnn0vvv1111vvvvvvvv") +INST(thumb32_ADD_imm_1, "ADD (imm)", "11110v01000Snnnn0vvvddddvvvvvvvv") +INST(thumb32_ADC_imm, "ADC (imm)", "11110v01010Snnnn0vvvddddvvvvvvvv") +INST(thumb32_SBC_imm, "SBC (imm)", "11110v01011Snnnn0vvvddddvvvvvvvv") +INST(thumb32_CMP_imm, "CMP (imm)", "11110v011011nnnn0vvv1111vvvvvvvv") +INST(thumb32_SUB_imm_1, "SUB (imm)", "11110v01101Snnnn0vvvddddvvvvvvvv") +INST(thumb32_RSB_imm, "RSB (imm)", "11110v01110Snnnn0vvvddddvvvvvvvv") + +// Data Processing (Plain Binary Immediate) +INST(thumb32_ADR_t3, "ADR", "11110i10000011110iiiddddiiiiiiii") +INST(thumb32_ADD_imm_2, "ADD (imm)", "11110i100000nnnn0iiiddddiiiiiiii") +INST(thumb32_MOVW_imm, "MOVW (imm)", "11110i100100iiii0iiiddddiiiiiiii") +INST(thumb32_ADR_t2, "ADR", "11110i10101011110iiiddddiiiiiiii") +INST(thumb32_SUB_imm_2, "SUB (imm)", "11110i101010nnnn0iiiddddiiiiiiii") +INST(thumb32_MOVT, "MOVT", "11110i101100iiii0iiiddddiiiiiiii") +INST(thumb32_UDF, "Invalid decoding", "11110011-010----0000----0001----") +INST(thumb32_SSAT16, "SSAT16", "111100110010nnnn0000dddd0000iiii") +INST(thumb32_USAT16, "USAT16", "111100111010nnnn0000dddd0000iiii") +INST(thumb32_SSAT, "SSAT", "1111001100s0nnnn0iiiddddii0bbbbb") +INST(thumb32_USAT, "USAT", "1111001110s0nnnn0iiiddddii0bbbbb") +INST(thumb32_SBFX, "SBFX", "111100110100nnnn0iiiddddii0wwwww") +INST(thumb32_BFC, "BFC", "11110011011011110iiiddddii0bbbbb") +INST(thumb32_BFI, "BFI", "111100110110nnnn0iiiddddii0bbbbb") +INST(thumb32_UBFX, "UBFX", "111100111100nnnn0iiiddddii0wwwww") + +// Branches and Miscellaneous Control +//INST(thumb32_MSR_banked, "MSR (banked)", "11110011100-----10-0------1-----") +INST(thumb32_MSR_reg, "MSR (reg)", "11110011100Rnnnn1000mmmm00000000") + +INST(thumb32_NOP, "NOP", "11110011101011111000000000000000") +INST(thumb32_YIELD, "YIELD", "11110011101011111000000000000001") +INST(thumb32_WFE, "WFE", "11110011101011111000000000000010") +INST(thumb32_WFI, "WFI", "11110011101011111000000000000011") +INST(thumb32_SEV, "SEV", "11110011101011111000000000000100") +INST(thumb32_SEVL, "SEVL", "11110011101011111000000000000101") +//INST(thumb32_DBG, "DBG", "111100111010----10-0-0001111----") +//INST(thumb32_CPS, "CPS", "111100111010----10-0------------") + +//INST(thumb32_ENTERX, "ENTERX", "111100111011----10-0----0001----") +//INST(thumb32_LEAVEX, "LEAVEX", "111100111011----10-0----0000----") +INST(thumb32_CLREX, "CLREX", "11110011101111111000111100101111") +INST(thumb32_DSB, "DSB", "1111001110111111100011110100oooo") +INST(thumb32_DMB, "DMB", "1111001110111111100011110101oooo") +INST(thumb32_ISB, "ISB", "1111001110111111100011110110oooo") + +INST(thumb32_BXJ, "BXJ", "111100111100mmmm1000111100000000") +//INST(thumb32_ERET, "ERET", "11110011110111101000111100000000") +//INST(thumb32_SUBS_pc_lr, "SUBS PC, LR", "111100111101111010001111--------") + +//INST(thumb32_MRS_banked, "MRS (banked)", "11110011111-----10-0------1-----") +INST(thumb32_MRS_reg, "MRS (reg)", "11110011111R11111000dddd00000000") +//INST(thumb32_HVC, "HVC", "111101111110----1000------------") +//INST(thumb32_SMC, "SMC", "111101111111----1000000000000000") +INST(thumb32_UDF, "UDF", "111101111111----1010------------") // v6T2 + +// Branch instructions +INST(thumb32_BL_imm, "BL (imm)", "11110Svvvvvvvvvv11j1jvvvvvvvvvvv") // v4T +INST(thumb32_BLX_imm, "BLX (imm)", "11110Svvvvvvvvvv11j0jvvvvvvvvvvv") // v5T +INST(thumb32_B, "B", "11110Svvvvvvvvvv10j1jvvvvvvvvvvv") +INST(thumb32_UDF, "Invalid decoding", "11110-111-------10-0------------") +INST(thumb32_B_cond, "B (cond)", "11110Sccccvvvvvv10i0ivvvvvvvvvvv") + +// Store Single Data Item +INST(thumb32_STRB_imm_1, "STRB (imm)", "111110000000nnnntttt1PU1iiiiiiii") +INST(thumb32_STRB_imm_2, "STRB (imm)", "111110000000nnnntttt1100iiiiiiii") +INST(thumb32_STRB_imm_3, "STRB (imm)", "111110001000nnnnttttiiiiiiiiiiii") +INST(thumb32_STRBT, "STRBT", "111110000000nnnntttt1110iiiiiiii") +INST(thumb32_STRB, "STRB (reg)", "111110000000nnnntttt000000iimmmm") +INST(thumb32_STRH_imm_1, "STRH (imm)", "111110000010nnnntttt1PU1iiiiiiii") +INST(thumb32_STRH_imm_2, "STRH (imm)", "111110000010nnnntttt1100iiiiiiii") +INST(thumb32_STRH_imm_3, "STRH (imm)", "111110001010nnnnttttiiiiiiiiiiii") +INST(thumb32_STRHT, "STRHT", "111110000010nnnntttt1110iiiiiiii") +INST(thumb32_STRH, "STRH (reg)", "111110000010nnnntttt000000iimmmm") +INST(thumb32_STR_imm_1, "STR (imm)", "111110000100nnnntttt1PU1iiiiiiii") +INST(thumb32_STR_imm_2, "STR (imm)", "111110000100nnnntttt1100iiiiiiii") +INST(thumb32_STR_imm_3, "STR (imm)", "111110001100nnnnttttiiiiiiiiiiii") +INST(thumb32_STRT, "STRT", "111110000100nnnntttt1110iiiiiiii") +INST(thumb32_STR_reg, "STR (reg)", "111110000100nnnntttt000000iimmmm") + +// Load Byte and Memory Hints +INST(thumb32_PLD_lit, "PLD (lit)", "11111000U00111111111iiiiiiiiiiii") +INST(thumb32_PLD_lit, "PLD (lit)", "11111000U01111111111iiiiiiiiiiii") +INST(thumb32_PLD_reg, "PLD (reg)", "1111100000W1nnnn1111000000iimmmm") +INST(thumb32_PLD_imm8, "PLD (imm8)", "1111100000W1nnnn11111100iiiiiiii") +INST(thumb32_PLD_imm12, "PLD (imm12)", "1111100010W1nnnn1111iiiiiiiiiiii") +INST(thumb32_PLI_lit, "PLI (lit)", "11111001U00111111111iiiiiiiiiiii") +INST(thumb32_PLI_reg, "PLI (reg)", "111110010001nnnn1111000000iimmmm") +INST(thumb32_PLI_imm8, "PLI (imm8)", "111110010001nnnn11111100iiiiiiii") +INST(thumb32_PLI_imm12, "PLI (imm12)", "111110011001nnnn1111iiiiiiiiiiii") +INST(thumb32_LDRB_lit, "LDRB (lit)", "11111000U0011111ttttiiiiiiiiiiii") +INST(thumb32_LDRB_reg, "LDRB (reg)", "111110000001nnnntttt000000iimmmm") +INST(thumb32_LDRBT, "LDRBT", "111110000001nnnntttt1110iiiiiiii") +INST(thumb32_LDRB_imm8, "LDRB (imm8)", "111110000001nnnntttt1PUWiiiiiiii") +INST(thumb32_LDRB_imm12, "LDRB (imm12)", "111110001001nnnnttttiiiiiiiiiiii") +INST(thumb32_LDRSB_lit, "LDRSB (lit)", "11111001U0011111ttttiiiiiiiiiiii") +INST(thumb32_LDRSB_reg, "LDRSB (reg)", "111110010001nnnntttt000000iimmmm") +INST(thumb32_LDRSBT, "LDRSBT", "111110010001nnnntttt1110iiiiiiii") +INST(thumb32_LDRSB_imm8, "LDRSB (imm8)", "111110010001nnnntttt1PUWiiiiiiii") +INST(thumb32_LDRSB_imm12, "LDRSB (imm12)", "111110011001nnnnttttiiiiiiiiiiii") + +// Load Halfword and Memory Hints +INST(thumb32_LDRH_lit, "LDRH (lit)", "11111000U0111111ttttiiiiiiiiiiii") +INST(thumb32_LDRH_reg, "LDRH (reg)", "111110000011nnnntttt000000iimmmm") +INST(thumb32_LDRHT, "LDRHT", "111110000011nnnntttt1110iiiiiiii") +INST(thumb32_LDRH_imm8, "LDRH (imm8)", "111110000011nnnntttt1PUWiiiiiiii") +INST(thumb32_LDRH_imm12, "LDRH (imm12)", "111110001011nnnnttttiiiiiiiiiiii") +INST(thumb32_NOP, "NOP", "11111001-01111111111------------") +INST(thumb32_LDRSH_lit, "LDRSH (lit)", "11111001U0111111ttttiiiiiiiiiiii") +INST(thumb32_NOP, "NOP", "111110010011----1111000000------") +INST(thumb32_LDRSH_reg, "LDRSH (reg)", "111110010011nnnntttt000000iimmmm") +INST(thumb32_LDRSHT, "LDRSHT", "111110010011nnnntttt1110iiiiiiii") +INST(thumb32_NOP, "NOP", "111110010011----11111100--------") +INST(thumb32_NOP, "NOP", "111110011011----1111------------") +INST(thumb32_LDRSH_imm8, "LDRSH (imm8)", "111110010011nnnntttt1PUWiiiiiiii") +INST(thumb32_LDRSH_imm12, "LDRSH (imm12)", "111110011011nnnnttttiiiiiiiiiiii") + +// Load Word +INST(thumb32_LDR_lit, "LDR (lit)", "11111000U1011111ttttiiiiiiiiiiii") +INST(thumb32_LDRT, "LDRT", "111110000101nnnntttt1110iiiiiiii") +INST(thumb32_LDR_reg, "LDR (reg)", "111110000101nnnntttt000000iimmmm") +INST(thumb32_LDR_imm8, "LDR (imm8)", "111110000101nnnntttt1PUWiiiiiiii") +INST(thumb32_LDR_imm12, "LDR (imm12)", "111110001101nnnnttttiiiiiiiiiiii") + +// Data Processing (register) +INST(thumb32_LSL_reg, "LSL (reg)", "11111010000Smmmm1111dddd0000ssss") +INST(thumb32_LSR_reg, "LSR (reg)", "11111010001Smmmm1111dddd0000ssss") +INST(thumb32_ASR_reg, "ASR (reg)", "11111010010Smmmm1111dddd0000ssss") +INST(thumb32_ROR_reg, "ROR (reg)", "11111010011Smmmm1111dddd0000ssss") +INST(thumb32_SXTH, "SXTH", "11111010000011111111dddd10rrmmmm") +INST(thumb32_SXTAH, "SXTAH", "111110100000nnnn1111dddd10rrmmmm") +INST(thumb32_UXTH, "UXTH", "11111010000111111111dddd10rrmmmm") +INST(thumb32_UXTAH, "UXTAH", "111110100001nnnn1111dddd10rrmmmm") +INST(thumb32_SXTB16, "SXTB16", "11111010001011111111dddd10rrmmmm") +INST(thumb32_SXTAB16, "SXTAB16", "111110100010nnnn1111dddd10rrmmmm") +INST(thumb32_UXTB16, "UXTB16", "11111010001111111111dddd10rrmmmm") +INST(thumb32_UXTAB16, "UXTAB16", "111110100011nnnn1111dddd10rrmmmm") +INST(thumb32_SXTB, "SXTB", "11111010010011111111dddd10rrmmmm") +INST(thumb32_SXTAB, "SXTAB", "111110100100nnnn1111dddd10rrmmmm") +INST(thumb32_UXTB, "UXTB", "11111010010111111111dddd10rrmmmm") +INST(thumb32_UXTAB, "UXTAB", "111110100101nnnn1111dddd10rrmmmm") + +// Parallel Addition and Subtraction (signed) +INST(thumb32_SADD16, "SADD16", "111110101001nnnn1111dddd0000mmmm") +INST(thumb32_SASX, "SASX", "111110101010nnnn1111dddd0000mmmm") +INST(thumb32_SSAX, "SSAX", "111110101110nnnn1111dddd0000mmmm") +INST(thumb32_SSUB16, "SSUB16", "111110101101nnnn1111dddd0000mmmm") +INST(thumb32_SADD8, "SADD8", "111110101000nnnn1111dddd0000mmmm") +INST(thumb32_SSUB8, "SSUB8", "111110101100nnnn1111dddd0000mmmm") +INST(thumb32_QADD16, "QADD16", "111110101001nnnn1111dddd0001mmmm") +INST(thumb32_QASX, "QASX", "111110101010nnnn1111dddd0001mmmm") +INST(thumb32_QSAX, "QSAX", "111110101110nnnn1111dddd0001mmmm") +INST(thumb32_QSUB16, "QSUB16", "111110101101nnnn1111dddd0001mmmm") +INST(thumb32_QADD8, "QADD8", "111110101000nnnn1111dddd0001mmmm") +INST(thumb32_QSUB8, "QSUB8", "111110101100nnnn1111dddd0001mmmm") +INST(thumb32_SHADD16, "SHADD16", "111110101001nnnn1111dddd0010mmmm") +INST(thumb32_SHASX, "SHASX", "111110101010nnnn1111dddd0010mmmm") +INST(thumb32_SHSAX, "SHSAX", "111110101110nnnn1111dddd0010mmmm") +INST(thumb32_SHSUB16, "SHSUB16", "111110101101nnnn1111dddd0010mmmm") +INST(thumb32_SHADD8, "SHADD8", "111110101000nnnn1111dddd0010mmmm") +INST(thumb32_SHSUB8, "SHSUB8", "111110101100nnnn1111dddd0010mmmm") + +// Parallel Addition and Subtraction (unsigned) +INST(thumb32_UADD16, "UADD16", "111110101001nnnn1111dddd0100mmmm") +INST(thumb32_UASX, "UASX", "111110101010nnnn1111dddd0100mmmm") +INST(thumb32_USAX, "USAX", "111110101110nnnn1111dddd0100mmmm") +INST(thumb32_USUB16, "USUB16", "111110101101nnnn1111dddd0100mmmm") +INST(thumb32_UADD8, "UADD8", "111110101000nnnn1111dddd0100mmmm") +INST(thumb32_USUB8, "USUB8", "111110101100nnnn1111dddd0100mmmm") +INST(thumb32_UQADD16, "UQADD16", "111110101001nnnn1111dddd0101mmmm") +INST(thumb32_UQASX, "UQASX", "111110101010nnnn1111dddd0101mmmm") +INST(thumb32_UQSAX, "UQSAX", "111110101110nnnn1111dddd0101mmmm") +INST(thumb32_UQSUB16, "UQSUB16", "111110101101nnnn1111dddd0101mmmm") +INST(thumb32_UQADD8, "UQADD8", "111110101000nnnn1111dddd0101mmmm") +INST(thumb32_UQSUB8, "UQSUB8", "111110101100nnnn1111dddd0101mmmm") +INST(thumb32_UHADD16, "UHADD16", "111110101001nnnn1111dddd0110mmmm") +INST(thumb32_UHASX, "UHASX", "111110101010nnnn1111dddd0110mmmm") +INST(thumb32_UHSAX, "UHSAX", "111110101110nnnn1111dddd0110mmmm") +INST(thumb32_UHSUB16, "UHSUB16", "111110101101nnnn1111dddd0110mmmm") +INST(thumb32_UHADD8, "UHADD8", "111110101000nnnn1111dddd0110mmmm") +INST(thumb32_UHSUB8, "UHSUB8", "111110101100nnnn1111dddd0110mmmm") + +// Miscellaneous Operations +INST(thumb32_QADD, "QADD", "111110101000nnnn1111dddd1000mmmm") +INST(thumb32_QDADD, "QDADD", "111110101000nnnn1111dddd1001mmmm") +INST(thumb32_QSUB, "QSUB", "111110101000nnnn1111dddd1010mmmm") +INST(thumb32_QDSUB, "QDSUB", "111110101000nnnn1111dddd1011mmmm") +INST(thumb32_REV, "REV", "111110101001nnnn1111dddd1000mmmm") +INST(thumb32_REV16, "REV16", "111110101001nnnn1111dddd1001mmmm") +INST(thumb32_RBIT, "RBIT", "111110101001nnnn1111dddd1010mmmm") +INST(thumb32_REVSH, "REVSH", "111110101001nnnn1111dddd1011mmmm") +INST(thumb32_SEL, "SEL", "111110101010nnnn1111dddd1000mmmm") +INST(thumb32_CLZ, "CLZ", "111110101011nnnn1111dddd1000mmmm") + +// Multiply, Multiply Accumulate, and Absolute Difference +INST(thumb32_MUL, "MUL", "111110110000nnnn1111dddd0000mmmm") +INST(thumb32_MLA, "MLA", "111110110000nnnnaaaadddd0000mmmm") +INST(thumb32_MLS, "MLS", "111110110000nnnnaaaadddd0001mmmm") +INST(thumb32_SMULXY, "SMULXY", "111110110001nnnn1111dddd00NMmmmm") +INST(thumb32_SMLAXY, "SMLAXY", "111110110001nnnnaaaadddd00NMmmmm") +INST(thumb32_SMUAD, "SMUAD", "111110110010nnnn1111dddd000Mmmmm") +INST(thumb32_SMLAD, "SMLAD", "111110110010nnnnaaaadddd000Xmmmm") +INST(thumb32_SMULWY, "SMULWY", "111110110011nnnn1111dddd000Mmmmm") +INST(thumb32_SMLAWY, "SMLAWY", "111110110011nnnnaaaadddd000Mmmmm") +INST(thumb32_SMUSD, "SMUSD", "111110110100nnnn1111dddd000Mmmmm") +INST(thumb32_SMLSD, "SMLSD", "111110110100nnnnaaaadddd000Xmmmm") +INST(thumb32_SMMUL, "SMMUL", "111110110101nnnn1111dddd000Rmmmm") +INST(thumb32_SMMLA, "SMMLA", "111110110101nnnnaaaadddd000Rmmmm") +INST(thumb32_SMMLS, "SMMLS", "111110110110nnnnaaaadddd000Rmmmm") +INST(thumb32_USAD8, "USAD8", "111110110111nnnn1111dddd0000mmmm") +INST(thumb32_USADA8, "USADA8", "111110110111nnnnaaaadddd0000mmmm") + +// Long Multiply, Long Multiply Accumulate, and Divide +INST(thumb32_SMULL, "SMULL", "111110111000nnnnllllhhhh0000mmmm") +INST(thumb32_SDIV, "SDIV", "111110111001nnnn1111dddd1111mmmm") +INST(thumb32_UMULL, "UMULL", "111110111010nnnnllllhhhh0000mmmm") +INST(thumb32_UDIV, "UDIV", "111110111011nnnn1111dddd1111mmmm") +INST(thumb32_SMLAL, "SMLAL", "111110111100nnnnllllhhhh0000mmmm") +INST(thumb32_SMLALXY, "SMLALXY", "111110111100nnnnllllhhhh10NMmmmm") +INST(thumb32_SMLALD, "SMLALD", "111110111100nnnnllllhhhh110Mmmmm") +INST(thumb32_SMLSLD, "SMLSLD", "111110111101nnnnllllhhhh110Mmmmm") +INST(thumb32_UMLAL, "UMLAL", "111110111110nnnnllllhhhh0000mmmm") +INST(thumb32_UMAAL, "UMAAL", "111110111110nnnnllllhhhh0110mmmm") + +// Coprocessor +INST(thumb32_MCRR, "MCRR", "111o11000100uuuuttttppppooooMMMM") +INST(thumb32_MRRC, "MRRC", "111o11000101uuuuttttppppooooMMMM") +INST(thumb32_STC, "STC", "111o110pudw0nnnnDDDDppppvvvvvvvv") +INST(thumb32_LDC, "LDC", "111o110pudw1nnnnDDDDppppvvvvvvvv") +INST(thumb32_CDP, "CDP", "111o1110ooooNNNNDDDDppppooo0MMMM") +INST(thumb32_MCR, "MCR", "111o1110ooo0NNNNttttppppooo1MMMM") +INST(thumb32_MRC, "MRC", "111o1110ooo1NNNNttttppppooo1MMMM") diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/vfp.h b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/vfp.h new file mode 100755 index 000000000..62b1288a8 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/vfp.h @@ -0,0 +1,57 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2032 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/decoder/decoder_detail.h" +#include "dynarmic/frontend/decoder/matcher.h" + +namespace Dynarmic::A32 { + +template +using VFPMatcher = Decoder::Matcher; + +template +std::optional>> DecodeVFP(u32 instruction) { + using Table = std::vector>; + + static const struct Tables { + Table unconditional; + Table conditional; + } tables = [] { + Table list = { + +#define INST(fn, name, bitstring) DYNARMIC_DECODER_GET_MATCHER(VFPMatcher, fn, name, Decoder::detail::StringToArray<32>(bitstring)), +#include "./vfp.inc" +#undef INST + + }; + + const auto division = std::stable_partition(list.begin(), list.end(), [&](const auto& matcher) { + return (matcher.GetMask() & 0xF0000000) == 0xF0000000; + }); + + return Tables{ + Table{list.begin(), division}, + Table{division, list.end()}, + }; + }(); + + const bool is_unconditional = (instruction & 0xF0000000) == 0xF0000000; + const Table& table = is_unconditional ? tables.unconditional : tables.conditional; + + const auto matches_instruction = [instruction](const auto& matcher) { return matcher.Matches(instruction); }; + + auto iter = std::find_if(table.begin(), table.end(), matches_instruction); + return iter != table.end() ? std::optional>>(*iter) : std::nullopt; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/decoder/vfp.inc b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/vfp.inc new file mode 100755 index 000000000..21c9b78d7 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/decoder/vfp.inc @@ -0,0 +1,71 @@ +// Floating-point three-register data processing instructions +INST(vfp_VMLA, "VMLA", "cccc11100D00nnnndddd101zN0M0mmmm") // VFPv2 +INST(vfp_VMLS, "VMLS", "cccc11100D00nnnndddd101zN1M0mmmm") // VFPv2 +INST(vfp_VNMLS, "VNMLS", "cccc11100D01nnnndddd101zN0M0mmmm") // VFPv2 +INST(vfp_VNMLA, "VNMLA", "cccc11100D01nnnndddd101zN1M0mmmm") // VFPv2 +INST(vfp_VMUL, "VMUL", "cccc11100D10nnnndddd101zN0M0mmmm") // VFPv2 +INST(vfp_VNMUL, "VNMUL", "cccc11100D10nnnndddd101zN1M0mmmm") // VFPv2 +INST(vfp_VADD, "VADD", "cccc11100D11nnnndddd101zN0M0mmmm") // VFPv2 +INST(vfp_VSUB, "VSUB", "cccc11100D11nnnndddd101zN1M0mmmm") // VFPv2 +INST(vfp_VDIV, "VDIV", "cccc11101D00nnnndddd101zN0M0mmmm") // VFPv2 +INST(vfp_VFNMS, "VFNMS", "cccc11101D01nnnndddd101zN0M0mmmm") // VFPv4 +INST(vfp_VFNMA, "VFNMA", "cccc11101D01nnnndddd101zN1M0mmmm") // VFPv4 +INST(vfp_VFMA, "VFMA", "cccc11101D10nnnndddd101zN0M0mmmm") // VFPv4 +INST(vfp_VFMS, "VFMS", "cccc11101D10nnnndddd101zN1M0mmmm") // VFPv4 +INST(vfp_VSEL, "VSEL", "111111100Dccnnnndddd101zN0M0mmmm") // VFPv5 +INST(vfp_VMAXNM, "VMAXNNM", "111111101D00nnnndddd101zN0M0mmmm") // VFPv5 +INST(vfp_VMINNM, "VMINNM", "111111101D00nnnndddd101zN1M0mmmm") // VFPv5 + +// Other floating-point data-processing instructions +INST(vfp_VMOV_imm, "VMOV (immediate)", "cccc11101D11vvvvdddd101z0000vvvv") // VFPv3 +INST(vfp_VMOV_reg, "VMOV (reg)", "cccc11101D110000dddd101z01M0mmmm") // VFPv2 +INST(vfp_VABS, "VABS", "cccc11101D110000dddd101z11M0mmmm") // VFPv2 +INST(vfp_VNEG, "VNEG", "cccc11101D110001dddd101z01M0mmmm") // VFPv2 +INST(vfp_VSQRT, "VSQRT", "cccc11101D110001dddd101z11M0mmmm") // VFPv2 +INST(vfp_VCVTB, "VCVTB", "cccc11101D11001odddd101z01M0mmmm") // VFPv3HP +INST(vfp_VCVTT, "VCVTT", "cccc11101D11001odddd101z11M0mmmm") // VFPv3HP +INST(vfp_VCMP, "VCMP", "cccc11101D110100dddd101zE1M0mmmm") // VFPv2 +INST(vfp_VCMP_zero, "VCMP (with zero)", "cccc11101D110101dddd101zE1000000") // VFPv2 +INST(vfp_VRINTR, "VRINTR", "cccc11101D110110dddd101z01M0mmmm") // VFPv5 +INST(vfp_VRINTZ, "VRINTZ", "cccc11101D110110dddd101z11M0mmmm") // VFPv5 +INST(vfp_VRINTX, "VRINTX", "cccc11101D110111dddd101z01M0mmmm") // VFPv5 +INST(vfp_VCVT_f_to_f, "VCVT (f32<->f64)", "cccc11101D110111dddd101z11M0mmmm") // VFPv2 +INST(vfp_VCVT_from_int, "VCVT (from int)", "cccc11101D111000dddd101zs1M0mmmm") // VFPv2 +INST(vfp_VCVT_from_fixed, "VCVT (from fixed)", "cccc11101D11101Udddd101zx1i0vvvv") // VFPv3 +INST(vfp_VCVT_to_u32, "VCVT (to u32)", "cccc11101D111100dddd101zr1M0mmmm") // VFPv2 +INST(vfp_VCVT_to_s32, "VCVT (to s32)", "cccc11101D111101dddd101zr1M0mmmm") // VFPv2 +INST(vfp_VCVT_to_fixed, "VCVT (to fixed)", "cccc11101D11111Udddd101zx1i0vvvv") // VFPv3 +INST(vfp_VRINT_rm, "VRINT{A,N,P,M}", "111111101D1110mmdddd101z01M0mmmm") // VFPv5 +INST(vfp_VCVT_rm, "VCVT{A,N,P,M}", "111111101D1111mmdddd101zU1M0mmmm") // VFPv5 + +// Floating-point move instructions +INST(vfp_VMOV_u32_f64, "VMOV (core to f64)", "cccc11100000ddddtttt1011D0010000") // VFPv2 +INST(vfp_VMOV_f64_u32, "VMOV (f64 to core)", "cccc11100001nnnntttt1011N0010000") // VFPv2 +INST(vfp_VMOV_u32_f32, "VMOV (core to f32)", "cccc11100000nnnntttt1010N0010000") // VFPv2 +INST(vfp_VMOV_f32_u32, "VMOV (f32 to core)", "cccc11100001nnnntttt1010N0010000") // VFPv2 +INST(vfp_VMOV_2u32_2f32, "VMOV (2xcore to 2xf32)", "cccc11000100uuuutttt101000M1mmmm") // VFPv2 +INST(vfp_VMOV_2f32_2u32, "VMOV (2xf32 to 2xcore)", "cccc11000101uuuutttt101000M1mmmm") // VFPv2 +INST(vfp_VMOV_2u32_f64, "VMOV (2xcore to f64)", "cccc11000100uuuutttt101100M1mmmm") // VFPv2 +INST(vfp_VMOV_f64_2u32, "VMOV (f64 to 2xcore)", "cccc11000101uuuutttt101100M1mmmm") // VFPv2 +INST(vfp_VMOV_from_i32, "VMOV (core to i32)" , "cccc111000i0nnnntttt1011N0010000") // VFPv4 +INST(vfp_VMOV_from_i16, "VMOV (core to i16)" , "cccc111000i0nnnntttt1011Ni110000") // ASIMD +INST(vfp_VMOV_from_i8, "VMOV (core to i8)", "cccc111001i0nnnntttt1011Nii10000") // ASIMD +INST(vfp_VMOV_to_i32, "VMOV (i32 to core)" , "cccc111000i1nnnntttt1011N0010000") // VFPv4 +INST(vfp_VMOV_to_i16, "VMOV (i16 to core)" , "cccc1110U0i1nnnntttt1011Ni110000") // ASIMD +INST(vfp_VMOV_to_i8, "VMOV (i8 to core)", "cccc1110U1i1nnnntttt1011Nii10000") // ASIMD +INST(vfp_VDUP, "VDUP (from core)", "cccc11101BQ0ddddtttt1011D0E10000") // ASIMD + +// Floating-point system register access +INST(vfp_VMSR, "VMSR", "cccc111011100001tttt101000010000") // VFPv2 +INST(vfp_VMRS, "VMRS", "cccc111011110001tttt101000010000") // VFPv2 + +// Extension register load-store instructions +INST(vfp_VPUSH, "VPUSH", "cccc11010D101101dddd101zvvvvvvvv") // VFPv2 +INST(vfp_VPOP, "VPOP", "cccc11001D111101dddd101zvvvvvvvv") // VFPv2 +INST(vfp_VLDR, "VLDR", "cccc1101UD01nnnndddd101zvvvvvvvv") // VFPv2 +INST(vfp_VSTR, "VSTR", "cccc1101UD00nnnndddd101zvvvvvvvv") // VFPv2 +INST(arm_UDF, "Undefined VSTM/VLDM", "----11000-0---------101---------") // VFPv2 +INST(vfp_VSTM_a1, "VSTM (A1)", "cccc110puDw0nnnndddd1011vvvvvvvv") // VFPv2 +INST(vfp_VSTM_a2, "VSTM (A2)", "cccc110puDw0nnnndddd1010vvvvvvvv") // VFPv2 +INST(vfp_VLDM_a1, "VLDM (A1)", "cccc110puDw1nnnndddd1011vvvvvvvv") // VFPv2 +INST(vfp_VLDM_a2, "VLDM (A2)", "cccc110puDw1nnnndddd1010vvvvvvvv") // VFPv2 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler.h b/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler.h new file mode 100755 index 000000000..65dac998b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler.h @@ -0,0 +1,17 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::A32 { + +std::string DisassembleArm(u32 instruction); +std::string DisassembleThumb16(u16 instruction); + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler_arm.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler_arm.cpp new file mode 100755 index 000000000..8911354da --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler_arm.cpp @@ -0,0 +1,1583 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/string_util.h" +#include "dynarmic/frontend/A32/decoder/arm.h" +#include "dynarmic/frontend/A32/decoder/vfp.h" +#include "dynarmic/frontend/A32/disassembler/disassembler.h" +#include "dynarmic/frontend/A32/types.h" +#include "dynarmic/frontend/imm.h" + +namespace Dynarmic::A32 { + +class DisassemblerVisitor { +public: + using instruction_return_type = std::string; + + static u32 ArmExpandImm(int rotate, Imm<8> imm8) { + return Common::RotateRight(static_cast(imm8.ZeroExtend()), rotate * 2); + } + + static std::string ShiftStr(ShiftType shift, Imm<5> imm5) { + switch (shift) { + case ShiftType::LSL: + if (imm5 == 0) + return ""; + return fmt::format(", lsl #{}", imm5.ZeroExtend()); + case ShiftType::LSR: + if (imm5 == 0) + return ", lsr #32"; + return fmt::format(", lsr #{}", imm5.ZeroExtend()); + case ShiftType::ASR: + if (imm5 == 0) + return ", asr #32"; + return fmt::format(", asr #{}", imm5.ZeroExtend()); + case ShiftType::ROR: + if (imm5 == 0) + return ", rrx"; + return fmt::format(", ror #{}", imm5.ZeroExtend()); + } + ASSERT(false); + return ""; + } + + static std::string RsrStr(Reg s, ShiftType shift, Reg m) { + switch (shift) { + case ShiftType::LSL: + return fmt::format("{}, lsl {}", m, s); + case ShiftType::LSR: + return fmt::format("{}, lsr {}", m, s); + case ShiftType::ASR: + return fmt::format("{}, asr {}", m, s); + case ShiftType::ROR: + return fmt::format("{}, ror {}", m, s); + } + ASSERT(false); + return ""; + } + + static std::string RorStr(Reg m, SignExtendRotation rotate) { + switch (rotate) { + case SignExtendRotation::ROR_0: + return RegToString(m); + case SignExtendRotation::ROR_8: + return fmt::format("{}, ror #8", m); + case SignExtendRotation::ROR_16: + return fmt::format("{}, ror #16", m); + case SignExtendRotation::ROR_24: + return fmt::format("{}, ror #24", m); + } + ASSERT(false); + return ""; + } + + static const char* BarrierOptionStr(Imm<4> option) { + switch (option.ZeroExtend()) { + case 0b0010: + return " oshst"; + case 0b0011: + return " osh"; + case 0b0110: + return " nshst"; + case 0b0111: + return " nsh"; + case 0b1010: + return " ishst"; + case 0b1011: + return " ish"; + case 0b1110: + return " st"; + case 0b1111: // SY can be omitted. + return ""; + default: + return " unknown"; + } + } + + static std::string FPRegStr(bool dp_operation, size_t base, bool bit) { + size_t reg_num; + if (dp_operation) { + reg_num = base + (bit ? 16 : 0); + } else { + reg_num = (base << 1) + (bit ? 1 : 0); + } + return fmt::format("{}{}", dp_operation ? 'd' : 's', reg_num); + } + + static std::string FPNextRegStr(bool dp_operation, size_t base, bool bit) { + size_t reg_num; + if (dp_operation) { + reg_num = base + (bit ? 16 : 0); + } else { + reg_num = (base << 1) + (bit ? 1 : 0); + } + return fmt::format("{}{}", dp_operation ? 'd' : 's', reg_num + 1); + } + + static std::string VectorStr(bool Q, size_t base, bool bit) { + size_t reg_num; + if (Q) { + reg_num = (base >> 1) + (bit ? 8 : 0); + } else { + reg_num = base + (bit ? 16 : 0); + } + return fmt::format("{}{}", Q ? 'q' : 'd', reg_num); + } + + static std::string CondOrTwo(Cond cond) { + return cond == Cond::NV ? "2" : CondToString(cond); + } + + // Barrier instructions + std::string arm_DMB(Imm<4> option) { + return fmt::format("dmb{}", BarrierOptionStr(option)); + } + std::string arm_DSB(Imm<4> option) { + return fmt::format("dsb{}", BarrierOptionStr(option)); + } + std::string arm_ISB([[maybe_unused]] Imm<4> option) { + return "isb"; + } + + // Branch instructions + std::string arm_B(Cond cond, Imm<24> imm24) { + const s32 offset = Common::SignExtend<26, s32>(imm24.ZeroExtend() << 2) + 8; + return fmt::format("b{} {}#{}", CondToString(cond), Common::SignToChar(offset), abs(offset)); + } + std::string arm_BL(Cond cond, Imm<24> imm24) { + const s32 offset = Common::SignExtend<26, s32>(imm24.ZeroExtend() << 2) + 8; + return fmt::format("bl{} {}#{}", CondToString(cond), Common::SignToChar(offset), abs(offset)); + } + std::string arm_BLX_imm(bool H, Imm<24> imm24) { + const s32 offset = Common::SignExtend<26, s32>(imm24.ZeroExtend() << 2) + 8 + (H ? 2 : 0); + return fmt::format("blx {}#{}", Common::SignToChar(offset), abs(offset)); + } + std::string arm_BLX_reg(Cond cond, Reg m) { + return fmt::format("blx{} {}", CondToString(cond), m); + } + std::string arm_BX(Cond cond, Reg m) { + return fmt::format("bx{} {}", CondToString(cond), m); + } + std::string arm_BXJ(Cond cond, Reg m) { + return fmt::format("bxj{} {}", CondToString(cond), m); + } + + // Coprocessor instructions + std::string arm_CDP(Cond cond, size_t opc1, CoprocReg CRn, CoprocReg CRd, size_t coproc_no, size_t opc2, CoprocReg CRm) { + return fmt::format("cdp{} p{}, #{}, {}, {}, {}, #{}", CondToString(cond), coproc_no, opc1, CRd, CRn, CRm, opc2); + } + + std::string arm_LDC(Cond cond, bool p, bool u, bool d, bool w, Reg n, CoprocReg CRd, size_t coproc_no, Imm<8> imm8) { + const u32 imm32 = static_cast(imm8.ZeroExtend()) << 2; + if (!p && !u && !d && !w) { + return ""; + } + if (p) { + return fmt::format("ldc{}{} {}, {}, [{}, #{}{}]{}", d ? "l" : "", + CondOrTwo(cond), coproc_no, CRd, n, u ? "+" : "-", imm32, + w ? "!" : ""); + } + if (!p && w) { + return fmt::format("ldc{}{} {}, {}, [{}], #{}{}", d ? "l" : "", + CondOrTwo(cond), coproc_no, CRd, n, u ? "+" : "-", imm32); + } + if (!p && !w && u) { + return fmt::format("ldc{}{} {}, {}, [{}], {}", d ? "l" : "", + CondOrTwo(cond), coproc_no, CRd, n, imm8.ZeroExtend()); + } + UNREACHABLE(); + } + + std::string arm_MCR(Cond cond, size_t opc1, CoprocReg CRn, Reg t, size_t coproc_no, size_t opc2, CoprocReg CRm) { + return fmt::format("mcr{} p{}, #{}, {}, {}, {}, #{}", CondOrTwo(cond), coproc_no, opc1, t, CRn, CRm, opc2); + } + + std::string arm_MCRR(Cond cond, Reg t2, Reg t, size_t coproc_no, size_t opc, CoprocReg CRm) { + return fmt::format("mcr{} p{}, #{}, {}, {}, {}", CondOrTwo(cond), coproc_no, opc, t, t2, CRm); + } + + std::string arm_MRC(Cond cond, size_t opc1, CoprocReg CRn, Reg t, size_t coproc_no, size_t opc2, CoprocReg CRm) { + return fmt::format("mrc{} p{}, #{}, {}, {}, {}, #{}", CondOrTwo(cond), coproc_no, opc1, t, CRn, CRm, opc2); + } + + std::string arm_MRRC(Cond cond, Reg t2, Reg t, size_t coproc_no, size_t opc, CoprocReg CRm) { + return fmt::format("mrrc{} p{}, #{}, {}, {}, {}", CondOrTwo(cond), coproc_no, opc, t, t2, CRm); + } + + std::string arm_STC(Cond cond, bool p, bool u, bool d, bool w, Reg n, CoprocReg CRd, size_t coproc_no, Imm<8> imm8) { + const u32 imm32 = static_cast(imm8.ZeroExtend()) << 2; + if (!p && !u && !d && !w) { + return ""; + } + if (p) { + return fmt::format("stc{}{} {}, {}, [{}, #{}{}]{}", d ? "l" : "", + CondOrTwo(cond), coproc_no, CRd, n, + u ? "+" : "-", imm32, w ? "!" : ""); + } + if (!p && w) { + return fmt::format("stc{}{} {}, {}, [{}], #{}{}", d ? "l" : "", + CondOrTwo(cond), coproc_no, CRd, n, + u ? "+" : "-", imm32); + } + if (!p && !w && u) { + return fmt::format("stc{}{} {}, {}, [{}], {}", d ? "l" : "", + CondOrTwo(cond), coproc_no, CRd, n, imm8.ZeroExtend()); + } + UNREACHABLE(); + } + + // CRC32 instructions + std::string arm_CRC32([[maybe_unused]] Cond cond, Imm<2> sz, Reg n, Reg d, Reg m) { + static constexpr std::array data_type{ + "b", + "h", + "w", + "invalid", + }; + + return fmt::format("crc32{} {}, {}, {}", data_type[sz.ZeroExtend()], d, n, m); + } + std::string arm_CRC32C([[maybe_unused]] Cond cond, Imm<2> sz, Reg n, Reg d, Reg m) { + static constexpr std::array data_type{ + "b", + "h", + "w", + "invalid", + }; + + return fmt::format("crc32c{} {}, {}, {}", data_type[sz.ZeroExtend()], d, n, m); + } + + // Data processing instructions + std::string arm_ADC_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("adc{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_ADC_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("adc{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_ADC_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("adc{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_ADD_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("add{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_ADD_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("add{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_ADD_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("add{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_AND_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("and{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_AND_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("and{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_AND_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("and{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_BIC_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("bic{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_BIC_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("bic{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_BIC_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("bic{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_CMN_imm(Cond cond, Reg n, int rotate, Imm<8> imm8) { + return fmt::format("cmn{} {}, #{}", CondToString(cond), n, ArmExpandImm(rotate, imm8)); + } + std::string arm_CMN_reg(Cond cond, Reg n, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("cmn{} {}, {}{}", CondToString(cond), n, m, ShiftStr(shift, imm5)); + } + std::string arm_CMN_rsr(Cond cond, Reg n, Reg s, ShiftType shift, Reg m) { + return fmt::format("cmn{} {}, {}", CondToString(cond), n, RsrStr(s, shift, m)); + } + std::string arm_CMP_imm(Cond cond, Reg n, int rotate, Imm<8> imm8) { + return fmt::format("cmp{} {}, #{}", CondToString(cond), n, ArmExpandImm(rotate, imm8)); + } + std::string arm_CMP_reg(Cond cond, Reg n, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("cmp{} {}, {}{}", CondToString(cond), n, m, ShiftStr(shift, imm5)); + } + std::string arm_CMP_rsr(Cond cond, Reg n, Reg s, ShiftType shift, Reg m) { + return fmt::format("cmp{} {}, {}", CondToString(cond), n, RsrStr(s, shift, m)); + } + std::string arm_EOR_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("eor{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_EOR_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("eor{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_EOR_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("eor{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_MOV_imm(Cond cond, bool S, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("mov{}{} {}, #{}", CondToString(cond), S ? "s" : "", d, ArmExpandImm(rotate, imm8)); + } + std::string arm_MOV_reg(Cond cond, bool S, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("mov{}{} {}, {}{}", CondToString(cond), S ? "s" : "", d, m, ShiftStr(shift, imm5)); + } + std::string arm_MOV_rsr(Cond cond, bool S, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("mov{}{} {}, {}", CondToString(cond), S ? "s" : "", d, RsrStr(s, shift, m)); + } + std::string arm_MVN_imm(Cond cond, bool S, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("mvn{}{} {}, #{}", CondToString(cond), S ? "s" : "", d, ArmExpandImm(rotate, imm8)); + } + std::string arm_MVN_reg(Cond cond, bool S, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("mvn{}{} {}, {}{}", CondToString(cond), S ? "s" : "", d, m, ShiftStr(shift, imm5)); + } + std::string arm_MVN_rsr(Cond cond, bool S, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("mvn{}{} {}, {}", CondToString(cond), S ? "s" : "", d, RsrStr(s, shift, m)); + } + std::string arm_ORR_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("orr{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_ORR_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("orr{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_ORR_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("orr{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_RSB_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("rsb{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_RSB_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("rsb{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_RSB_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("rsb{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_RSC_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("rsc{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_RSC_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("rsc{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_RSC_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("rsc{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_SBC_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("sbc{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_SBC_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("sbc{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_SBC_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("sbc{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_SUB_imm(Cond cond, bool S, Reg n, Reg d, int rotate, Imm<8> imm8) { + return fmt::format("sub{}{} {}, {}, #{}", CondToString(cond), S ? "s" : "", d, n, ArmExpandImm(rotate, imm8)); + } + std::string arm_SUB_reg(Cond cond, bool S, Reg n, Reg d, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("sub{}{} {}, {}, {}{}", CondToString(cond), S ? "s" : "", d, n, m, ShiftStr(shift, imm5)); + } + std::string arm_SUB_rsr(Cond cond, bool S, Reg n, Reg d, Reg s, ShiftType shift, Reg m) { + return fmt::format("sub{}{} {}, {}, {}", CondToString(cond), S ? "s" : "", d, n, RsrStr(s, shift, m)); + } + std::string arm_TEQ_imm(Cond cond, Reg n, int rotate, Imm<8> imm8) { + return fmt::format("teq{} {}, #{}", CondToString(cond), n, ArmExpandImm(rotate, imm8)); + } + std::string arm_TEQ_reg(Cond cond, Reg n, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("teq{} {}, {}{}", CondToString(cond), n, m, ShiftStr(shift, imm5)); + } + std::string arm_TEQ_rsr(Cond cond, Reg n, Reg s, ShiftType shift, Reg m) { + return fmt::format("teq{} {}, {}", CondToString(cond), n, RsrStr(s, shift, m)); + } + std::string arm_TST_imm(Cond cond, Reg n, int rotate, Imm<8> imm8) { + return fmt::format("tst{} {}, #{}", CondToString(cond), n, ArmExpandImm(rotate, imm8)); + } + std::string arm_TST_reg(Cond cond, Reg n, Imm<5> imm5, ShiftType shift, Reg m) { + return fmt::format("tst{} {}, {}{}", CondToString(cond), n, m, ShiftStr(shift, imm5)); + } + std::string arm_TST_rsr(Cond cond, Reg n, Reg s, ShiftType shift, Reg m) { + return fmt::format("tst{} {}, {}", CondToString(cond), n, RsrStr(s, shift, m)); + } + + // Exception generation instructions + std::string arm_BKPT(Cond cond, Imm<12> imm12, Imm<4> imm4) { + return fmt::format("bkpt{} #{}", CondToString(cond), concatenate(imm12, imm4).ZeroExtend()); + } + std::string arm_SVC(Cond cond, Imm<24> imm24) { + return fmt::format("svc{} #{}", CondToString(cond), imm24.ZeroExtend()); + } + std::string arm_UDF() { + return fmt::format("udf"); + } + + // Extension functions + std::string arm_SXTAB(Cond cond, Reg n, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("sxtab{} {}, {}, {}", CondToString(cond), d, n, RorStr(m, rotate)); + } + std::string arm_SXTAB16(Cond cond, Reg n, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("sxtab16{} {}, {}, {}", CondToString(cond), d, n, RorStr(m, rotate)); + } + std::string arm_SXTAH(Cond cond, Reg n, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("sxtah{} {}, {}, {}", CondToString(cond), d, n, RorStr(m, rotate)); + } + std::string arm_SXTB(Cond cond, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("sxtb{} {}, {}", CondToString(cond), d, RorStr(m, rotate)); + } + std::string arm_SXTB16(Cond cond, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("sxtb16{} {}, {}", CondToString(cond), d, RorStr(m, rotate)); + } + std::string arm_SXTH(Cond cond, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("sxth{} {}, {}", CondToString(cond), d, RorStr(m, rotate)); + } + std::string arm_UXTAB(Cond cond, Reg n, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("uxtab{} {}, {}, {}", CondToString(cond), d, n, RorStr(m, rotate)); + } + std::string arm_UXTAB16(Cond cond, Reg n, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("uxtab16{} {}, {}, {}", CondToString(cond), d, n, RorStr(m, rotate)); + } + std::string arm_UXTAH(Cond cond, Reg n, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("uxtah{} {}, {}, {}", CondToString(cond), d, n, RorStr(m, rotate)); + } + std::string arm_UXTB(Cond cond, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("uxtb{} {}, {}", CondToString(cond), d, RorStr(m, rotate)); + } + std::string arm_UXTB16(Cond cond, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("uxtb16{} {}, {}", CondToString(cond), d, RorStr(m, rotate)); + } + std::string arm_UXTH(Cond cond, Reg d, SignExtendRotation rotate, Reg m) { + return fmt::format("uxth{} {}, {}", CondToString(cond), d, RorStr(m, rotate)); + } + + // Hint instructions + std::string arm_PLD_imm(bool add, bool R, Reg n, Imm<12> imm12) { + const char sign = add ? '+' : '-'; + const char* const w = R ? "" : "w"; + + return fmt::format("pld{} [{}, #{}{:x}]", w, n, sign, imm12.ZeroExtend()); + } + std::string arm_PLD_reg(bool add, bool R, Reg n, Imm<5> imm5, ShiftType shift, Reg m) { + const char sign = add ? '+' : '-'; + const char* const w = R ? "" : "w"; + + return fmt::format("pld{} [{}, {}{}{}]", w, n, sign, m, ShiftStr(shift, imm5)); + } + std::string arm_SEV() { + return "sev"; + } + std::string arm_SEVL() { + return "sevl"; + } + std::string arm_WFE() { + return "wfe"; + } + std::string arm_WFI() { + return "wfi"; + } + std::string arm_YIELD() { + return "yield"; + } + + // Load/Store instructions + std::string arm_LDR_lit(Cond cond, bool U, Reg t, Imm<12> imm12) { + const bool P = true; + const bool W = false; + return arm_LDR_imm(cond, P, U, W, Reg::PC, t, imm12); + } + std::string arm_LDR_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<12> imm12) { + const u32 imm12_value = imm12.ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldr{} {}, [{}, #{}{}]{}", + CondToString(cond), t, n, sign, + imm12_value, W ? "!" : ""); + } else { + return fmt::format("ldr{} {}, [{}], #{}{}{}", + CondToString(cond), t, n, sign, + imm12_value, W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDR_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<5> imm5, ShiftType shift, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldr{} {}, [{}, {}{}{}]{}", + CondToString(cond), t, n, sign, m, + ShiftStr(shift, imm5), W ? "!" : ""); + } else { + return fmt::format("ldr{} {}, [{}], {}{}{}{}", + CondToString(cond), t, n, sign, m, + ShiftStr(shift, imm5), W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRB_lit(Cond cond, bool U, Reg t, Imm<12> imm12) { + const bool P = true; + const bool W = false; + return arm_LDRB_imm(cond, P, U, W, Reg::PC, t, imm12); + } + std::string arm_LDRB_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<12> imm12) { + const u32 imm12_value = imm12.ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrb{} {}, [{}, #{}{}]{}", + CondToString(cond), t, n, sign, imm12_value, + W ? "!" : ""); + } else { + return fmt::format("ldrb{} {}, [{}], #{}{}{}", + CondToString(cond), t, n, sign, imm12_value, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRB_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<5> imm5, ShiftType shift, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrb{} {}, [{}, {}{}{}]{}", + CondToString(cond), t, n, sign, m, + ShiftStr(shift, imm5), W ? "!" : ""); + } else { + return fmt::format("ldrb{} {}, [{}], {}{}{}{}", + CondToString(cond), t, n, sign, m, + ShiftStr(shift, imm5), W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRBT() { return "ice"; } + std::string arm_LDRD_lit(Cond cond, bool U, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const bool P = true; + const bool W = false; + return arm_LDRD_imm(cond, P, U, W, Reg::PC, t, imm8a, imm8b); + } + std::string arm_LDRD_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const u32 imm32 = concatenate(imm8a, imm8b).ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrd{} {}, {}, [{}, #{}{}]{}", + CondToString(cond), t, t + 1, n, sign, imm32, + W ? "!" : ""); + } else { + return fmt::format("ldrd{} {}, {}, [{}], #{}{}{}", + CondToString(cond), t, t + 1, n, sign, imm32, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRD_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrd{} {}, {}, [{}, {}{}]{}", + CondToString(cond), t, t + 1, n, sign, m, + W ? "!" : ""); + } else { + return fmt::format("ldrd{} {}, {}, [{}], {}{}{}", + CondToString(cond), t, t + 1, n, sign, m, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRH_lit(Cond cond, bool P, bool U, bool W, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + return arm_LDRH_imm(cond, P, U, W, Reg::PC, t, imm8a, imm8b); + } + std::string arm_LDRH_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const u32 imm32 = concatenate(imm8a, imm8b).ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrh{} {}, [{}, #{}{}]{}", + CondToString(cond), t, n, sign, imm32, + W ? "!" : ""); + } else { + return fmt::format("ldrh{} {}, [{}], #{}{}{}", + CondToString(cond), t, n, sign, imm32, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRH_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrh{} {}, [{}, {}{}]{}", + CondToString(cond), t, n, sign, m, + W ? "!" : ""); + } else { + return fmt::format("ldrh{} {}, [{}], {}{}{}", + CondToString(cond), t, n, sign, m, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRHT() { return "ice"; } + std::string arm_LDRSB_lit(Cond cond, bool U, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const bool P = true; + const bool W = false; + return arm_LDRSB_imm(cond, P, U, W, Reg::PC, t, imm8a, imm8b); + } + std::string arm_LDRSB_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const u32 imm32 = concatenate(imm8a, imm8b).ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrsb{} {}, [{}, #{}{}]{}", + CondToString(cond), t, n, sign, imm32, + W ? "!" : ""); + } else { + return fmt::format("ldrsb{} {}, [{}], #{}{}{}", + CondToString(cond), t, n, sign, imm32, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRSB_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrsb{} {}, [{}, {}{}]{}", + CondToString(cond), t, n, sign, m, + W ? "!" : ""); + } else { + return fmt::format("ldrsb{} {}, [{}], {}{}{}", + CondToString(cond), t, n, sign, m, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRSBT() { return "ice"; } + std::string arm_LDRSH_lit(Cond cond, bool U, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const bool P = true; + const bool W = false; + return arm_LDRSH_imm(cond, P, U, W, Reg::PC, t, imm8a, imm8b); + } + std::string arm_LDRSH_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const u32 imm32 = concatenate(imm8a, imm8b).ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrsh{} {}, [{}, #{}{}]{}", + CondToString(cond), t, n, sign, imm32, + W ? "!" : ""); + } else { + return fmt::format("ldrsh{} {}, [{}], #{}{}{}", + CondToString(cond), t, n, sign, imm32, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRSH_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("ldrsh{} {}, [{}, {}{}]{}", + CondToString(cond), t, n, sign, m, + W ? "!" : ""); + } else { + return fmt::format("ldrsh{} {}, [{}], {}{}{}", + CondToString(cond), t, n, sign, m, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_LDRSHT() { return "ice"; } + std::string arm_LDRT() { return "ice"; } + std::string arm_STR_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<12> imm12) { + const u32 imm12_value = imm12.ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("str{} {}, [{}, #{}{}]{}", + CondToString(cond), t, n, sign, imm12_value, + W ? "!" : ""); + } else { + return fmt::format("str{} {}, [{}], #{}{}{}", + CondToString(cond), t, n, sign, imm12_value, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_STR_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<5> imm5, ShiftType shift, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("str{} {}, [{}, {}{}{}]{}", + CondToString(cond), t, n, sign, m, + ShiftStr(shift, imm5), W ? "!" : ""); + } else { + return fmt::format("str{} {}, [{}], {}{}{}{}", + CondToString(cond), t, n, sign, m, + ShiftStr(shift, imm5), W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_STRB_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<12> imm12) { + const u32 imm12_value = imm12.ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("strb{} {}, [{}, #{}{}]{}", + CondToString(cond), t, n, sign, imm12_value, + W ? "!" : ""); + } else { + return fmt::format("strb{} {}, [{}], #{}{}{}", + CondToString(cond), t, n, sign, imm12_value, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_STRB_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<5> imm5, ShiftType shift, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("strb{} {}, [{}, {}{}{}]{}", + CondToString(cond), t, n, sign, m, + ShiftStr(shift, imm5), W ? "!" : ""); + } else { + return fmt::format("strb{} {}, [{}], {}{}{}{}", + CondToString(cond), t, n, sign, m, + ShiftStr(shift, imm5), W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_STRBT() { return "ice"; } + std::string arm_STRD_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const u32 imm32 = concatenate(imm8a, imm8b).ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("strd{} {}, {}, [{}, #{}{}]{}", + CondToString(cond), t, t + 1, n, sign, imm32, + W ? "!" : ""); + } else { + return fmt::format("strd{} {}, {}, [{}], #{}{}{}", + CondToString(cond), t, t + 1, n, sign, imm32, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_STRD_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("strd{} {}, {}, [{}, {}{}]{}", + CondToString(cond), t, t + 1, n, sign, m, + W ? "!" : ""); + } else { + return fmt::format("strd{} {}, {}, [{}], {}{}{}", + CondToString(cond), t, t + 1, n, sign, m, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_STRH_imm(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Imm<4> imm8a, Imm<4> imm8b) { + const u32 imm32 = concatenate(imm8a, imm8b).ZeroExtend(); + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("strh{} {}, [{}, #{}{}]{}", + CondToString(cond), t, n, sign, imm32, + W ? "!" : ""); + } else { + return fmt::format("strh{} {}, [{}], #{}{}{}", + CondToString(cond), t, n, sign, imm32, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_STRH_reg(Cond cond, bool P, bool U, bool W, Reg n, Reg t, Reg m) { + const char sign = U ? '+' : '-'; + + if (P) { + return fmt::format("strd{} {}, [{}, {}{}]{}", + CondToString(cond), t, n, sign, m, + W ? "!" : ""); + } else { + return fmt::format("strd{} {}, [{}], {}{}{}", + CondToString(cond), t, n, sign, m, + W ? " (err: W == 1!!!)" : ""); + } + } + std::string arm_STRHT() { return "ice"; } + std::string arm_STRT() { return "ice"; } + + // Load/Store multiple instructions + std::string arm_LDM(Cond cond, bool W, Reg n, RegList list) { + return fmt::format("ldm{} {}{}, {{{}}}", CondToString(cond), n, W ? "!" : "", RegListToString(list)); + } + std::string arm_LDMDA(Cond cond, bool W, Reg n, RegList list) { + return fmt::format("ldmda{} {}{}, {{{}}}", CondToString(cond), n, W ? "!" : "", RegListToString(list)); + } + std::string arm_LDMDB(Cond cond, bool W, Reg n, RegList list) { + return fmt::format("ldmdb{} {}{}, {{{}}}", CondToString(cond), n, W ? "!" : "", RegListToString(list)); + } + std::string arm_LDMIB(Cond cond, bool W, Reg n, RegList list) { + return fmt::format("ldmib{} {}{}, {{{}}}", CondToString(cond), n, W ? "!" : "", RegListToString(list)); + } + std::string arm_LDM_usr() { return "ice"; } + std::string arm_LDM_eret() { return "ice"; } + std::string arm_STM(Cond cond, bool W, Reg n, RegList list) { + return fmt::format("stm{} {}{}, {{{}}}", CondToString(cond), n, W ? "!" : "", RegListToString(list)); + } + std::string arm_STMDA(Cond cond, bool W, Reg n, RegList list) { + return fmt::format("stmda{} {}{}, {{{}}}", CondToString(cond), n, W ? "!" : "", RegListToString(list)); + } + std::string arm_STMDB(Cond cond, bool W, Reg n, RegList list) { + return fmt::format("stmdb{} {}{}, {{{}}}", CondToString(cond), n, W ? "!" : "", RegListToString(list)); + } + std::string arm_STMIB(Cond cond, bool W, Reg n, RegList list) { + return fmt::format("stmib{} {}{}, {{{}}}", CondToString(cond), n, W ? "!" : "", RegListToString(list)); + } + std::string arm_STM_usr() { return "ice"; } + + // Miscellaneous instructions + std::string arm_BFC(Cond cond, Imm<5> msb, Reg d, Imm<5> lsb) { + const u32 lsb_value = lsb.ZeroExtend(); + const u32 width = msb.ZeroExtend() - lsb_value + 1; + return fmt::format("bfc{} {}, #{}, #{}", + CondToString(cond), d, lsb_value, width); + } + std::string arm_BFI(Cond cond, Imm<5> msb, Reg d, Imm<5> lsb, Reg n) { + const u32 lsb_value = lsb.ZeroExtend(); + const u32 width = msb.ZeroExtend() - lsb_value + 1; + return fmt::format("bfi{} {}, {}, #{}, #{}", + CondToString(cond), d, n, lsb_value, width); + } + std::string arm_CLZ(Cond cond, Reg d, Reg m) { + return fmt::format("clz{} {}, {}", CondToString(cond), d, m); + } + std::string arm_MOVT(Cond cond, Imm<4> imm4, Reg d, Imm<12> imm12) { + const u32 imm = concatenate(imm4, imm12).ZeroExtend(); + return fmt::format("movt{} {}, #{}", CondToString(cond), d, imm); + } + std::string arm_MOVW(Cond cond, Imm<4> imm4, Reg d, Imm<12> imm12) { + const u32 imm = concatenate(imm4, imm12).ZeroExtend(); + return fmt::format("movw{}, {}, #{}", CondToString(cond), d, imm); + } + std::string arm_NOP() { + return "nop"; + } + std::string arm_RBIT(Cond cond, Reg d, Reg m) { + return fmt::format("rbit{} {}, {}", CondToString(cond), d, m); + } + std::string arm_SBFX(Cond cond, Imm<5> widthm1, Reg d, Imm<5> lsb, Reg n) { + const u32 lsb_value = lsb.ZeroExtend(); + const u32 width = widthm1.ZeroExtend() + 1; + return fmt::format("sbfx{} {}, {}, #{}, #{}", + CondToString(cond), d, n, lsb_value, width); + } + std::string arm_SEL(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("sel{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UBFX(Cond cond, Imm<5> widthm1, Reg d, Imm<5> lsb, Reg n) { + const u32 lsb_value = lsb.ZeroExtend(); + const u32 width = widthm1.ZeroExtend() + 1; + return fmt::format("ubfx{} {}, {}, #{}, #{}", + CondToString(cond), d, n, lsb_value, width); + } + + // Unsigned sum of absolute difference functions + std::string arm_USAD8(Cond cond, Reg d, Reg m, Reg n) { + return fmt::format("usad8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_USADA8(Cond cond, Reg d, Reg a, Reg m, Reg n) { + return fmt::format("usad8a{} {}, {}, {}, {}", CondToString(cond), d, n, m, a); + } + + // Packing instructions + std::string arm_PKHBT(Cond cond, Reg n, Reg d, Imm<5> imm5, Reg m) { + return fmt::format("pkhbt{} {}, {}, {}{}", CondToString(cond), d, n, m, ShiftStr(ShiftType::LSL, imm5)); + } + std::string arm_PKHTB(Cond cond, Reg n, Reg d, Imm<5> imm5, Reg m) { + return fmt::format("pkhtb{} {}, {}, {}{}", CondToString(cond), d, n, m, ShiftStr(ShiftType::ASR, imm5)); + } + + // Reversal instructions + std::string arm_REV(Cond cond, Reg d, Reg m) { + return fmt::format("rev{} {}, {}", CondToString(cond), d, m); + } + std::string arm_REV16(Cond cond, Reg d, Reg m) { + return fmt::format("rev16{} {}, {}", CondToString(cond), d, m); + } + std::string arm_REVSH(Cond cond, Reg d, Reg m) { + return fmt::format("revsh{} {}, {}", CondToString(cond), d, m); + } + + // Saturation instructions + std::string arm_SSAT(Cond cond, Imm<5> sat_imm, Reg d, Imm<5> imm5, bool sh, Reg n) { + const u32 bit_position = sat_imm.ZeroExtend() + 1; + return fmt::format("ssat{} {}, #{}, {}{}", + CondToString(cond), d, bit_position, n, + ShiftStr(ShiftType(sh << 1), imm5)); + } + std::string arm_SSAT16(Cond cond, Imm<4> sat_imm, Reg d, Reg n) { + const u32 bit_position = sat_imm.ZeroExtend() + 1; + return fmt::format("ssat16{} {}, #{}, {}", + CondToString(cond), d, bit_position, n); + } + std::string arm_USAT(Cond cond, Imm<5> sat_imm, Reg d, Imm<5> imm5, bool sh, Reg n) { + return fmt::format("usat{} {}, #{}, {}{}", + CondToString(cond), d, sat_imm.ZeroExtend(), n, + ShiftStr(ShiftType(sh << 1), imm5)); + } + std::string arm_USAT16(Cond cond, Imm<4> sat_imm, Reg d, Reg n) { + return fmt::format("usat16{} {}, #{}, {}", + CondToString(cond), d, sat_imm.ZeroExtend(), n); + } + + // Divide instructions + std::string arm_SDIV(Cond cond, Reg d, Reg m, Reg n) { + return fmt::format("sdiv{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UDIV(Cond cond, Reg d, Reg m, Reg n) { + return fmt::format("udiv{} {}, {}, {}", CondToString(cond), d, n, m); + } + + // Multiply (Normal) instructions + std::string arm_MLA(Cond cond, bool S, Reg d, Reg a, Reg m, Reg n) { + return fmt::format("mla{}{} {}, {}, {}, {}", S ? "s" : "", CondToString(cond), d, n, m, a); + } + std::string arm_MLS(Cond cond, Reg d, Reg a, Reg m, Reg n) { + return fmt::format("mls{} {}, {}, {}, {}", CondToString(cond), d, n, m, a); + } + std::string arm_MUL(Cond cond, bool S, Reg d, Reg m, Reg n) { + return fmt::format("mul{}{} {}, {}, {}", S ? "s" : "", CondToString(cond), d, n, m); + } + + // Multiply (Long) instructions + std::string arm_SMLAL(Cond cond, bool S, Reg dHi, Reg dLo, Reg m, Reg n) { + return fmt::format("smlal{}{} {}, {}, {}, {}", S ? "s" : "", CondToString(cond), dLo, dHi, n, m); + } + std::string arm_SMULL(Cond cond, bool S, Reg dHi, Reg dLo, Reg m, Reg n) { + return fmt::format("smull{}{} {}, {}, {}, {}", S ? "s" : "", CondToString(cond), dLo, dHi, n, m); + } + std::string arm_UMAAL(Cond cond, Reg dHi, Reg dLo, Reg m, Reg n) { + return fmt::format("umaal{} {}, {}, {}, {}", CondToString(cond), dLo, dHi, n, m); + } + std::string arm_UMLAL(Cond cond, bool S, Reg dHi, Reg dLo, Reg m, Reg n) { + return fmt::format("umlal{}{} {}, {}, {}, {}", S ? "s" : "", CondToString(cond), dLo, dHi, n, m); + } + std::string arm_UMULL(Cond cond, bool S, Reg dHi, Reg dLo, Reg m, Reg n) { + return fmt::format("umull{}{} {}, {}, {}, {}", S ? "s" : "", CondToString(cond), dLo, dHi, n, m); + } + + // Multiply (Halfword) instructions + std::string arm_SMLALxy(Cond cond, Reg dHi, Reg dLo, Reg m, bool M, bool N, Reg n) { + return fmt::format("smlal{}{}{} {}, {}, {}, {}", N ? 't' : 'b', M ? 't' : 'b', CondToString(cond), dLo, dHi, n, m); + } + std::string arm_SMLAxy(Cond cond, Reg d, Reg a, Reg m, bool M, bool N, Reg n) { + return fmt::format("smla{}{}{} {}, {}, {}, {}", N ? 't' : 'b', M ? 't' : 'b', CondToString(cond), d, n, m, a); + } + std::string arm_SMULxy(Cond cond, Reg d, Reg m, bool M, bool N, Reg n) { + return fmt::format("smul{}{}{} {}, {}, {}", N ? 't' : 'b', M ? 't' : 'b', CondToString(cond), d, n, m); + } + + // Multiply (word by halfword) instructions + std::string arm_SMLAWy(Cond cond, Reg d, Reg a, Reg m, bool M, Reg n) { + return fmt::format("smlaw{}{} {}, {}, {}, {}", M ? 't' : 'b', CondToString(cond), d, n, m, a); + } + std::string arm_SMULWy(Cond cond, Reg d, Reg m, bool M, Reg n) { + return fmt::format("smulw{}{} {}, {}, {}", M ? 't' : 'b', CondToString(cond), d, n, m); + } + + // Multiply (Most significant word) instructions + std::string arm_SMMLA(Cond cond, Reg d, Reg a, Reg m, bool R, Reg n) { + return fmt::format("smmla{}{} {}, {}, {}, {}", R ? "r" : "", CondToString(cond), d, n, m, a); + } + std::string arm_SMMLS(Cond cond, Reg d, Reg a, Reg m, bool R, Reg n) { + return fmt::format("smmls{}{} {}, {}, {}, {}", R ? "r" : "", CondToString(cond), d, n, m, a); + } + std::string arm_SMMUL(Cond cond, Reg d, Reg m, bool R, Reg n) { + return fmt::format("smmul{}{} {}, {}, {}", R ? "r" : "", CondToString(cond), d, n, m); + } + + // Multiply (Dual) instructions + std::string arm_SMLAD(Cond cond, Reg d, Reg a, Reg m, bool M, Reg n) { + return fmt::format("smlad{}{} {}, {}, {}, {}", M ? "x" : "", CondToString(cond), d, n, m, a); + } + std::string arm_SMLALD(Cond cond, Reg dHi, Reg dLo, Reg m, bool M, Reg n) { + return fmt::format("smlald{}{} {}, {}, {}, {}", M ? "x" : "", CondToString(cond), dLo, dHi, n, m); + } + std::string arm_SMLSD(Cond cond, Reg d, Reg a, Reg m, bool M, Reg n) { + return fmt::format("smlsd{}{} {}, {}, {}, {}", M ? "x" : "", CondToString(cond), d, n, m, a); + } + std::string arm_SMLSLD(Cond cond, Reg dHi, Reg dLo, Reg m, bool M, Reg n) { + return fmt::format("smlsld{}{} {}, {}, {}, {}", M ? "x" : "", CondToString(cond), dLo, dHi, n, m); + } + std::string arm_SMUAD(Cond cond, Reg d, Reg m, bool M, Reg n) { + return fmt::format("smuad{}{} {}, {}, {}", M ? "x" : "", CondToString(cond), d, n, m); + } + std::string arm_SMUSD(Cond cond, Reg d, Reg m, bool M, Reg n) { + return fmt::format("smusd{}{} {}, {}, {}", M ? "x" : "", CondToString(cond), d, n, m); + } + + // Parallel Add/Subtract (Modulo arithmetic) instructions + std::string arm_SADD8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("sadd8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SADD16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("sadd16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SASX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("sasx{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SSAX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("ssax{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SSUB8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("ssub8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SSUB16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("ssub16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UADD8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uadd8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UADD16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uadd16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UASX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uasx{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_USAX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("usax{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_USUB8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("usub8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_USUB16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("usub16{} {}, {}, {}", CondToString(cond), d, n, m); + } + + // Parallel Add/Subtract (Saturating) instructions + std::string arm_QADD8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qadd8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_QADD16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qadd16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_QASX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qasx{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_QSAX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qsax{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_QSUB8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qsub8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_QSUB16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qsub16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UQADD8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uqadd8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UQADD16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uqadd16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UQASX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uqasx{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UQSAX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uqsax{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UQSUB8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uqsub8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UQSUB16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uqsub16{} {}, {}, {}", CondToString(cond), d, n, m); + } + + // Parallel Add/Subtract (Halving) instructions + std::string arm_SHADD8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("shadd8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SHADD16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("shadd16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SHASX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("shasx{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SHSAX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("shsax{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SHSUB8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("shsub8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_SHSUB16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("shsub16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UHADD8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uhadd8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UHADD16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uhadd16{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UHASX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uhasx{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UHSAX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uhsax{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UHSUB8(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uhsub8{} {}, {}, {}", CondToString(cond), d, n, m); + } + std::string arm_UHSUB16(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("uhsub16{} {}, {}, {}", CondToString(cond), d, n, m); + } + + // Saturated Add/Subtract instructions + std::string arm_QADD(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qadd{} {}, {}, {}", CondToString(cond), d, m, n); + } + std::string arm_QSUB(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qsub{} {}, {}, {}", CondToString(cond), d, m, n); + } + std::string arm_QDADD(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qdadd{} {}, {}, {}", CondToString(cond), d, m, n); + } + std::string arm_QDSUB(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("qdsub{} {}, {}, {}", CondToString(cond), d, m, n); + } + + // Synchronization Primitive instructions + std::string arm_CLREX() { + return "clrex"; + } + std::string arm_SWP(Cond cond, Reg n, Reg t, Reg t2) { + return fmt::format("swp{} {}, {}, [{}]", CondToString(cond), t, t2, n); + } + std::string arm_SWPB(Cond cond, Reg n, Reg t, Reg t2) { + return fmt::format("swpb{} {}, {}, [{}]", CondToString(cond), t, t2, n); + } + std::string arm_LDA(Cond cond, Reg n, Reg t) { + return fmt::format("lda{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_LDAB(Cond cond, Reg n, Reg t) { + return fmt::format("ldab{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_LDAH(Cond cond, Reg n, Reg t) { + return fmt::format("ldah{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_LDAEX(Cond cond, Reg n, Reg t) { + return fmt::format("ldaex{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_LDAEXB(Cond cond, Reg n, Reg t) { + return fmt::format("ldaexb{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_LDAEXD(Cond cond, Reg n, Reg t) { + return fmt::format("ldaexd{} {}, {}, [{}]", CondToString(cond), t, t + 1, n); + } + std::string arm_LDAEXH(Cond cond, Reg n, Reg t) { + return fmt::format("ldaexh{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_STL(Cond cond, Reg n, Reg t) { + return fmt::format("stl{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_STLB(Cond cond, Reg n, Reg t) { + return fmt::format("stlb{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_STLH(Cond cond, Reg n, Reg t) { + return fmt::format("stlh{} {}, [{}]", CondToString(cond), t, n); + } + std::string arm_STLEX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("stlex{} {}, {}, [{}]", CondToString(cond), d, m, n); + } + std::string arm_STLEXB(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("stlexb{} {}, {}, [{}]", CondToString(cond), d, m, n); + } + std::string arm_STLEXD(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("stlexd{} {}, {}, {}, [{}]", CondToString(cond), d, m, m + 1, n); + } + std::string arm_STLEXH(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("stlexh{} {}, {}, [{}]", CondToString(cond), d, m, n); + } + std::string arm_LDREX(Cond cond, Reg n, Reg d) { + return fmt::format("ldrex{} {}, [{}]", CondToString(cond), d, n); + } + std::string arm_LDREXB(Cond cond, Reg n, Reg d) { + return fmt::format("ldrexb{} {}, [{}]", CondToString(cond), d, n); + } + std::string arm_LDREXD(Cond cond, Reg n, Reg d) { + return fmt::format("ldrexd{} {}, {}, [{}]", CondToString(cond), d, d + 1, n); + } + std::string arm_LDREXH(Cond cond, Reg n, Reg d) { + return fmt::format("ldrexh{} {}, [{}]", CondToString(cond), d, n); + } + std::string arm_STREX(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("strex{} {}, {}, [{}]", CondToString(cond), d, m, n); + } + std::string arm_STREXB(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("strexb{} {}, {}, [{}]", CondToString(cond), d, m, n); + } + std::string arm_STREXD(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("strexd{} {}, {}, {}, [{}]", CondToString(cond), d, m, m + 1, n); + } + std::string arm_STREXH(Cond cond, Reg n, Reg d, Reg m) { + return fmt::format("strexh{} {}, {}, [{}]", CondToString(cond), d, m, n); + } + + // Status register access instructions + std::string arm_CPS() { return "ice"; } + std::string arm_MRS(Cond cond, Reg d) { + return fmt::format("mrs{} {}, apsr", CondToString(cond), d); + } + std::string arm_MSR_imm(Cond cond, int mask, int rotate, Imm<8> imm8) { + const bool write_c = Common::Bit<0>(mask); + const bool write_x = Common::Bit<1>(mask); + const bool write_s = Common::Bit<2>(mask); + const bool write_f = Common::Bit<3>(mask); + return fmt::format("msr{} cpsr_{}{}{}{}, #{}", + CondToString(cond), + write_c ? "c" : "", + write_x ? "x" : "", + write_s ? "s" : "", + write_f ? "f" : "", + ArmExpandImm(rotate, imm8)); + } + std::string arm_MSR_reg(Cond cond, int mask, Reg n) { + const bool write_c = Common::Bit<0>(mask); + const bool write_x = Common::Bit<1>(mask); + const bool write_s = Common::Bit<2>(mask); + const bool write_f = Common::Bit<3>(mask); + return fmt::format("msr{} cpsr_{}{}{}{}, {}", + CondToString(cond), + write_c ? "c" : "", + write_x ? "x" : "", + write_s ? "s" : "", + write_f ? "f" : "", + n); + } + std::string arm_RFE() { return "ice"; } + std::string arm_SETEND(bool E) { + return E ? "setend be" : "setend le"; + } + std::string arm_SRS() { return "ice"; } + + // Floating point arithmetic instructions + std::string vfp_VADD(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vadd{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VSUB(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vsub{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VMUL(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vmul{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VMLA(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vmla{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VMLS(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vmls{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VNMUL(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vnmul{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VNMLA(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vnmla{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VNMLS(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vnmls{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VDIV(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vdiv{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VFNMS(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vfnms{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VFNMA(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vfnma{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VFMS(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vfms{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VFMA(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vfma{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VSEL(bool D, Imm<2> cc, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + const Cond cond = concatenate(cc, Imm<1>{cc.Bit<0>() != cc.Bit<1>()}, Imm<1>{0}).ZeroExtend(); + return fmt::format("vsel{}.{} {}, {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VMAXNM(bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vmaxnm.{} {}, {}, {}", sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VMINNM(bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + return fmt::format("vminnm.{} {}, {}, {}", sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vn, N), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VMOV_imm(Cond cond, bool D, Imm<4> imm4H, size_t Vd, bool sz, Imm<4> imm4L) { + const auto imm8 = concatenate(imm4H, imm4L); + + if (sz) { + const u64 sign = static_cast(imm8.Bit<7>()); + const u64 exp = (imm8.Bit<6>() ? 0x3FC : 0x400) | imm8.Bits<4, 5, u64>(); + const u64 fract = imm8.Bits<0, 3, u64>() << 48; + const u64 immediate = (sign << 63) | (exp << 52) | fract; + return fmt::format("vmov{}.f64 {}, #0x{:016x}", CondToString(cond), FPRegStr(sz, Vd, D), immediate); + } else { + const u32 sign = static_cast(imm8.Bit<7>()); + const u32 exp = (imm8.Bit<6>() ? 0x7C : 0x80) | imm8.Bits<4, 5>(); + const u32 fract = imm8.Bits<0, 3>() << 19; + const u32 immediate = (sign << 31) | (exp << 23) | fract; + return fmt::format("vmov{}.f32 {}, #0x{:08x}", CondToString(cond), FPRegStr(sz, Vd, D), immediate); + } + } + + std::string vfp_VMOV_u32_f64(Cond cond, size_t Vd, Reg t, bool D) { + return fmt::format("vmov{}.32 {}, {}", CondToString(cond), FPRegStr(true, Vd, D), t); + } + + std::string vfp_VMOV_f64_u32(Cond cond, size_t Vn, Reg t, bool N) { + return fmt::format("vmov{}.32 {}, {}", CondToString(cond), t, FPRegStr(true, Vn, N)); + } + + std::string vfp_VMOV_u32_f32(Cond cond, size_t Vn, Reg t, bool N) { + return fmt::format("vmov{}.32 {}, {}", CondToString(cond), FPRegStr(false, Vn, N), t); + } + + std::string vfp_VMOV_f32_u32(Cond cond, size_t Vn, Reg t, bool N) { + return fmt::format("vmov{}.32 {}, {}", CondToString(cond), t, FPRegStr(false, Vn, N)); + } + + std::string vfp_VMOV_2u32_2f32(Cond cond, Reg t2, Reg t, bool M, size_t Vm) { + return fmt::format("vmov{} {}, {}, {}, {}", CondToString(cond), FPRegStr(false, Vm, M), FPNextRegStr(false, Vm, M), t, t2); + } + + std::string vfp_VMOV_2f32_2u32(Cond cond, Reg t2, Reg t, bool M, size_t Vm) { + return fmt::format("vmov{} {}, {}, {}, {}", CondToString(cond), t, t2, FPRegStr(false, Vm, M), FPNextRegStr(false, Vm, M)); + } + + std::string vfp_VMOV_2u32_f64(Cond cond, Reg t2, Reg t, bool M, size_t Vm) { + return fmt::format("vmov{} {}, {}, {}", CondToString(cond), FPRegStr(true, Vm, M), t, t2); + } + + std::string vfp_VMOV_f64_2u32(Cond cond, Reg t2, Reg t, bool M, size_t Vm) { + return fmt::format("vmov{} {}, {}, {}", CondToString(cond), t, t2, FPRegStr(true, Vm, M)); + } + + std::string vfp_VMOV_from_i32(Cond cond, Imm<1> i, size_t Vd, Reg t, bool D) { + const size_t index = i.ZeroExtend(); + return fmt::format("vmov{}.32 {}[{}], {}", CondToString(cond), FPRegStr(true, Vd, D), index, t); + } + + std::string vfp_VMOV_from_i16(Cond cond, Imm<1> i1, size_t Vd, Reg t, bool D, Imm<1> i2) { + const size_t index = concatenate(i1, i2).ZeroExtend(); + return fmt::format("vmov{}.{}16 {}[{}], {}", CondToString(cond), FPRegStr(true, Vd, D), index, t); + } + + std::string vfp_VMOV_from_i8(Cond cond, Imm<1> i1, size_t Vd, Reg t, bool D, Imm<2> i2) { + const size_t index = concatenate(i1, i2).ZeroExtend(); + return fmt::format("vmov{}.{}8 {}[{}], {}", CondToString(cond), FPRegStr(true, Vd, D), index, t); + } + + std::string vfp_VMOV_to_i32(Cond cond, Imm<1> i, size_t Vn, Reg t, bool N) { + const size_t index = i.ZeroExtend(); + return fmt::format("vmov{}.32 {}, {}[{}]", CondToString(cond), t, FPRegStr(true, Vn, N), index); + } + + std::string vfp_VMOV_to_i16(Cond cond, bool U, Imm<1> i1, size_t Vn, Reg t, bool N, Imm<1> i2) { + const size_t index = concatenate(i1, i2).ZeroExtend(); + return fmt::format("vmov{}.{}16 {}, {}[{}]", CondToString(cond), U ? 'u' : 's', t, FPRegStr(true, Vn, N), index); + } + + std::string vfp_VMOV_to_i8(Cond cond, bool U, Imm<1> i1, size_t Vn, Reg t, bool N, Imm<2> i2) { + const size_t index = concatenate(i1, i2).ZeroExtend(); + return fmt::format("vmov{}.{}8 {}, {}[{}]", CondToString(cond), U ? 'u' : 's', t, FPRegStr(true, Vn, N), index); + } + + std::string vfp_VDUP(Cond cond, Imm<1> B, bool Q, size_t Vd, Reg t, bool D, Imm<1> E) { + const size_t esize = 32u >> concatenate(B, E).ZeroExtend(); + return fmt::format("vdup{}.{} {}, {}", CondToString(cond), esize, VectorStr(Q, Vd, D), t); + } + + std::string vfp_VMOV_reg(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vmov{}.{} {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VABS(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vadd{}.{} {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VNEG(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vneg{}.{} {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VSQRT(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vsqrt{}.{} {}, {}", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VCVTB(Cond cond, bool D, bool op, size_t Vd, bool sz, bool M, size_t Vm) { + const bool convert_from_half = !op; + const char* const to = convert_from_half ? (sz ? "f64" : "f32") : "f16"; + const char* const from = convert_from_half ? "f16" : (sz ? "f64" : "f32"); + return fmt::format("vcvtb{}.{}.{} {}, {}", CondToString(cond), to, from, FPRegStr(convert_from_half ? sz : false, Vd, D), FPRegStr(convert_from_half ? false : sz, Vm, M)); + } + + std::string vfp_VCVTT(Cond cond, bool D, bool op, size_t Vd, bool sz, bool M, size_t Vm) { + const bool convert_from_half = !op; + const char* const to = convert_from_half ? (sz ? "f64" : "f32") : "f16"; + const char* const from = convert_from_half ? "f16" : (sz ? "f64" : "f32"); + return fmt::format("vcvtt{}.{}.{} {}, {}", CondToString(cond), to, from, FPRegStr(convert_from_half ? sz : false, Vd, D), FPRegStr(convert_from_half ? false : sz, Vm, M)); + } + + std::string vfp_VCMP(Cond cond, bool D, size_t Vd, bool sz, bool E, bool M, size_t Vm) { + return fmt::format("vcmp{}{}.{} {}, {}", E ? "e" : "", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VCMP_zero(Cond cond, bool D, size_t Vd, bool sz, bool E) { + return fmt::format("vcmp{}{}.{} {}, #0.0", E ? "e" : "", CondToString(cond), sz ? "f64" : "f32", FPRegStr(sz, Vd, D)); + } + + std::string vfp_VRINTR(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vrintr{} {}, {}", CondToString(cond), FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VRINTZ(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vrintz{} {}, {}", CondToString(cond), FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VRINTX(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vrintx{} {}, {}", CondToString(cond), FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VCVT_f_to_f(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vcvt{}.{}.{} {}, {}", CondToString(cond), !sz ? "f64" : "f32", sz ? "f64" : "f32", FPRegStr(!sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VCVT_from_int(Cond cond, bool D, size_t Vd, bool sz, bool is_signed, bool M, size_t Vm) { + return fmt::format("vcvt{}.{}.{} {}, {}", CondToString(cond), sz ? "f64" : "f32", is_signed ? "s32" : "u32", FPRegStr(sz, Vd, D), FPRegStr(false, Vm, M)); + } + + std::string vfp_VCVT_from_fixed(Cond cond, bool D, bool U, size_t Vd, bool sz, bool sx, Imm<1> i, Imm<4> imm4) { + const size_t size = sx ? 32 : 16; + const size_t fbits = size - concatenate(imm4, i).ZeroExtend(); + return fmt::format("vcvt{}.{}.{}{} {}, {}, #{}", CondToString(cond), sz ? "f64" : "f32", U ? 'u' : 's', size, FPRegStr(sz, Vd, D), FPRegStr(sz, Vd, D), fbits); + } + + std::string vfp_VCVT_to_u32(Cond cond, bool D, size_t Vd, bool sz, bool round_towards_zero, bool M, size_t Vm) { + return fmt::format("vcvt{}{}.u32.{} {}, {}", round_towards_zero ? "" : "r", CondToString(cond), sz ? "f64" : "f32", FPRegStr(false, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VCVT_to_s32(Cond cond, bool D, size_t Vd, bool sz, bool round_towards_zero, bool M, size_t Vm) { + return fmt::format("vcvt{}{}.s32.{} {}, {}", round_towards_zero ? "" : "r", CondToString(cond), sz ? "f64" : "f32", FPRegStr(false, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VCVT_to_fixed(Cond cond, bool D, bool U, size_t Vd, bool sz, bool sx, Imm<1> i, Imm<4> imm4) { + const size_t size = sx ? 32 : 16; + const size_t fbits = size - concatenate(imm4, i).ZeroExtend(); + return fmt::format("vcvt{}.{}{}.{} {}, {}, #{}", CondToString(cond), U ? 'u' : 's', size, sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vd, D), fbits); + } + + std::string vfp_VRINT_rm(bool D, size_t rm, size_t Vd, bool sz, bool M, size_t Vm) { + return fmt::format("vrint{}.{} {}, {}", "anpm"[rm], sz ? "f64" : "f32", FPRegStr(sz, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VCVT_rm(bool D, size_t rm, size_t Vd, bool sz, bool U, bool M, size_t Vm) { + return fmt::format("vcvt{}.{}.{} {}, {}", "anpm"[rm], U ? "u32" : "s32", sz ? "f64" : "f32", FPRegStr(false, Vd, D), FPRegStr(sz, Vm, M)); + } + + std::string vfp_VMSR(Cond cond, Reg t) { + return fmt::format("vmsr{} fpscr, {}", CondToString(cond), t); + } + + std::string vfp_VMRS(Cond cond, Reg t) { + if (t == Reg::R15) { + return fmt::format("vmrs{} apsr_nzcv, fpscr", CondToString(cond)); + } else { + return fmt::format("vmrs{} {}, fpscr", CondToString(cond), t); + } + } + + std::string vfp_VPOP(Cond cond, bool D, size_t Vd, bool sz, Imm<8> imm8) { + return fmt::format("vpop{} {}(+{})", + CondToString(cond), FPRegStr(sz, Vd, D), + imm8.ZeroExtend() >> (sz ? 1 : 0)); + } + + std::string vfp_VPUSH(Cond cond, bool D, size_t Vd, bool sz, Imm<8> imm8) { + return fmt::format("vpush{} {}(+{})", + CondToString(cond), FPRegStr(sz, Vd, D), + imm8.ZeroExtend() >> (sz ? 1 : 0)); + } + + std::string vfp_VLDR(Cond cond, bool U, bool D, Reg n, size_t Vd, bool sz, Imm<8> imm8) { + const u32 imm32 = imm8.ZeroExtend() << 2; + const char sign = U ? '+' : '-'; + return fmt::format("vldr{} {}, [{}, #{}{}]", + CondToString(cond), FPRegStr(sz, Vd, D), n, sign, imm32); + } + + std::string vfp_VSTR(Cond cond, bool U, bool D, Reg n, size_t Vd, bool sz, Imm<8> imm8) { + const u32 imm32 = imm8.ZeroExtend() << 2; + const char sign = U ? '+' : '-'; + return fmt::format("vstr{} {}, [{}, #{}{}]", + CondToString(cond), FPRegStr(sz, Vd, D), n, sign, imm32); + } + + std::string vfp_VSTM_a1(Cond cond, bool p, bool u, bool D, bool w, Reg n, size_t Vd, Imm<8> imm8) { + const char* mode = ""; + if (!p && u) { + mode = "ia"; + } + if (p && !u) { + mode = "db"; + } + return fmt::format("vstm{}{}.f64 {}{}, {}(+{})", mode, + CondToString(cond), n, w ? "!" : "", + FPRegStr(true, Vd, D), imm8.ZeroExtend()); + } + + std::string vfp_VSTM_a2(Cond cond, bool p, bool u, bool D, bool w, Reg n, size_t Vd, Imm<8> imm8) { + const char* mode = ""; + if (!p && u) { + mode = "ia"; + } + if (p && !u) { + mode = "db"; + } + return fmt::format("vstm{}{}.f32 {}{}, {}(+{})", mode, + CondToString(cond), n, w ? "!" : "", + FPRegStr(false, Vd, D), imm8.ZeroExtend()); + } + + std::string vfp_VLDM_a1(Cond cond, bool p, bool u, bool D, bool w, Reg n, size_t Vd, Imm<8> imm8) { + const char* mode = ""; + if (!p && u) { + mode = "ia"; + } + if (p && !u) { + mode = "db"; + } + return fmt::format("vldm{}{}.f64 {}{}, {}(+{})", mode, + CondToString(cond), n, w ? "!" : "", + FPRegStr(true, Vd, D), imm8.ZeroExtend()); + } + + std::string vfp_VLDM_a2(Cond cond, bool p, bool u, bool D, bool w, Reg n, size_t Vd, Imm<8> imm8) { + const char* mode = ""; + if (!p && u) { + mode = "ia"; + } + if (p && !u) { + mode = "db"; + } + return fmt::format("vldm{}{}.f32 {}{}, {}(+{})", mode, + CondToString(cond), n, w ? "!" : "", + FPRegStr(false, Vd, D), imm8.ZeroExtend()); + } +}; + +std::string DisassembleArm(u32 instruction) { + DisassemblerVisitor visitor; + if (auto vfp_decoder = DecodeVFP(instruction)) { + return vfp_decoder->get().call(visitor, instruction); + } else if (auto decoder = DecodeArm(instruction)) { + return decoder->get().call(visitor, instruction); + } else { + return fmt::format("UNKNOWN: {:x}", instruction); + } +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler_thumb.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler_thumb.cpp new file mode 100755 index 000000000..b22255139 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/disassembler/disassembler_thumb.cpp @@ -0,0 +1,397 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/string_util.h" +#include "dynarmic/frontend/A32/decoder/thumb16.h" +#include "dynarmic/frontend/A32/disassembler/disassembler.h" +#include "dynarmic/frontend/A32/types.h" +#include "dynarmic/frontend/imm.h" + +namespace Dynarmic::A32 { + +class DisassemblerVisitor { +public: + using instruction_return_type = std::string; + + std::string thumb16_LSL_imm(Imm<5> imm5, Reg m, Reg d) { + return fmt::format("lsls {}, {}, #{}", d, m, imm5.ZeroExtend()); + } + + std::string thumb16_LSR_imm(Imm<5> imm5, Reg m, Reg d) { + const u32 shift = imm5 != 0 ? imm5.ZeroExtend() : 32U; + return fmt::format("lsrs {}, {}, #{}", d, m, shift); + } + + std::string thumb16_ASR_imm(Imm<5> imm5, Reg m, Reg d) { + const u32 shift = imm5 != 0 ? imm5.ZeroExtend() : 32U; + return fmt::format("asrs {}, {}, #{}", d, m, shift); + } + + std::string thumb16_ADD_reg_t1(Reg m, Reg n, Reg d) { + return fmt::format("adds {}, {}, {}", d, n, m); + } + + std::string thumb16_SUB_reg(Reg m, Reg n, Reg d) { + return fmt::format("subs {}, {}, {}", d, n, m); + } + + std::string thumb16_ADD_imm_t1(Imm<3> imm3, Reg n, Reg d) { + return fmt::format("adds {}, {}, #{}", d, n, imm3.ZeroExtend()); + } + + std::string thumb16_SUB_imm_t1(Imm<3> imm3, Reg n, Reg d) { + return fmt::format("subs {}, {}, #{}", d, n, imm3.ZeroExtend()); + } + + std::string thumb16_MOV_imm(Reg d, Imm<8> imm8) { + return fmt::format("movs {}, #{}", d, imm8.ZeroExtend()); + } + + std::string thumb16_CMP_imm(Reg n, Imm<8> imm8) { + return fmt::format("cmp {}, #{}", n, imm8.ZeroExtend()); + } + + std::string thumb16_ADD_imm_t2(Reg d_n, Imm<8> imm8) { + return fmt::format("adds {}, #{}", d_n, imm8.ZeroExtend()); + } + + std::string thumb16_SUB_imm_t2(Reg d_n, Imm<8> imm8) { + return fmt::format("subs {}, #{}", d_n, imm8.ZeroExtend()); + } + + std::string thumb16_AND_reg(Reg m, Reg d_n) { + return fmt::format("ands {}, {}", d_n, m); + } + + std::string thumb16_EOR_reg(Reg m, Reg d_n) { + return fmt::format("eors {}, {}", d_n, m); + } + + std::string thumb16_LSL_reg(Reg m, Reg d_n) { + return fmt::format("lsls {}, {}", d_n, m); + } + + std::string thumb16_LSR_reg(Reg m, Reg d_n) { + return fmt::format("lsrs {}, {}", d_n, m); + } + + std::string thumb16_ASR_reg(Reg m, Reg d_n) { + return fmt::format("asrs {}, {}", d_n, m); + } + + std::string thumb16_ADC_reg(Reg m, Reg d_n) { + return fmt::format("adcs {}, {}", d_n, m); + } + + std::string thumb16_SBC_reg(Reg m, Reg d_n) { + return fmt::format("sbcs {}, {}", d_n, m); + } + + std::string thumb16_ROR_reg(Reg m, Reg d_n) { + return fmt::format("rors {}, {}", d_n, m); + } + + std::string thumb16_TST_reg(Reg m, Reg n) { + return fmt::format("tst {}, {}", n, m); + } + + std::string thumb16_RSB_imm(Reg n, Reg d) { + // Pre-UAL syntax: NEGS , + return fmt::format("rsbs {}, {}, #0", d, n); + } + + std::string thumb16_CMP_reg_t1(Reg m, Reg n) { + return fmt::format("cmp {}, {}", n, m); + } + + std::string thumb16_CMN_reg(Reg m, Reg n) { + return fmt::format("cmn {}, {}", n, m); + } + + std::string thumb16_ORR_reg(Reg m, Reg d_n) { + return fmt::format("orrs {}, {}", d_n, m); + } + + std::string thumb16_MUL_reg(Reg n, Reg d_m) { + return fmt::format("muls {}, {}, {}", d_m, n, d_m); + } + + std::string thumb16_BIC_reg(Reg m, Reg d_n) { + return fmt::format("bics {}, {}", d_n, m); + } + + std::string thumb16_MVN_reg(Reg m, Reg d) { + return fmt::format("mvns {}, {}", d, m); + } + + std::string thumb16_ADD_reg_t2(bool d_n_hi, Reg m, Reg d_n_lo) { + const Reg d_n = d_n_hi ? (d_n_lo + 8) : d_n_lo; + return fmt::format("add {}, {}", d_n, m); + } + + std::string thumb16_CMP_reg_t2(bool n_hi, Reg m, Reg n_lo) { + const Reg n = n_hi ? (n_lo + 8) : n_lo; + return fmt::format("cmp {}, {}", n, m); + } + + std::string thumb16_MOV_reg(bool d_hi, Reg m, Reg d_lo) { + const Reg d = d_hi ? (d_lo + 8) : d_lo; + return fmt::format("mov {}, {}", d, m); + } + + std::string thumb16_LDR_literal(Reg t, Imm<8> imm8) { + const u32 imm32 = imm8.ZeroExtend() << 2; + return fmt::format("ldr {}, [pc, #{}]", t, imm32); + } + + std::string thumb16_STR_reg(Reg m, Reg n, Reg t) { + return fmt::format("str {}, [{}, {}]", t, n, m); + } + + std::string thumb16_STRH_reg(Reg m, Reg n, Reg t) { + return fmt::format("strh {}, [{}, {}]", t, n, m); + } + + std::string thumb16_STRB_reg(Reg m, Reg n, Reg t) { + return fmt::format("strb {}, [{}, {}]", t, n, m); + } + + std::string thumb16_LDRSB_reg(Reg m, Reg n, Reg t) { + return fmt::format("ldrsb {}, [{}, {}]", t, n, m); + } + + std::string thumb16_LDR_reg(Reg m, Reg n, Reg t) { + return fmt::format("ldr {}, [{}, {}]", t, n, m); + } + + std::string thumb16_LDRH_reg(Reg m, Reg n, Reg t) { + return fmt::format("ldrh {}, [%s, %s]", t, n, m); + } + + std::string thumb16_LDRB_reg(Reg m, Reg n, Reg t) { + return fmt::format("ldrb {}, [{}, {}]", t, n, m); + } + + std::string thumb16_LDRSH_reg(Reg m, Reg n, Reg t) { + return fmt::format("ldrsh {}, [{}, {}]", t, n, m); + } + + std::string thumb16_STR_imm_t1(Imm<5> imm5, Reg n, Reg t) { + const u32 imm32 = imm5.ZeroExtend() << 2; + return fmt::format("str {}, [{}, #{}]", t, n, imm32); + } + + std::string thumb16_LDR_imm_t1(Imm<5> imm5, Reg n, Reg t) { + const u32 imm32 = imm5.ZeroExtend() << 2; + return fmt::format("ldr {}, [{}, #{}]", t, n, imm32); + } + + std::string thumb16_STRB_imm(Imm<5> imm5, Reg n, Reg t) { + const u32 imm32 = imm5.ZeroExtend(); + return fmt::format("strb {}, [{}, #{}]", t, n, imm32); + } + + std::string thumb16_LDRB_imm(Imm<5> imm5, Reg n, Reg t) { + const u32 imm32 = imm5.ZeroExtend(); + return fmt::format("ldrb {}, [{}, #{}]", t, n, imm32); + } + + std::string thumb16_STRH_imm(Imm<5> imm5, Reg n, Reg t) { + const u32 imm32 = imm5.ZeroExtend() << 1; + return fmt::format("strh {}, [{}, #{}]", t, n, imm32); + } + + std::string thumb16_LDRH_imm(Imm<5> imm5, Reg n, Reg t) { + const u32 imm32 = imm5.ZeroExtend() << 1; + return fmt::format("ldrh {}, [{}, #{}]", t, n, imm32); + } + + std::string thumb16_STR_imm_t2(Reg t, Imm<8> imm8) { + const u32 imm32 = imm8.ZeroExtend() << 2; + return fmt::format("str {}, [sp, #{}]", t, imm32); + } + + std::string thumb16_LDR_imm_t2(Reg t, Imm<8> imm8) { + const u32 imm32 = imm8.ZeroExtend() << 2; + return fmt::format("ldr {}, [sp, #{}]", t, imm32); + } + + std::string thumb16_ADR(Reg d, Imm<8> imm8) { + const u32 imm32 = imm8.ZeroExtend() << 2; + return fmt::format("adr {}, +#{}", d, imm32); + } + + std::string thumb16_ADD_sp_t1(Reg d, Imm<8> imm8) { + const u32 imm32 = imm8.ZeroExtend() << 2; + return fmt::format("add {}, sp, #{}", d, imm32); + } + + std::string thumb16_ADD_sp_t2(Imm<7> imm7) { + const u32 imm32 = imm7.ZeroExtend() << 2; + return fmt::format("add sp, sp, #{}", imm32); + } + + std::string thumb16_SUB_sp(Imm<7> imm7) { + const u32 imm32 = imm7.ZeroExtend() << 2; + return fmt::format("sub sp, sp, #{}", imm32); + } + + std::string thumb16_NOP() { + return "nop"; + } + + std::string thumb16_SEV() { + return "sev"; + } + + std::string thumb16_SEVL() { + return "sevl"; + } + + std::string thumb16_WFE() { + return "wfe"; + } + + std::string thumb16_WFI() { + return "wfi"; + } + + std::string thumb16_YIELD() { + return "yield"; + } + + std::string thumb16_IT(Imm<8> imm8) { + const Cond firstcond = imm8.Bits<4, 7, Cond>(); + const bool firstcond0 = imm8.Bit<4>(); + const auto [x, y, z] = [&] { + if (imm8.Bits<0, 3>() == 0b1000) { + return std::make_tuple("", "", ""); + } + if (imm8.Bits<0, 2>() == 0b100) { + return std::make_tuple(imm8.Bit<3>() == firstcond0 ? "t" : "e", "", ""); + } + if (imm8.Bits<0, 1>() == 0b10) { + return std::make_tuple(imm8.Bit<3>() == firstcond0 ? "t" : "e", imm8.Bit<2>() == firstcond0 ? "t" : "e", ""); + } + // Sanity note: Here imm8.Bit<0>() is guaranteed to be == 1. (imm8 can never be 0bxxxx0000) + return std::make_tuple(imm8.Bit<3>() == firstcond0 ? "t" : "e", imm8.Bit<2>() == firstcond0 ? "t" : "e", imm8.Bit<1>() == firstcond0 ? "t" : "e"); + }(); + return fmt::format("it{}{}{} {}", x, y, z, firstcond); + } + + std::string thumb16_SXTH(Reg m, Reg d) { + return fmt::format("sxth {}, {}", d, m); + } + + std::string thumb16_SXTB(Reg m, Reg d) { + return fmt::format("sxtb {}, {}", d, m); + } + + std::string thumb16_UXTH(Reg m, Reg d) { + return fmt::format("uxth {}, {}", d, m); + } + + std::string thumb16_UXTB(Reg m, Reg d) { + return fmt::format("uxtb {}, {}", d, m); + } + + std::string thumb16_PUSH(bool M, RegList reg_list) { + if (M) + reg_list |= 1 << 14; + return fmt::format("push {{{}}}", RegListToString(reg_list)); + } + + std::string thumb16_POP(bool P, RegList reg_list) { + if (P) + reg_list |= 1 << 15; + return fmt::format("pop {{{}}}", RegListToString(reg_list)); + } + + std::string thumb16_SETEND(bool E) { + return fmt::format("setend {}", E ? "BE" : "LE"); + } + + std::string thumb16_CPS(bool im, bool a, bool i, bool f) { + return fmt::format("cps{} {}{}{}", im ? "id" : "ie", a ? "a" : "", i ? "i" : "", f ? "f" : ""); + } + + std::string thumb16_REV(Reg m, Reg d) { + return fmt::format("rev {}, {}", d, m); + } + + std::string thumb16_REV16(Reg m, Reg d) { + return fmt::format("rev16 {}, {}", d, m); + } + + std::string thumb16_REVSH(Reg m, Reg d) { + return fmt::format("revsh {}, {}", d, m); + } + + std::string thumb16_BKPT(Imm<8> imm8) { + return fmt::format("bkpt #{}", imm8.ZeroExtend()); + } + + std::string thumb16_STMIA(Reg n, RegList reg_list) { + return fmt::format("stm {}!, {{{}}}", n, RegListToString(reg_list)); + } + + std::string thumb16_LDMIA(Reg n, RegList reg_list) { + const bool write_back = !Common::Bit(static_cast(n), reg_list); + return fmt::format("ldm {}{}, {{{}}}", n, write_back ? "!" : "", RegListToString(reg_list)); + } + + std::string thumb16_BX(Reg m) { + return fmt::format("bx {}", m); + } + + std::string thumb16_BLX_reg(Reg m) { + return fmt::format("blx {}", m); + } + + std::string thumb16_CBZ_CBNZ(bool nonzero, Imm<1> i, Imm<5> imm5, Reg n) { + const char* const name = nonzero ? "cbnz" : "cbz"; + const u32 imm = concatenate(i, imm5, Imm<1>{0}).ZeroExtend(); + + return fmt::format("{} {}, #{}", name, n, imm); + } + + std::string thumb16_UDF() { + return fmt::format("udf"); + } + + std::string thumb16_SVC(Imm<8> imm8) { + return fmt::format("svc #{}", imm8.ZeroExtend()); + } + + std::string thumb16_B_t1(Cond cond, Imm<8> imm8) { + const s32 imm32 = static_cast((imm8.SignExtend() << 1) + 4); + return fmt::format("b{} {}#{}", + CondToString(cond), + Common::SignToChar(imm32), + abs(imm32)); + } + + std::string thumb16_B_t2(Imm<11> imm11) { + const s32 imm32 = static_cast((imm11.SignExtend() << 1) + 4); + return fmt::format("b {}#{}", + Common::SignToChar(imm32), + abs(imm32)); + } +}; + +std::string DisassembleThumb16(u16 instruction) { + DisassemblerVisitor visitor; + auto decoder = DecodeThumb16(instruction); + return !decoder ? fmt::format("UNKNOWN: {:x}", instruction) : decoder->get().call(visitor, instruction); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/ir_emitter.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/ir_emitter.cpp new file mode 100755 index 000000000..9839beca7 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/ir_emitter.cpp @@ -0,0 +1,433 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A32/ir_emitter.h" + +#include "dynarmic/common/assert.h" +#include "dynarmic/frontend/A32/types.h" +#include "dynarmic/interface/A32/arch_version.h" +#include "dynarmic/ir/opcodes.h" + +namespace Dynarmic::A32 { + +using Opcode = IR::Opcode; + +size_t IREmitter::ArchVersion() const { + switch (arch_version) { + case ArchVersion::v3: + return 3; + case ArchVersion::v4: + case ArchVersion::v4T: + return 4; + case ArchVersion::v5TE: + return 5; + case ArchVersion::v6K: + case ArchVersion::v6T2: + return 6; + case ArchVersion::v7: + return 7; + case ArchVersion::v8: + return 8; + } + UNREACHABLE(); +} + +u32 IREmitter::PC() const { + const u32 offset = current_location.TFlag() ? 4 : 8; + return current_location.PC() + offset; +} + +u32 IREmitter::AlignPC(size_t alignment) const { + const u32 pc = PC(); + return static_cast(pc - pc % alignment); +} + +IR::U32 IREmitter::GetRegister(Reg reg) { + if (reg == A32::Reg::PC) { + return Imm32(PC()); + } + return Inst(Opcode::A32GetRegister, IR::Value(reg)); +} + +IR::U32U64 IREmitter::GetExtendedRegister(ExtReg reg) { + if (A32::IsSingleExtReg(reg)) { + return Inst(Opcode::A32GetExtendedRegister32, IR::Value(reg)); + } + + if (A32::IsDoubleExtReg(reg)) { + return Inst(Opcode::A32GetExtendedRegister64, IR::Value(reg)); + } + + ASSERT_FALSE("Invalid reg."); +} + +IR::U128 IREmitter::GetVector(ExtReg reg) { + ASSERT(A32::IsDoubleExtReg(reg) || A32::IsQuadExtReg(reg)); + return Inst(Opcode::A32GetVector, IR::Value(reg)); +} + +void IREmitter::SetRegister(const Reg reg, const IR::U32& value) { + ASSERT(reg != A32::Reg::PC); + Inst(Opcode::A32SetRegister, IR::Value(reg), value); +} + +void IREmitter::SetExtendedRegister(const ExtReg reg, const IR::U32U64& value) { + if (A32::IsSingleExtReg(reg)) { + Inst(Opcode::A32SetExtendedRegister32, IR::Value(reg), value); + } else if (A32::IsDoubleExtReg(reg)) { + Inst(Opcode::A32SetExtendedRegister64, IR::Value(reg), value); + } else { + ASSERT_FALSE("Invalid reg."); + } +} + +void IREmitter::SetVector(ExtReg reg, const IR::U128& value) { + ASSERT(A32::IsDoubleExtReg(reg) || A32::IsQuadExtReg(reg)); + Inst(Opcode::A32SetVector, IR::Value(reg), value); +} + +void IREmitter::ALUWritePC(const IR::U32& value) { + // This behaviour is ARM version-dependent. + if (ArchVersion() >= 7 && !current_location.TFlag()) { + BXWritePC(value); + } else { + BranchWritePC(value); + } +} + +void IREmitter::BranchWritePC(const IR::U32& value) { + if (!current_location.TFlag()) { + // Note that for ArchVersion() < 6, this is UNPREDICTABLE when value<1:0> != 0b00 + const auto new_pc = And(value, Imm32(0xFFFFFFFC)); + Inst(Opcode::A32SetRegister, IR::Value(A32::Reg::PC), new_pc); + } else { + const auto new_pc = And(value, Imm32(0xFFFFFFFE)); + Inst(Opcode::A32SetRegister, IR::Value(A32::Reg::PC), new_pc); + } +} + +void IREmitter::BXWritePC(const IR::U32& value) { + Inst(Opcode::A32BXWritePC, value); +} + +void IREmitter::LoadWritePC(const IR::U32& value) { + // This behaviour is ARM version-dependent. + if (ArchVersion() >= 5) { + BXWritePC(value); + } else { + BranchWritePC(value); + } +} + +void IREmitter::UpdateUpperLocationDescriptor() { + Inst(Opcode::A32UpdateUpperLocationDescriptor); +} + +void IREmitter::CallSupervisor(const IR::U32& value) { + Inst(Opcode::A32CallSupervisor, value); +} + +void IREmitter::ExceptionRaised(const Exception exception) { + Inst(Opcode::A32ExceptionRaised, Imm32(current_location.PC()), Imm64(static_cast(exception))); +} + +IR::U32 IREmitter::GetCpsr() { + return Inst(Opcode::A32GetCpsr); +} + +void IREmitter::SetCpsr(const IR::U32& value) { + Inst(Opcode::A32SetCpsr, value); +} + +void IREmitter::SetCpsrNZCV(const IR::U32& value) { + Inst(Opcode::A32SetCpsrNZCV, value); +} + +void IREmitter::SetCpsrNZCVQ(const IR::U32& value) { + Inst(Opcode::A32SetCpsrNZCVQ, value); +} + +void IREmitter::SetCheckBit(const IR::U1& value) { + Inst(Opcode::A32SetCheckBit, value); +} + +IR::U1 IREmitter::GetCFlag() { + return Inst(Opcode::A32GetCFlag); +} + +void IREmitter::SetNFlag(const IR::U1& value) { + Inst(Opcode::A32SetNFlag, value); +} + +void IREmitter::SetZFlag(const IR::U1& value) { + Inst(Opcode::A32SetZFlag, value); +} + +void IREmitter::SetCFlag(const IR::U1& value) { + Inst(Opcode::A32SetCFlag, value); +} + +void IREmitter::SetVFlag(const IR::U1& value) { + Inst(Opcode::A32SetVFlag, value); +} + +void IREmitter::OrQFlag(const IR::U1& value) { + Inst(Opcode::A32OrQFlag, value); +} + +IR::U32 IREmitter::GetGEFlags() { + return Inst(Opcode::A32GetGEFlags); +} + +void IREmitter::SetGEFlags(const IR::U32& value) { + Inst(Opcode::A32SetGEFlags, value); +} + +void IREmitter::SetGEFlagsCompressed(const IR::U32& value) { + Inst(Opcode::A32SetGEFlagsCompressed, value); +} + +void IREmitter::DataSynchronizationBarrier() { + Inst(Opcode::A32DataSynchronizationBarrier); +} + +void IREmitter::DataMemoryBarrier() { + Inst(Opcode::A32DataMemoryBarrier); +} + +void IREmitter::InstructionSynchronizationBarrier() { + Inst(Opcode::A32InstructionSynchronizationBarrier); +} + +IR::U32 IREmitter::GetFpscr() { + return Inst(Opcode::A32GetFpscr); +} + +void IREmitter::SetFpscr(const IR::U32& new_fpscr) { + Inst(Opcode::A32SetFpscr, new_fpscr); +} + +IR::U32 IREmitter::GetFpscrNZCV() { + return Inst(Opcode::A32GetFpscrNZCV); +} + +void IREmitter::SetFpscrNZCV(const IR::NZCV& new_fpscr_nzcv) { + Inst(Opcode::A32SetFpscrNZCV, new_fpscr_nzcv); +} + +void IREmitter::ClearExclusive() { + Inst(Opcode::A32ClearExclusive); +} + +IR::UAny IREmitter::ReadMemory(size_t bitsize, const IR::U32& vaddr) { + switch (bitsize) { + case 8: + return ReadMemory8(vaddr); + case 16: + return ReadMemory16(vaddr); + case 32: + return ReadMemory32(vaddr); + case 64: + return ReadMemory64(vaddr); + } + ASSERT_FALSE("Invalid bitsize"); +} + +IR::U8 IREmitter::ReadMemory8(const IR::U32& vaddr) { + return Inst(Opcode::A32ReadMemory8, vaddr); +} + +IR::U16 IREmitter::ReadMemory16(const IR::U32& vaddr) { + const auto value = Inst(Opcode::A32ReadMemory16, vaddr); + return current_location.EFlag() ? ByteReverseHalf(value) : value; +} + +IR::U32 IREmitter::ReadMemory32(const IR::U32& vaddr) { + const auto value = Inst(Opcode::A32ReadMemory32, vaddr); + return current_location.EFlag() ? ByteReverseWord(value) : value; +} + +IR::U64 IREmitter::ReadMemory64(const IR::U32& vaddr) { + const auto value = Inst(Opcode::A32ReadMemory64, vaddr); + return current_location.EFlag() ? ByteReverseDual(value) : value; +} + +IR::U8 IREmitter::ExclusiveReadMemory8(const IR::U32& vaddr) { + return Inst(Opcode::A32ExclusiveReadMemory8, vaddr); +} + +IR::U16 IREmitter::ExclusiveReadMemory16(const IR::U32& vaddr) { + const auto value = Inst(Opcode::A32ExclusiveReadMemory16, vaddr); + return current_location.EFlag() ? ByteReverseHalf(value) : value; +} + +IR::U32 IREmitter::ExclusiveReadMemory32(const IR::U32& vaddr) { + const auto value = Inst(Opcode::A32ExclusiveReadMemory32, vaddr); + return current_location.EFlag() ? ByteReverseWord(value) : value; +} + +std::pair IREmitter::ExclusiveReadMemory64(const IR::U32& vaddr) { + const auto value = Inst(Opcode::A32ExclusiveReadMemory64, vaddr); + const auto lo = LeastSignificantWord(value); + const auto hi = MostSignificantWord(value).result; + if (current_location.EFlag()) { + // DO NOT SWAP hi AND lo IN BIG ENDIAN MODE, THIS IS CORRECT BEHAVIOUR + return std::make_pair(ByteReverseWord(lo), ByteReverseWord(hi)); + } + return std::make_pair(lo, hi); +} + +void IREmitter::WriteMemory(size_t bitsize, const IR::U32& vaddr, const IR::UAny& value) { + switch (bitsize) { + case 8: + return WriteMemory8(vaddr, value); + case 16: + return WriteMemory16(vaddr, value); + case 32: + return WriteMemory32(vaddr, value); + case 64: + return WriteMemory64(vaddr, value); + } + ASSERT_FALSE("Invalid bitsize"); +} + +void IREmitter::WriteMemory8(const IR::U32& vaddr, const IR::U8& value) { + Inst(Opcode::A32WriteMemory8, vaddr, value); +} + +void IREmitter::WriteMemory16(const IR::U32& vaddr, const IR::U16& value) { + if (current_location.EFlag()) { + const auto v = ByteReverseHalf(value); + Inst(Opcode::A32WriteMemory16, vaddr, v); + } else { + Inst(Opcode::A32WriteMemory16, vaddr, value); + } +} + +void IREmitter::WriteMemory32(const IR::U32& vaddr, const IR::U32& value) { + if (current_location.EFlag()) { + const auto v = ByteReverseWord(value); + Inst(Opcode::A32WriteMemory32, vaddr, v); + } else { + Inst(Opcode::A32WriteMemory32, vaddr, value); + } +} + +void IREmitter::WriteMemory64(const IR::U32& vaddr, const IR::U64& value) { + if (current_location.EFlag()) { + const auto v = ByteReverseDual(value); + Inst(Opcode::A32WriteMemory64, vaddr, v); + } else { + Inst(Opcode::A32WriteMemory64, vaddr, value); + } +} + +IR::U32 IREmitter::ExclusiveWriteMemory8(const IR::U32& vaddr, const IR::U8& value) { + return Inst(Opcode::A32ExclusiveWriteMemory8, vaddr, value); +} + +IR::U32 IREmitter::ExclusiveWriteMemory16(const IR::U32& vaddr, const IR::U16& value) { + if (current_location.EFlag()) { + const auto v = ByteReverseHalf(value); + return Inst(Opcode::A32ExclusiveWriteMemory16, vaddr, v); + } else { + return Inst(Opcode::A32ExclusiveWriteMemory16, vaddr, value); + } +} + +IR::U32 IREmitter::ExclusiveWriteMemory32(const IR::U32& vaddr, const IR::U32& value) { + if (current_location.EFlag()) { + const auto v = ByteReverseWord(value); + return Inst(Opcode::A32ExclusiveWriteMemory32, vaddr, v); + } else { + return Inst(Opcode::A32ExclusiveWriteMemory32, vaddr, value); + } +} + +IR::U32 IREmitter::ExclusiveWriteMemory64(const IR::U32& vaddr, const IR::U32& value_lo, const IR::U32& value_hi) { + if (current_location.EFlag()) { + const auto vlo = ByteReverseWord(value_lo); + const auto vhi = ByteReverseWord(value_hi); + return Inst(Opcode::A32ExclusiveWriteMemory64, vaddr, Pack2x32To1x64(vlo, vhi)); + } else { + return Inst(Opcode::A32ExclusiveWriteMemory64, vaddr, Pack2x32To1x64(value_lo, value_hi)); + } +} + +void IREmitter::CoprocInternalOperation(size_t coproc_no, bool two, size_t opc1, CoprocReg CRd, CoprocReg CRn, CoprocReg CRm, size_t opc2) { + ASSERT(coproc_no <= 15); + const IR::Value::CoprocessorInfo coproc_info{static_cast(coproc_no), + static_cast(two ? 1 : 0), + static_cast(opc1), + static_cast(CRd), + static_cast(CRn), + static_cast(CRm), + static_cast(opc2)}; + Inst(Opcode::A32CoprocInternalOperation, IR::Value(coproc_info)); +} + +void IREmitter::CoprocSendOneWord(size_t coproc_no, bool two, size_t opc1, CoprocReg CRn, CoprocReg CRm, size_t opc2, const IR::U32& word) { + ASSERT(coproc_no <= 15); + const IR::Value::CoprocessorInfo coproc_info{static_cast(coproc_no), + static_cast(two ? 1 : 0), + static_cast(opc1), + static_cast(CRn), + static_cast(CRm), + static_cast(opc2)}; + Inst(Opcode::A32CoprocSendOneWord, IR::Value(coproc_info), word); +} + +void IREmitter::CoprocSendTwoWords(size_t coproc_no, bool two, size_t opc, CoprocReg CRm, const IR::U32& word1, const IR::U32& word2) { + ASSERT(coproc_no <= 15); + const IR::Value::CoprocessorInfo coproc_info{static_cast(coproc_no), + static_cast(two ? 1 : 0), + static_cast(opc), + static_cast(CRm)}; + Inst(Opcode::A32CoprocSendTwoWords, IR::Value(coproc_info), word1, word2); +} + +IR::U32 IREmitter::CoprocGetOneWord(size_t coproc_no, bool two, size_t opc1, CoprocReg CRn, CoprocReg CRm, size_t opc2) { + ASSERT(coproc_no <= 15); + const IR::Value::CoprocessorInfo coproc_info{static_cast(coproc_no), + static_cast(two ? 1 : 0), + static_cast(opc1), + static_cast(CRn), + static_cast(CRm), + static_cast(opc2)}; + return Inst(Opcode::A32CoprocGetOneWord, IR::Value(coproc_info)); +} + +IR::U64 IREmitter::CoprocGetTwoWords(size_t coproc_no, bool two, size_t opc, CoprocReg CRm) { + ASSERT(coproc_no <= 15); + const IR::Value::CoprocessorInfo coproc_info{static_cast(coproc_no), + static_cast(two ? 1 : 0), + static_cast(opc), + static_cast(CRm)}; + return Inst(Opcode::A32CoprocGetTwoWords, IR::Value(coproc_info)); +} + +void IREmitter::CoprocLoadWords(size_t coproc_no, bool two, bool long_transfer, CoprocReg CRd, const IR::U32& address, bool has_option, u8 option) { + ASSERT(coproc_no <= 15); + const IR::Value::CoprocessorInfo coproc_info{static_cast(coproc_no), + static_cast(two ? 1 : 0), + static_cast(long_transfer ? 1 : 0), + static_cast(CRd), + static_cast(has_option ? 1 : 0), + static_cast(option)}; + Inst(Opcode::A32CoprocLoadWords, IR::Value(coproc_info), address); +} + +void IREmitter::CoprocStoreWords(size_t coproc_no, bool two, bool long_transfer, CoprocReg CRd, const IR::U32& address, bool has_option, u8 option) { + ASSERT(coproc_no <= 15); + const IR::Value::CoprocessorInfo coproc_info{static_cast(coproc_no), + static_cast(two ? 1 : 0), + static_cast(long_transfer ? 1 : 0), + static_cast(CRd), + static_cast(has_option ? 1 : 0), + static_cast(option)}; + Inst(Opcode::A32CoprocStoreWords, IR::Value(coproc_info), address); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/ir_emitter.h b/externals/dynarmic/src/dynarmic/frontend/A32/ir_emitter.h new file mode 100755 index 000000000..80bcf6b97 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/ir_emitter.h @@ -0,0 +1,112 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/ir/ir_emitter.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::A32 { + +enum class ArchVersion; +enum class CoprocReg; +enum class Exception; +enum class ExtReg; +enum class Reg; + +/** + * Convenience class to construct a basic block of the intermediate representation. + * `block` is the resulting block. + * The user of this class updates `current_location` as appropriate. + */ +class IREmitter : public IR::IREmitter { +public: + IREmitter(IR::Block& block, LocationDescriptor descriptor, ArchVersion arch_version) + : IR::IREmitter(block), current_location(descriptor), arch_version(arch_version) {} + + LocationDescriptor current_location; + + size_t ArchVersion() const; + + u32 PC() const; + u32 AlignPC(size_t alignment) const; + + IR::U32 GetRegister(Reg source_reg); + IR::U32U64 GetExtendedRegister(ExtReg source_reg); + IR::U128 GetVector(ExtReg source_reg); + void SetRegister(Reg dest_reg, const IR::U32& value); + void SetExtendedRegister(ExtReg dest_reg, const IR::U32U64& value); + void SetVector(ExtReg dest_reg, const IR::U128& value); + + void ALUWritePC(const IR::U32& value); + void BranchWritePC(const IR::U32& value); + void BXWritePC(const IR::U32& value); + void LoadWritePC(const IR::U32& value); + void UpdateUpperLocationDescriptor(); + + void CallSupervisor(const IR::U32& value); + void ExceptionRaised(Exception exception); + + IR::U32 GetCpsr(); + void SetCpsr(const IR::U32& value); + void SetCpsrNZCV(const IR::U32& value); + void SetCpsrNZCVQ(const IR::U32& value); + void SetCheckBit(const IR::U1& value); + IR::U1 GetCFlag(); + void SetNFlag(const IR::U1& value); + void SetZFlag(const IR::U1& value); + void SetCFlag(const IR::U1& value); + void SetVFlag(const IR::U1& value); + void OrQFlag(const IR::U1& value); + IR::U32 GetGEFlags(); + void SetGEFlags(const IR::U32& value); + void SetGEFlagsCompressed(const IR::U32& value); + + void DataSynchronizationBarrier(); + void DataMemoryBarrier(); + void InstructionSynchronizationBarrier(); + + IR::U32 GetFpscr(); + void SetFpscr(const IR::U32& new_fpscr); + IR::U32 GetFpscrNZCV(); + void SetFpscrNZCV(const IR::NZCV& new_fpscr_nzcv); + + void ClearExclusive(); + IR::UAny ReadMemory(size_t bitsize, const IR::U32& vaddr); + IR::U8 ReadMemory8(const IR::U32& vaddr); + IR::U16 ReadMemory16(const IR::U32& vaddr); + IR::U32 ReadMemory32(const IR::U32& vaddr); + IR::U64 ReadMemory64(const IR::U32& vaddr); + IR::U8 ExclusiveReadMemory8(const IR::U32& vaddr); + IR::U16 ExclusiveReadMemory16(const IR::U32& vaddr); + IR::U32 ExclusiveReadMemory32(const IR::U32& vaddr); + std::pair ExclusiveReadMemory64(const IR::U32& vaddr); + void WriteMemory(size_t bitsize, const IR::U32& vaddr, const IR::UAny& value); + void WriteMemory8(const IR::U32& vaddr, const IR::U8& value); + void WriteMemory16(const IR::U32& vaddr, const IR::U16& value); + void WriteMemory32(const IR::U32& vaddr, const IR::U32& value); + void WriteMemory64(const IR::U32& vaddr, const IR::U64& value); + IR::U32 ExclusiveWriteMemory8(const IR::U32& vaddr, const IR::U8& value); + IR::U32 ExclusiveWriteMemory16(const IR::U32& vaddr, const IR::U16& value); + IR::U32 ExclusiveWriteMemory32(const IR::U32& vaddr, const IR::U32& value); + IR::U32 ExclusiveWriteMemory64(const IR::U32& vaddr, const IR::U32& value_lo, const IR::U32& value_hi); + + void CoprocInternalOperation(size_t coproc_no, bool two, size_t opc1, CoprocReg CRd, CoprocReg CRn, CoprocReg CRm, size_t opc2); + void CoprocSendOneWord(size_t coproc_no, bool two, size_t opc1, CoprocReg CRn, CoprocReg CRm, size_t opc2, const IR::U32& word); + void CoprocSendTwoWords(size_t coproc_no, bool two, size_t opc, CoprocReg CRm, const IR::U32& word1, const IR::U32& word2); + IR::U32 CoprocGetOneWord(size_t coproc_no, bool two, size_t opc1, CoprocReg CRn, CoprocReg CRm, size_t opc2); + IR::U64 CoprocGetTwoWords(size_t coproc_no, bool two, size_t opc, CoprocReg CRm); + void CoprocLoadWords(size_t coproc_no, bool two, bool long_transfer, CoprocReg CRd, const IR::U32& address, bool has_option, u8 option); + void CoprocStoreWords(size_t coproc_no, bool two, bool long_transfer, CoprocReg CRd, const IR::U32& address, bool has_option, u8 option); + +private: + enum ArchVersion arch_version; +}; + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/location_descriptor.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/location_descriptor.cpp new file mode 100755 index 000000000..e3cd3bc13 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/location_descriptor.cpp @@ -0,0 +1,24 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A32/location_descriptor.h" + +#include + +#include + +namespace Dynarmic::A32 { + +std::ostream& operator<<(std::ostream& o, const LocationDescriptor& descriptor) { + o << fmt::format("{{{:08x},{},{},{:08x}{}}}", + descriptor.PC(), + descriptor.TFlag() ? "T" : "!T", + descriptor.EFlag() ? "E" : "!E", + descriptor.FPSCR().Value(), + descriptor.SingleStepping() ? ",step" : ""); + return o; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/location_descriptor.h b/externals/dynarmic/src/dynarmic/frontend/A32/location_descriptor.h new file mode 100755 index 000000000..4b68d2def --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/location_descriptor.h @@ -0,0 +1,153 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A32/FPSCR.h" +#include "dynarmic/frontend/A32/ITState.h" +#include "dynarmic/frontend/A32/PSR.h" +#include "dynarmic/ir/location_descriptor.h" + +namespace Dynarmic::A32 { + +/** + * LocationDescriptor describes the location of a basic block. + * The location is not solely based on the PC because other flags influence the way + * instructions should be translated. The CPSR.T flag is most notable since it + * tells us if the processor is in Thumb or Arm mode. + */ +class LocationDescriptor { +public: + // Indicates bits that should be preserved within descriptors. + static constexpr u32 CPSR_MODE_MASK = 0x0600FE20; + static constexpr u32 FPSCR_MODE_MASK = 0x07F70000; + + LocationDescriptor(u32 arm_pc, PSR cpsr, FPSCR fpscr, bool single_stepping = false) + : arm_pc(arm_pc) + , cpsr(cpsr.Value() & CPSR_MODE_MASK) + , fpscr(fpscr.Value() & FPSCR_MODE_MASK) + , single_stepping(single_stepping) {} + + explicit LocationDescriptor(const IR::LocationDescriptor& o) { + arm_pc = static_cast(o.Value()); + cpsr.T((o.Value() >> 32) & 1); + cpsr.E((o.Value() >> 32) & 2); + fpscr = (o.Value() >> 32) & FPSCR_MODE_MASK; + cpsr.IT(ITState{static_cast(o.Value() >> 40)}); + single_stepping = (o.Value() >> 32) & 4; + } + + u32 PC() const { return arm_pc; } + bool TFlag() const { return cpsr.T(); } + bool EFlag() const { return cpsr.E(); } + ITState IT() const { return cpsr.IT(); } + + A32::PSR CPSR() const { return cpsr; } + A32::FPSCR FPSCR() const { return fpscr; } + + bool SingleStepping() const { return single_stepping; } + + bool operator==(const LocationDescriptor& o) const { + return std::tie(arm_pc, cpsr, fpscr, single_stepping) == std::tie(o.arm_pc, o.cpsr, o.fpscr, o.single_stepping); + } + + bool operator!=(const LocationDescriptor& o) const { + return !operator==(o); + } + + LocationDescriptor SetPC(u32 new_arm_pc) const { + return LocationDescriptor(new_arm_pc, cpsr, fpscr, single_stepping); + } + + LocationDescriptor AdvancePC(int amount) const { + return LocationDescriptor(static_cast(arm_pc + amount), cpsr, fpscr, single_stepping); + } + + LocationDescriptor SetTFlag(bool new_tflag) const { + PSR new_cpsr = cpsr; + new_cpsr.T(new_tflag); + + return LocationDescriptor(arm_pc, new_cpsr, fpscr, single_stepping); + } + + LocationDescriptor SetEFlag(bool new_eflag) const { + PSR new_cpsr = cpsr; + new_cpsr.E(new_eflag); + + return LocationDescriptor(arm_pc, new_cpsr, fpscr, single_stepping); + } + + LocationDescriptor SetFPSCR(u32 new_fpscr) const { + return LocationDescriptor(arm_pc, cpsr, A32::FPSCR{new_fpscr & FPSCR_MODE_MASK}, single_stepping); + } + + LocationDescriptor SetIT(ITState new_it) const { + PSR new_cpsr = cpsr; + new_cpsr.IT(new_it); + + return LocationDescriptor(arm_pc, new_cpsr, fpscr, single_stepping); + } + + LocationDescriptor AdvanceIT() const { + return SetIT(IT().Advance()); + } + + LocationDescriptor SetSingleStepping(bool new_single_stepping) const { + return LocationDescriptor(arm_pc, cpsr, fpscr, new_single_stepping); + } + + u64 UniqueHash() const noexcept { + // This value MUST BE UNIQUE. + // This calculation has to match up with EmitX64::EmitTerminalPopRSBHint + const u64 pc_u64 = arm_pc; + const u64 fpscr_u64 = fpscr.Value(); + const u64 t_u64 = cpsr.T() ? 1 : 0; + const u64 e_u64 = cpsr.E() ? 2 : 0; + const u64 single_stepping_u64 = single_stepping ? 4 : 0; + const u64 it_u64 = u64(cpsr.IT().Value()) << 8; + const u64 upper = (fpscr_u64 | t_u64 | e_u64 | single_stepping_u64 | it_u64) << 32; + return pc_u64 | upper; + } + + operator IR::LocationDescriptor() const { + return IR::LocationDescriptor{UniqueHash()}; + } + +private: + u32 arm_pc; ///< Current program counter value. + PSR cpsr; ///< Current program status register. + A32::FPSCR fpscr; ///< Floating point status control register. + bool single_stepping; +}; + +/** + * Provides a string representation of a LocationDescriptor. + * + * @param o Output stream + * @param descriptor The descriptor to get a string representation of + */ +std::ostream& operator<<(std::ostream& o, const LocationDescriptor& descriptor); + +} // namespace Dynarmic::A32 + +namespace std { +template<> +struct less { + bool operator()(const Dynarmic::A32::LocationDescriptor& x, const Dynarmic::A32::LocationDescriptor& y) const noexcept { + return x.UniqueHash() < y.UniqueHash(); + } +}; +template<> +struct hash { + size_t operator()(const Dynarmic::A32::LocationDescriptor& x) const noexcept { + return std::hash()(x.UniqueHash()); + } +}; +} // namespace std diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.cpp new file mode 100755 index 000000000..9ed61a9cb --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.cpp @@ -0,0 +1,80 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A32/translate/conditional_state.h" + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A32/ir_emitter.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" +#include "dynarmic/interface/A32/config.h" +#include "dynarmic/ir/cond.h" + +namespace Dynarmic::A32 { + +bool CondCanContinue(ConditionalState cond_state, const A32::IREmitter& ir) { + ASSERT_MSG(cond_state != ConditionalState::Break, "Should never happen."); + + if (cond_state == ConditionalState::None) + return true; + + // TODO: This is more conservative than necessary. + return std::all_of(ir.block.begin(), ir.block.end(), [](const IR::Inst& inst) { return !inst.WritesToCPSR(); }); +} + +bool IsConditionPassed(TranslatorVisitor& v, IR::Cond cond) { + ASSERT_MSG(v.cond_state != ConditionalState::Break, + "This should never happen. We requested a break but that wasn't honored."); + + if (cond == IR::Cond::NV) { + // NV conditional is obsolete + v.RaiseException(Exception::UnpredictableInstruction); + return false; + } + + if (v.cond_state == ConditionalState::Translating) { + if (v.ir.block.ConditionFailedLocation() != v.ir.current_location || cond == IR::Cond::AL) { + v.cond_state = ConditionalState::Trailing; + } else { + if (cond == v.ir.block.GetCondition()) { + v.ir.block.SetConditionFailedLocation(v.ir.current_location.AdvancePC(static_cast(v.current_instruction_size)).AdvanceIT()); + v.ir.block.ConditionFailedCycleCount()++; + return true; + } + + // cond has changed, abort + v.cond_state = ConditionalState::Break; + v.ir.SetTerm(IR::Term::LinkBlockFast{v.ir.current_location}); + return false; + } + } + + if (cond == IR::Cond::AL) { + // Everything is fine with the world + return true; + } + + // non-AL cond + + if (!v.ir.block.empty()) { + // We've already emitted instructions. Quit for now, we'll make a new block here later. + v.cond_state = ConditionalState::Break; + v.ir.SetTerm(IR::Term::LinkBlockFast{v.ir.current_location}); + return false; + } + + // We've not emitted instructions yet. + // We'll emit one instruction, and set the block-entry conditional appropriately. + + v.cond_state = ConditionalState::Translating; + v.ir.block.SetCondition(cond); + v.ir.block.SetConditionFailedLocation(v.ir.current_location.AdvancePC(static_cast(v.current_instruction_size)).AdvanceIT()); + v.ir.block.ConditionFailedCycleCount() = v.ir.block.CycleCount() + 1; + return true; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.h b/externals/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.h new file mode 100755 index 000000000..a86bf9fb4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/conditional_state.h @@ -0,0 +1,33 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::IR { +enum class Cond; +} // namespace Dynarmic::IR + +namespace Dynarmic::A32 { + +class IREmitter; +struct TranslatorVisitor; + +enum class ConditionalState { + /// We haven't met any conditional instructions yet. + None, + /// Current instruction is a conditional. This marks the end of this basic block. + Break, + /// This basic block is made up solely of conditional instructions. + Translating, + /// This basic block is made up of conditional instructions followed by unconditional instructions. + Trailing, +}; + +bool CondCanContinue(ConditionalState cond_state, const A32::IREmitter& ir); +bool IsConditionPassed(TranslatorVisitor& v, IR::Cond cond); + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_load_store_structures.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_load_store_structures.cpp new file mode 100755 index 000000000..54412f1b6 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_load_store_structures.cpp @@ -0,0 +1,374 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { + +namespace { + +std::optional> DecodeType(Imm<4> type, size_t size, size_t align) { + switch (type.ZeroExtend()) { + case 0b0111: // VST1 A1 / VLD1 A1 + if (Common::Bit<1>(align)) { + return std::nullopt; + } + return std::tuple{1, 1, 0}; + case 0b1010: // VST1 A2 / VLD1 A2 + if (align == 0b11) { + return std::nullopt; + } + return std::tuple{1, 2, 0}; + case 0b0110: // VST1 A3 / VLD1 A3 + if (Common::Bit<1>(align)) { + return std::nullopt; + } + return std::tuple{1, 3, 0}; + case 0b0010: // VST1 A4 / VLD1 A4 + return std::tuple{1, 4, 0}; + case 0b1000: // VST2 A1 / VLD2 A1 + if (size == 0b11 || align == 0b11) { + return std::nullopt; + } + return std::tuple{2, 1, 1}; + case 0b1001: // VST2 A1 / VLD2 A1 + if (size == 0b11 || align == 0b11) { + return std::nullopt; + } + return std::tuple{2, 1, 2}; + case 0b0011: // VST2 A2 / VLD2 A2 + if (size == 0b11) { + return std::nullopt; + } + return std::tuple{2, 2, 2}; + case 0b0100: // VST3 / VLD3 + if (size == 0b11 || Common::Bit<1>(align)) { + return std::nullopt; + } + return std::tuple{3, 1, 1}; + case 0b0101: // VST3 / VLD3 + if (size == 0b11 || Common::Bit<1>(align)) { + return std::nullopt; + } + return std::tuple{3, 1, 2}; + case 0b0000: // VST4 / VLD4 + if (size == 0b11) { + return std::nullopt; + } + return std::tuple{4, 1, 1}; + case 0b0001: // VST4 / VLD4 + if (size == 0b11) { + return std::nullopt; + } + return std::tuple{4, 1, 2}; + } + ASSERT_FALSE("Decode error"); +} +} // namespace + +bool TranslatorVisitor::v8_VST_multiple(bool D, Reg n, size_t Vd, Imm<4> type, size_t size, size_t align, Reg m) { + if (type == 0b1011 || type.Bits<2, 3>() == 0b11) { + return DecodeError(); + } + + const auto decoded_type = DecodeType(type, size, align); + if (!decoded_type) { + return UndefinedInstruction(); + } + const auto [nelem, regs, inc] = *decoded_type; + + const ExtReg d = ToExtRegD(Vd, D); + const size_t d_last = RegNumber(d) + inc * (nelem - 1); + if (n == Reg::R15 || d_last + regs > 32) { + return UnpredictableInstruction(); + } + + [[maybe_unused]] const size_t alignment = align == 0 ? 1 : 4 << align; + const size_t ebytes = static_cast(1) << size; + const size_t elements = 8 / ebytes; + + const bool wback = m != Reg::R15; + const bool register_index = m != Reg::R15 && m != Reg::R13; + + IR::U32 address = ir.GetRegister(n); + for (size_t r = 0; r < regs; r++) { + for (size_t e = 0; e < elements; e++) { + for (size_t i = 0; i < nelem; i++) { + const ExtReg ext_reg = d + i * inc + r; + const IR::U64 shifted_element = ir.LogicalShiftRight(ir.GetExtendedRegister(ext_reg), ir.Imm8(static_cast(e * ebytes * 8))); + const IR::UAny element = ir.LeastSignificant(8 * ebytes, shifted_element); + ir.WriteMemory(8 * ebytes, address, element); + + address = ir.Add(address, ir.Imm32(static_cast(ebytes))); + } + } + } + + if (wback) { + if (register_index) { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.GetRegister(m))); + } else { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.Imm32(static_cast(8 * nelem * regs)))); + } + } + + return true; +} + +bool TranslatorVisitor::v8_VLD_multiple(bool D, Reg n, size_t Vd, Imm<4> type, size_t size, size_t align, Reg m) { + if (type == 0b1011 || type.Bits<2, 3>() == 0b11) { + return DecodeError(); + } + + const auto decoded_type = DecodeType(type, size, align); + if (!decoded_type) { + return UndefinedInstruction(); + } + const auto [nelem, regs, inc] = *decoded_type; + + const ExtReg d = ToExtRegD(Vd, D); + const size_t d_last = RegNumber(d) + inc * (nelem - 1); + if (n == Reg::R15 || d_last + regs > 32) { + return UnpredictableInstruction(); + } + + [[maybe_unused]] const size_t alignment = align == 0 ? 1 : 4 << align; + const size_t ebytes = static_cast(1) << size; + const size_t elements = 8 / ebytes; + + const bool wback = m != Reg::R15; + const bool register_index = m != Reg::R15 && m != Reg::R13; + + for (size_t r = 0; r < regs; r++) { + for (size_t i = 0; i < nelem; i++) { + const ExtReg ext_reg = d + i * inc + r; + ir.SetExtendedRegister(ext_reg, ir.Imm64(0)); + } + } + + IR::U32 address = ir.GetRegister(n); + for (size_t r = 0; r < regs; r++) { + for (size_t e = 0; e < elements; e++) { + for (size_t i = 0; i < nelem; i++) { + const IR::U64 element = ir.ZeroExtendToLong(ir.ReadMemory(ebytes * 8, address)); + const IR::U64 shifted_element = ir.LogicalShiftLeft(element, ir.Imm8(static_cast(e * ebytes * 8))); + + const ExtReg ext_reg = d + i * inc + r; + ir.SetExtendedRegister(ext_reg, ir.Or(ir.GetExtendedRegister(ext_reg), shifted_element)); + + address = ir.Add(address, ir.Imm32(static_cast(ebytes))); + } + } + } + + if (wback) { + if (register_index) { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.GetRegister(m))); + } else { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.Imm32(static_cast(8 * nelem * regs)))); + } + } + + return true; +} + +bool TranslatorVisitor::v8_VLD_all_lanes(bool D, Reg n, size_t Vd, size_t nn, size_t sz, bool T, bool a, Reg m) { + const size_t nelem = nn + 1; + + if (nelem == 1 && (sz == 0b11 || (sz == 0b00 && a))) { + return UndefinedInstruction(); + } + if (nelem == 2 && sz == 0b11) { + return UndefinedInstruction(); + } + if (nelem == 3 && (sz == 0b11 || a)) { + return UndefinedInstruction(); + } + if (nelem == 4 && (sz == 0b11 && !a)) { + return UndefinedInstruction(); + } + + const size_t ebytes = sz == 0b11 ? 4 : (1 << sz); + const size_t inc = T ? 2 : 1; + const size_t regs = nelem == 1 ? inc : 1; + [[maybe_unused]] const size_t alignment = [&]() -> size_t { + if (a && nelem == 1) { + return ebytes; + } + if (a && nelem == 2) { + return ebytes * 2; + } + if (a && nelem == 4) { + return sz >= 0b10 ? 2 * ebytes : 4 * ebytes; + } + return 1; + }(); + + const ExtReg d = ToExtRegD(Vd, D); + const size_t d_last = RegNumber(d) + inc * (nelem - 1); + if (n == Reg::R15 || d_last + regs > 32) { + return UnpredictableInstruction(); + } + + const bool wback = m != Reg::R15; + const bool register_index = m != Reg::R15 && m != Reg::R13; + + auto address = ir.GetRegister(n); + for (size_t i = 0; i < nelem; i++) { + const auto element = ir.ReadMemory(ebytes * 8, address); + const auto replicated_element = ir.VectorBroadcast(ebytes * 8, element); + + for (size_t r = 0; r < regs; r++) { + const ExtReg ext_reg = d + i * inc + r; + ir.SetVector(ext_reg, replicated_element); + } + + address = ir.Add(address, ir.Imm32(static_cast(ebytes))); + } + + if (wback) { + if (register_index) { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.GetRegister(m))); + } else { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.Imm32(static_cast(nelem * ebytes)))); + } + } + + return true; +} + +bool TranslatorVisitor::v8_VST_single(bool D, Reg n, size_t Vd, size_t sz, size_t nn, size_t index_align, Reg m) { + const size_t nelem = nn + 1; + + if (sz == 0b11) { + return DecodeError(); + } + + if (nelem == 1 && Common::Bit(sz, index_align)) { + return UndefinedInstruction(); + } + + const size_t ebytes = size_t(1) << sz; + const size_t index = Common::Bits(sz + 1, 3, index_align); + const size_t inc = (sz != 0 && Common::Bit(sz, index_align)) ? 2 : 1; + const size_t a = Common::Bits(0, sz ? sz - 1 : 0, index_align); + + if (nelem == 1 && inc == 2) { + return UndefinedInstruction(); + } + if (nelem == 1 && sz == 2 && (a != 0b00 && a != 0b11)) { + return UndefinedInstruction(); + } + if (nelem == 2 && Common::Bit<1>(a)) { + return UndefinedInstruction(); + } + if (nelem == 3 && a != 0b00) { + return UndefinedInstruction(); + } + if (nelem == 4 && a == 0b11) { + return UndefinedInstruction(); + } + + // TODO: alignment + + const ExtReg d = ToExtRegD(Vd, D); + const size_t d_last = RegNumber(d) + inc * (nelem - 1); + if (n == Reg::R15 || d_last + 1 > 32) { + return UnpredictableInstruction(); + } + + const bool wback = m != Reg::R15; + const bool register_index = m != Reg::R15 && m != Reg::R13; + + auto address = ir.GetRegister(n); + for (size_t i = 0; i < nelem; i++) { + const ExtReg ext_reg = d + i * inc; + const auto element = ir.VectorGetElement(ebytes * 8, ir.GetVector(ext_reg), index); + + ir.WriteMemory(ebytes * 8, address, element); + + address = ir.Add(address, ir.Imm32(static_cast(ebytes))); + } + + if (wback) { + if (register_index) { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.GetRegister(m))); + } else { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.Imm32(static_cast(nelem * ebytes)))); + } + } + + return true; +} + +bool TranslatorVisitor::v8_VLD_single(bool D, Reg n, size_t Vd, size_t sz, size_t nn, size_t index_align, Reg m) { + const size_t nelem = nn + 1; + + if (sz == 0b11) { + return DecodeError(); + } + + if (nelem == 1 && Common::Bit(sz, index_align)) { + return UndefinedInstruction(); + } + + const size_t ebytes = size_t(1) << sz; + const size_t index = Common::Bits(sz + 1, 3, index_align); + const size_t inc = (sz != 0 && Common::Bit(sz, index_align)) ? 2 : 1; + const size_t a = Common::Bits(0, sz ? sz - 1 : 0, index_align); + + if (nelem == 1 && inc == 2) { + return UndefinedInstruction(); + } + if (nelem == 1 && sz == 2 && (a != 0b00 && a != 0b11)) { + return UndefinedInstruction(); + } + if (nelem == 2 && Common::Bit<1>(a)) { + return UndefinedInstruction(); + } + if (nelem == 3 && a != 0b00) { + return UndefinedInstruction(); + } + if (nelem == 4 && a == 0b11) { + return UndefinedInstruction(); + } + + // TODO: alignment + + const ExtReg d = ToExtRegD(Vd, D); + const size_t d_last = RegNumber(d) + inc * (nelem - 1); + if (n == Reg::R15 || d_last + 1 > 32) { + return UnpredictableInstruction(); + } + + const bool wback = m != Reg::R15; + const bool register_index = m != Reg::R15 && m != Reg::R13; + + auto address = ir.GetRegister(n); + for (size_t i = 0; i < nelem; i++) { + const auto element = ir.ReadMemory(ebytes * 8, address); + + const ExtReg ext_reg = d + i * inc; + const auto new_reg = ir.VectorSetElement(ebytes * 8, ir.GetVector(ext_reg), index, element); + ir.SetVector(ext_reg, new_reg); + + address = ir.Add(address, ir.Imm32(static_cast(ebytes))); + } + + if (wback) { + if (register_index) { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.GetRegister(m))); + } else { + ir.SetRegister(n, ir.Add(ir.GetRegister(n), ir.Imm32(static_cast(nelem * ebytes)))); + } + } + + return true; +} +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_misc.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_misc.cpp new file mode 100755 index 000000000..3e05d4281 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_misc.cpp @@ -0,0 +1,90 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { + +static bool TableLookup(TranslatorVisitor& v, bool is_vtbl, bool D, size_t Vn, size_t Vd, size_t len, bool N, bool M, size_t Vm) { + const size_t length = len + 1; + const auto d = ToVector(false, Vd, D); + const auto m = ToVector(false, Vm, M); + const auto n = ToVector(false, Vn, N); + + if (RegNumber(n) + length > 32) { + return v.UnpredictableInstruction(); + } + + const IR::Table table = v.ir.VectorTable([&] { + std::vector result; + for (size_t i = 0; i < length; ++i) { + result.emplace_back(v.ir.GetExtendedRegister(n + i)); + } + return result; + }()); + const IR::U64 indicies = v.ir.GetExtendedRegister(m); + const IR::U64 defaults = is_vtbl ? v.ir.Imm64(0) : IR::U64{v.ir.GetExtendedRegister(d)}; + const IR::U64 result = v.ir.VectorTableLookup(defaults, table, indicies); + + v.ir.SetExtendedRegister(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VEXT(bool D, size_t Vn, size_t Vd, Imm<4> imm4, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (!Q && imm4.Bit<3>()) { + return UndefinedInstruction(); + } + + const u8 position = 8 * imm4.ZeroExtend(); + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.GetVector(m); + const auto result = Q ? ir.VectorExtract(reg_n, reg_m, position) : ir.VectorExtractLower(reg_n, reg_m, position); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VTBL(bool D, size_t Vn, size_t Vd, size_t len, bool N, bool M, size_t Vm) { + return TableLookup(*this, true, D, Vn, Vd, len, N, M, Vm); +} + +bool TranslatorVisitor::asimd_VTBX(bool D, size_t Vn, size_t Vd, size_t len, bool N, bool M, size_t Vm) { + return TableLookup(*this, false, D, Vn, Vd, len, N, M, Vm); +} + +bool TranslatorVisitor::asimd_VDUP_scalar(bool D, Imm<4> imm4, size_t Vd, bool Q, bool M, size_t Vm) { + if (Q && Common::Bit<0>(Vd)) { + return UndefinedInstruction(); + } + + if (imm4.Bits<0, 2>() == 0b000) { + return UndefinedInstruction(); + } + + const size_t imm4_lsb = Common::LowestSetBit(imm4.ZeroExtend()); + const size_t esize = 8u << imm4_lsb; + const size_t index = imm4.ZeroExtend() >> (imm4_lsb + 1); + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(false, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto scalar = ir.VectorGetElement(esize, reg_m, index); + const auto result = ir.VectorBroadcast(esize, scalar); + + ir.SetVector(d, result); + return true; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_one_reg_modified_immediate.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_one_reg_modified_immediate.cpp new file mode 100755 index 000000000..7796cd7bc --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_one_reg_modified_immediate.cpp @@ -0,0 +1,111 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { + +bool TranslatorVisitor::asimd_VMOV_imm(Imm<1> a, bool D, Imm<1> b, Imm<1> c, Imm<1> d, size_t Vd, Imm<4> cmode, bool Q, bool op, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h) { + if (Q && Common::Bit<0>(Vd)) { + return UndefinedInstruction(); + } + + const auto d_reg = ToVector(Q, Vd, D); + const auto imm = AdvSIMDExpandImm(op, cmode, concatenate(a, b, c, d, e, f, g, h)); + + // VMOV + const auto mov = [&] { + const auto imm64 = ir.Imm64(imm); + if (Q) { + ir.SetVector(d_reg, ir.VectorBroadcast(64, imm64)); + } else { + ir.SetExtendedRegister(d_reg, imm64); + } + return true; + }; + + // VMVN + const auto mvn = [&] { + const auto imm64 = ir.Imm64(~imm); + if (Q) { + ir.SetVector(d_reg, ir.VectorBroadcast(64, imm64)); + } else { + ir.SetExtendedRegister(d_reg, imm64); + } + return true; + }; + + // VORR + const auto orr = [&] { + const auto imm64 = ir.Imm64(imm); + if (Q) { + const auto reg_value = ir.GetVector(d_reg); + ir.SetVector(d_reg, ir.VectorOr(reg_value, ir.VectorBroadcast(64, imm64))); + } else { + const auto reg_value = ir.GetExtendedRegister(d_reg); + ir.SetExtendedRegister(d_reg, ir.Or(reg_value, imm64)); + } + return true; + }; + + // VBIC + const auto bic = [&] { + const auto imm64 = ir.Imm64(~imm); + if (Q) { + const auto reg_value = ir.GetVector(d_reg); + ir.SetVector(d_reg, ir.VectorAnd(reg_value, ir.VectorBroadcast(64, imm64))); + } else { + const auto reg_value = ir.GetExtendedRegister(d_reg); + ir.SetExtendedRegister(d_reg, ir.And(reg_value, imm64)); + } + return true; + }; + + switch (concatenate(cmode, Imm<1>{op}).ZeroExtend()) { + case 0b00000: + case 0b00100: + case 0b01000: + case 0b01100: + case 0b10000: + case 0b10100: + case 0b11000: + case 0b11010: + case 0b11100: + case 0b11101: + case 0b11110: + return mov(); + case 0b11111: + return UndefinedInstruction(); + case 0b00001: + case 0b00101: + case 0b01001: + case 0b01101: + case 0b10001: + case 0b10101: + case 0b11001: + case 0b11011: + return mvn(); + case 0b00010: + case 0b00110: + case 0b01010: + case 0b01110: + case 0b10010: + case 0b10110: + return orr(); + case 0b00011: + case 0b00111: + case 0b01011: + case 0b01111: + case 0b10011: + case 0b10111: + return bic(); + } + + UNREACHABLE(); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_three_regs.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_three_regs.cpp new file mode 100755 index 000000000..49a655c03 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_three_regs.cpp @@ -0,0 +1,891 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { +namespace { +enum class Comparison { + GE, + GT, + EQ, + AbsoluteGE, + AbsoluteGT, +}; + +enum class AccumulateBehavior { + None, + Accumulate, +}; + +enum class WidenBehaviour { + Second, + Both, +}; + +template +bool BitwiseInstruction(TranslatorVisitor& v, bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm, Callable fn) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return v.UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + if constexpr (WithDst) { + const IR::U128 reg_d = v.ir.GetVector(d); + const IR::U128 reg_m = v.ir.GetVector(m); + const IR::U128 reg_n = v.ir.GetVector(n); + const IR::U128 result = fn(reg_d, reg_n, reg_m); + v.ir.SetVector(d, result); + } else { + const IR::U128 reg_m = v.ir.GetVector(m); + const IR::U128 reg_n = v.ir.GetVector(n); + const IR::U128 result = fn(reg_n, reg_m); + v.ir.SetVector(d, result); + } + + return true; +} + +template +bool FloatingPointInstruction(TranslatorVisitor& v, bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm, Callable fn) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return v.UndefinedInstruction(); + } + + if (sz == 0b1) { + return v.UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_d = v.ir.GetVector(d); + const auto reg_n = v.ir.GetVector(n); + const auto reg_m = v.ir.GetVector(m); + const auto result = fn(reg_d, reg_n, reg_m); + + v.ir.SetVector(d, result); + return true; +} + +bool IntegerComparison(TranslatorVisitor& v, bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm, Comparison comparison) { + if (sz == 0b11) { + return v.UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return v.UndefinedInstruction(); + } + + const size_t esize = 8 << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = v.ir.GetVector(n); + const auto reg_m = v.ir.GetVector(m); + const auto result = [&] { + switch (comparison) { + case Comparison::GT: + return U ? v.ir.VectorGreaterUnsigned(esize, reg_n, reg_m) + : v.ir.VectorGreaterSigned(esize, reg_n, reg_m); + case Comparison::GE: + return U ? v.ir.VectorGreaterEqualUnsigned(esize, reg_n, reg_m) + : v.ir.VectorGreaterEqualSigned(esize, reg_n, reg_m); + case Comparison::EQ: + return v.ir.VectorEqual(esize, reg_n, reg_m); + default: + return IR::U128{}; + } + }(); + + v.ir.SetVector(d, result); + return true; +} + +bool FloatComparison(TranslatorVisitor& v, bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm, Comparison comparison) { + if (sz) { + return v.UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return v.UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = v.ir.GetVector(n); + const auto reg_m = v.ir.GetVector(m); + const auto result = [&] { + switch (comparison) { + case Comparison::GE: + return v.ir.FPVectorGreaterEqual(32, reg_n, reg_m, false); + case Comparison::GT: + return v.ir.FPVectorGreater(32, reg_n, reg_m, false); + case Comparison::EQ: + return v.ir.FPVectorEqual(32, reg_n, reg_m, false); + case Comparison::AbsoluteGE: + return v.ir.FPVectorGreaterEqual(32, v.ir.FPVectorAbs(32, reg_n), v.ir.FPVectorAbs(32, reg_m), false); + case Comparison::AbsoluteGT: + return v.ir.FPVectorGreater(32, v.ir.FPVectorAbs(32, reg_n), v.ir.FPVectorAbs(32, reg_m), false); + default: + return IR::U128{}; + } + }(); + + v.ir.SetVector(d, result); + return true; +} + +bool AbsoluteDifference(TranslatorVisitor& v, bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm, AccumulateBehavior accumulate) { + if (sz == 0b11) { + return v.UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return v.UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_m = v.ir.GetVector(m); + const auto reg_n = v.ir.GetVector(n); + const auto result = [&] { + const auto absdiff = U ? v.ir.VectorUnsignedAbsoluteDifference(esize, reg_n, reg_m) + : v.ir.VectorSignedAbsoluteDifference(esize, reg_n, reg_m); + + if (accumulate == AccumulateBehavior::Accumulate) { + const auto reg_d = v.ir.GetVector(d); + return v.ir.VectorAdd(esize, reg_d, absdiff); + } + + return absdiff; + }(); + + v.ir.SetVector(d, result); + return true; +} + +bool AbsoluteDifferenceLong(TranslatorVisitor& v, bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm, AccumulateBehavior accumulate) { + if (sz == 0b11) { + return v.DecodeError(); + } + + if (Common::Bit<0>(Vd)) { + return v.UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(false, Vm, M); + const auto n = ToVector(false, Vn, N); + + const auto reg_m = v.ir.GetVector(m); + const auto reg_n = v.ir.GetVector(n); + const auto operand_m = v.ir.VectorZeroExtend(esize, v.ir.ZeroExtendToQuad(v.ir.VectorGetElement(64, reg_m, 0))); + const auto operand_n = v.ir.VectorZeroExtend(esize, v.ir.ZeroExtendToQuad(v.ir.VectorGetElement(64, reg_n, 0))); + const auto result = [&] { + const auto absdiff = U ? v.ir.VectorUnsignedAbsoluteDifference(esize, operand_m, operand_n) + : v.ir.VectorSignedAbsoluteDifference(esize, operand_m, operand_n); + + if (accumulate == AccumulateBehavior::Accumulate) { + const auto reg_d = v.ir.GetVector(d); + return v.ir.VectorAdd(2 * esize, reg_d, absdiff); + } + + return absdiff; + }(); + + v.ir.SetVector(d, result); + return true; +} + +template +bool WideInstruction(TranslatorVisitor& v, bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm, WidenBehaviour widen_behaviour, Callable fn) { + const size_t esize = 8U << sz; + const bool widen_first = widen_behaviour == WidenBehaviour::Both; + + if (sz == 0b11) { + return v.DecodeError(); + } + + if (Common::Bit<0>(Vd) || (!widen_first && Common::Bit<0>(Vn))) { + return v.UndefinedInstruction(); + } + + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(false, Vm, M); + const auto n = ToVector(!widen_first, Vn, N); + + const auto reg_d = v.ir.GetVector(d); + const auto reg_m = v.ir.GetVector(m); + const auto reg_n = v.ir.GetVector(n); + const auto wide_n = U ? v.ir.VectorZeroExtend(esize, reg_n) : v.ir.VectorSignExtend(esize, reg_n); + const auto wide_m = U ? v.ir.VectorZeroExtend(esize, reg_m) : v.ir.VectorSignExtend(esize, reg_m); + const auto result = fn(esize * 2, reg_d, widen_first ? wide_n : reg_n, wide_m); + + v.ir.SetVector(d, result); + return true; +} + +} // Anonymous namespace + +// ASIMD Three registers of the same length + +bool TranslatorVisitor::asimd_VHADD(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8 << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const IR::U128 reg_n = ir.GetVector(n); + const IR::U128 reg_m = ir.GetVector(m); + const IR::U128 result = U ? ir.VectorHalvingAddUnsigned(esize, reg_n, reg_m) : ir.VectorHalvingAddSigned(esize, reg_n, reg_m); + ir.SetVector(d, result); + + return true; +} + +bool TranslatorVisitor::asimd_VQADD(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8 << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const IR::U128 reg_n = ir.GetVector(n); + const IR::U128 reg_m = ir.GetVector(m); + const IR::U128 result = U ? ir.VectorUnsignedSaturatedAdd(esize, reg_n, reg_m) : ir.VectorSignedSaturatedAdd(esize, reg_n, reg_m); + ir.SetVector(d, result); + + return true; +} + +bool TranslatorVisitor::asimd_VRHADD(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8 << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const IR::U128 reg_n = ir.GetVector(n); + const IR::U128 reg_m = ir.GetVector(m); + const IR::U128 result = U ? ir.VectorRoundingHalvingAddUnsigned(esize, reg_n, reg_m) : ir.VectorRoundingHalvingAddSigned(esize, reg_n, reg_m); + ir.SetVector(d, result); + + return true; +} + +bool TranslatorVisitor::asimd_VAND_reg(bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return BitwiseInstruction(*this, D, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_n, const auto& reg_m) { + return ir.VectorAnd(reg_n, reg_m); + }); +} + +bool TranslatorVisitor::asimd_VBIC_reg(bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return BitwiseInstruction(*this, D, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_n, const auto& reg_m) { + return ir.VectorAnd(reg_n, ir.VectorNot(reg_m)); + }); +} + +bool TranslatorVisitor::asimd_VORR_reg(bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return BitwiseInstruction(*this, D, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_n, const auto& reg_m) { + return ir.VectorOr(reg_n, reg_m); + }); +} + +bool TranslatorVisitor::asimd_VORN_reg(bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return BitwiseInstruction(*this, D, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_n, const auto& reg_m) { + return ir.VectorOr(reg_n, ir.VectorNot(reg_m)); + }); +} + +bool TranslatorVisitor::asimd_VEOR_reg(bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return BitwiseInstruction(*this, D, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_n, const auto& reg_m) { + return ir.VectorEor(reg_n, reg_m); + }); +} + +bool TranslatorVisitor::asimd_VBSL(bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return BitwiseInstruction(*this, D, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_d, const auto& reg_n, const auto& reg_m) { + return ir.VectorOr(ir.VectorAnd(reg_n, reg_d), ir.VectorAnd(reg_m, ir.VectorNot(reg_d))); + }); +} + +bool TranslatorVisitor::asimd_VBIT(bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return BitwiseInstruction(*this, D, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_d, const auto& reg_n, const auto& reg_m) { + return ir.VectorOr(ir.VectorAnd(reg_n, reg_m), ir.VectorAnd(reg_d, ir.VectorNot(reg_m))); + }); +} + +bool TranslatorVisitor::asimd_VBIF(bool D, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return BitwiseInstruction(*this, D, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_d, const auto& reg_n, const auto& reg_m) { + return ir.VectorOr(ir.VectorAnd(reg_d, reg_m), ir.VectorAnd(reg_n, ir.VectorNot(reg_m))); + }); +} + +bool TranslatorVisitor::asimd_VHSUB(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8 << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const IR::U128 reg_n = ir.GetVector(n); + const IR::U128 reg_m = ir.GetVector(m); + const IR::U128 result = U ? ir.VectorHalvingSubUnsigned(esize, reg_n, reg_m) : ir.VectorHalvingSubSigned(esize, reg_n, reg_m); + ir.SetVector(d, result); + + return true; +} + +bool TranslatorVisitor::asimd_VQSUB(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8 << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const IR::U128 reg_n = ir.GetVector(n); + const IR::U128 reg_m = ir.GetVector(m); + const IR::U128 result = U ? ir.VectorUnsignedSaturatedSub(esize, reg_n, reg_m) : ir.VectorSignedSaturatedSub(esize, reg_n, reg_m); + ir.SetVector(d, result); + + return true; +} + +bool TranslatorVisitor::asimd_VCGT_reg(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return IntegerComparison(*this, U, D, sz, Vn, Vd, N, Q, M, Vm, Comparison::GT); +} + +bool TranslatorVisitor::asimd_VCGE_reg(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return IntegerComparison(*this, U, D, sz, Vn, Vd, N, Q, M, Vm, Comparison::GE); +} + +bool TranslatorVisitor::asimd_VABD(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return AbsoluteDifference(*this, U, D, sz, Vn, Vd, N, Q, M, Vm, AccumulateBehavior::None); +} + +bool TranslatorVisitor::asimd_VABA(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return AbsoluteDifference(*this, U, D, sz, Vn, Vd, N, Q, M, Vm, AccumulateBehavior::Accumulate); +} + +bool TranslatorVisitor::asimd_VADD_int(bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_m = ir.GetVector(m); + const auto reg_n = ir.GetVector(n); + const auto result = ir.VectorAdd(esize, reg_n, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VSUB_int(bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_m = ir.GetVector(m); + const auto reg_n = ir.GetVector(n); + const auto result = ir.VectorSub(esize, reg_n, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VSHL_reg(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_m = ir.GetVector(m); + const auto reg_n = ir.GetVector(n); + const auto result = U ? ir.VectorLogicalVShift(esize, reg_m, reg_n) + : ir.VectorArithmeticVShift(esize, reg_m, reg_n); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VQSHL_reg(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_m = ir.GetVector(m); + const auto reg_n = ir.GetVector(n); + const auto result = U ? ir.VectorUnsignedSaturatedShiftLeft(esize, reg_m, reg_n) + : ir.VectorSignedSaturatedShiftLeft(esize, reg_m, reg_n); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VRSHL(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_m = ir.GetVector(m); + const auto reg_n = ir.GetVector(n); + const auto result = U ? ir.VectorRoundingShiftLeftUnsigned(esize, reg_m, reg_n) + : ir.VectorRoundingShiftLeftSigned(esize, reg_m, reg_n); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VMAX(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, bool op, size_t Vm) { + if (sz == 0b11) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_m = ir.GetVector(m); + const auto reg_n = ir.GetVector(n); + const auto result = [&] { + if (op) { + return U ? ir.VectorMinUnsigned(esize, reg_n, reg_m) + : ir.VectorMinSigned(esize, reg_n, reg_m); + } else { + return U ? ir.VectorMaxUnsigned(esize, reg_n, reg_m) + : ir.VectorMaxSigned(esize, reg_n, reg_m); + } + }(); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VTST(bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8 << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.GetVector(m); + const auto anded = ir.VectorAnd(reg_n, reg_m); + const auto result = ir.VectorNot(ir.VectorEqual(esize, anded, ir.ZeroVector())); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VCEQ_reg(bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return IntegerComparison(*this, false, D, sz, Vn, Vd, N, Q, M, Vm, Comparison::EQ); +} + +bool TranslatorVisitor::asimd_VMLA(bool op, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (sz == 0b11) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.GetVector(m); + const auto reg_d = ir.GetVector(d); + const auto multiply = ir.VectorMultiply(esize, reg_n, reg_m); + const auto result = op ? ir.VectorSub(esize, reg_d, multiply) + : ir.VectorAdd(esize, reg_d, multiply); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VMUL(bool P, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (sz == 0b11 || (P && sz != 0b00)) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.GetVector(m); + const auto result = P ? ir.VectorPolynomialMultiply(reg_n, reg_m) + : ir.VectorMultiply(esize, reg_n, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VPMAX_int(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, bool op, size_t Vm) { + if (sz == 0b11 || Q) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(false, Vd, D); + const auto m = ToVector(false, Vm, M); + const auto n = ToVector(false, Vn, N); + + const auto reg_m = ir.GetVector(m); + const auto reg_n = ir.GetVector(n); + + const auto bottom = ir.VectorDeinterleaveEvenLower(esize, reg_n, reg_m); + const auto top = ir.VectorDeinterleaveOddLower(esize, reg_n, reg_m); + + const auto result = [&] { + if (op) { + return U ? ir.VectorMinUnsigned(esize, bottom, top) + : ir.VectorMinSigned(esize, bottom, top); + } else { + return U ? ir.VectorMaxUnsigned(esize, bottom, top) + : ir.VectorMaxSigned(esize, bottom, top); + } + }(); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VQDMULH(bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b00 || sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorSignedSaturatedDoublingMultiply(esize, reg_n, reg_m); + + ir.SetVector(d, result.upper); + return true; +} + +bool TranslatorVisitor::asimd_VQRDMULH(bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b00 || sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.GetVector(m); + const auto multiply = ir.VectorSignedSaturatedDoublingMultiply(esize, reg_n, reg_m); + const auto result = ir.VectorAdd(esize, multiply.upper, ir.VectorLogicalShiftRight(esize, multiply.lower, static_cast(esize - 1))); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VPADD(bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q || sz == 0b11) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto n = ToVector(Q, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorPairedAddLower(esize, reg_n, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VFMA(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_d, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorMulAdd(32, reg_d, reg_n, reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VFMS(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_d, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorMulAdd(32, reg_d, ir.FPVectorNeg(32, reg_n), reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VADD_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorAdd(32, reg_n, reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VSUB_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorSub(32, reg_n, reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VPADD_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q) { + return UndefinedInstruction(); + } + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorPairedAddLower(32, reg_n, reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VABD_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorAbs(32, ir.FPVectorSub(32, reg_n, reg_m, false)); + }); +} + +bool TranslatorVisitor::asimd_VMLA_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_d, const auto& reg_n, const auto& reg_m) { + const auto product = ir.FPVectorMul(32, reg_n, reg_m, false); + return ir.FPVectorAdd(32, reg_d, product, false); + }); +} + +bool TranslatorVisitor::asimd_VMLS_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto& reg_d, const auto& reg_n, const auto& reg_m) { + const auto product = ir.FPVectorMul(32, reg_n, reg_m, false); + return ir.FPVectorAdd(32, reg_d, ir.FPVectorNeg(32, product), false); + }); +} + +bool TranslatorVisitor::asimd_VMUL_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorMul(32, reg_n, reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VCEQ_reg_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatComparison(*this, D, sz, Vn, Vd, N, Q, M, Vm, Comparison::EQ); +} + +bool TranslatorVisitor::asimd_VCGE_reg_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatComparison(*this, D, sz, Vn, Vd, N, Q, M, Vm, Comparison::GE); +} + +bool TranslatorVisitor::asimd_VCGT_reg_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatComparison(*this, D, sz, Vn, Vd, N, Q, M, Vm, Comparison::GT); +} + +bool TranslatorVisitor::asimd_VACGE(bool D, bool op, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + const auto comparison = op ? Comparison::AbsoluteGT : Comparison::AbsoluteGE; + return FloatComparison(*this, D, sz, Vn, Vd, N, Q, M, Vm, comparison); +} + +bool TranslatorVisitor::asimd_VMAX_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorMax(32, reg_n, reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VMIN_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorMin(32, reg_n, reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VPMAX_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q) { + return UndefinedInstruction(); + } + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + const auto bottom = ir.VectorDeinterleaveEvenLower(32, reg_n, reg_m); + const auto top = ir.VectorDeinterleaveOddLower(32, reg_n, reg_m); + return ir.FPVectorMax(32, bottom, top, false); + }); +} + +bool TranslatorVisitor::asimd_VPMIN_float(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + if (Q) { + return UndefinedInstruction(); + } + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + const auto bottom = ir.VectorDeinterleaveEvenLower(32, reg_n, reg_m); + const auto top = ir.VectorDeinterleaveOddLower(32, reg_n, reg_m); + return ir.FPVectorMin(32, bottom, top, false); + }); +} + +bool TranslatorVisitor::asimd_VRECPS(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorRecipStepFused(32, reg_n, reg_m, false); + }); +} + +bool TranslatorVisitor::asimd_VRSQRTS(bool D, bool sz, size_t Vn, size_t Vd, bool N, bool Q, bool M, size_t Vm) { + return FloatingPointInstruction(*this, D, sz, Vn, Vd, N, Q, M, Vm, [this](const auto&, const auto& reg_n, const auto& reg_m) { + return ir.FPVectorRSqrtStepFused(32, reg_n, reg_m, false); + }); +} + +// ASIMD Three registers of different length + +bool TranslatorVisitor::asimd_VADDL(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool op, bool N, bool M, size_t Vm) { + return WideInstruction(*this, U, D, sz, Vn, Vd, N, M, Vm, op ? WidenBehaviour::Second : WidenBehaviour::Both, [this](size_t esize, const auto&, const auto& reg_n, const auto& reg_m) { + return ir.VectorAdd(esize, reg_n, reg_m); + }); +} + +bool TranslatorVisitor::asimd_VSUBL(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool op, bool N, bool M, size_t Vm) { + return WideInstruction(*this, U, D, sz, Vn, Vd, N, M, Vm, op ? WidenBehaviour::Second : WidenBehaviour::Both, [this](size_t esize, const auto&, const auto& reg_n, const auto& reg_m) { + return ir.VectorSub(esize, reg_n, reg_m); + }); +} + +bool TranslatorVisitor::asimd_VABAL(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm) { + return AbsoluteDifferenceLong(*this, U, D, sz, Vn, Vd, N, M, Vm, AccumulateBehavior::Accumulate); +} + +bool TranslatorVisitor::asimd_VABDL(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm) { + return AbsoluteDifferenceLong(*this, U, D, sz, Vn, Vd, N, M, Vm, AccumulateBehavior::None); +} + +bool TranslatorVisitor::asimd_VMLAL(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool op, bool N, bool M, size_t Vm) { + return WideInstruction(*this, U, D, sz, Vn, Vd, N, M, Vm, WidenBehaviour::Both, [this, op](size_t esize, const auto& reg_d, const auto& reg_n, const auto& reg_m) { + const auto multiply = ir.VectorMultiply(esize, reg_n, reg_m); + return op ? ir.VectorSub(esize, reg_d, multiply) + : ir.VectorAdd(esize, reg_d, multiply); + }); +} + +bool TranslatorVisitor::asimd_VMULL(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool P, bool N, bool M, size_t Vm) { + if (sz == 0b11) { + return DecodeError(); + } + + if ((P & (U || sz == 0b10)) || Common::Bit<0>(Vd)) { + return UndefinedInstruction(); + } + + const size_t esize = P ? (sz == 0b00 ? 8 : 64) : 8U << sz; + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(false, Vm, M); + const auto n = ToVector(false, Vn, N); + + const auto extend_reg = [&](const auto& reg) { + return U ? ir.VectorZeroExtend(esize, reg) : ir.VectorSignExtend(esize, reg); + }; + + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.GetVector(m); + const auto result = P ? ir.VectorPolynomialMultiplyLong(esize, reg_n, reg_m) + : ir.VectorMultiply(2 * esize, extend_reg(reg_n), extend_reg(reg_m)); + + ir.SetVector(d, result); + return true; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_misc.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_misc.cpp new file mode 100755 index 000000000..449d46da6 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_misc.cpp @@ -0,0 +1,719 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { +namespace { +enum class Comparison { + EQ, + GE, + GT, + LE, + LT, +}; + +bool CompareWithZero(TranslatorVisitor& v, bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm, Comparison type) { + if (sz == 0b11 || (F && sz != 0b10)) { + return v.UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return v.UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto result = [&] { + const auto reg_m = v.ir.GetVector(m); + const auto zero = v.ir.ZeroVector(); + + if (F) { + switch (type) { + case Comparison::EQ: + return v.ir.FPVectorEqual(32, reg_m, zero, false); + case Comparison::GE: + return v.ir.FPVectorGreaterEqual(32, reg_m, zero, false); + case Comparison::GT: + return v.ir.FPVectorGreater(32, reg_m, zero, false); + case Comparison::LE: + return v.ir.FPVectorGreaterEqual(32, zero, reg_m, false); + case Comparison::LT: + return v.ir.FPVectorGreater(32, zero, reg_m, false); + } + + return IR::U128{}; + } else { + static constexpr std::array fns{ + &IREmitter::VectorEqual, + &IREmitter::VectorGreaterEqualSigned, + &IREmitter::VectorGreaterSigned, + &IREmitter::VectorLessEqualSigned, + &IREmitter::VectorLessSigned, + }; + + const size_t esize = 8U << sz; + return (v.ir.*fns[static_cast(type)])(esize, reg_m, zero); + } + }(); + + v.ir.SetVector(d, result); + return true; +} + +enum class AccumulateBehavior { + None, + Accumulate, +}; + +bool PairedAddOperation(TranslatorVisitor& v, bool D, size_t sz, size_t Vd, bool op, bool Q, bool M, size_t Vm, AccumulateBehavior accumulate) { + if (sz == 0b11) { + return v.UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return v.UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = v.ir.GetVector(m); + const auto result = [&] { + const auto tmp = op ? v.ir.VectorPairedAddUnsignedWiden(esize, reg_m) + : v.ir.VectorPairedAddSignedWiden(esize, reg_m); + + if (accumulate == AccumulateBehavior::Accumulate) { + const auto reg_d = v.ir.GetVector(d); + return v.ir.VectorAdd(esize * 2, reg_d, tmp); + } + + return tmp; + }(); + + v.ir.SetVector(d, result); + return true; +} + +} // Anonymous namespace + +bool TranslatorVisitor::asimd_VREV(bool D, size_t sz, size_t Vd, size_t op, bool Q, bool M, size_t Vm) { + if (op + sz >= 3) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto result = [this, m, op, sz] { + const auto reg_m = ir.GetVector(m); + const size_t esize = 16U << sz; + const auto shift = static_cast(8U << sz); + + // 64-bit regions + if (op == 0b00) { + IR::U128 result = ir.VectorOr(ir.VectorLogicalShiftRight(esize, reg_m, shift), + ir.VectorLogicalShiftLeft(esize, reg_m, shift)); + + switch (sz) { + case 0: // 8-bit elements + result = ir.VectorShuffleLowHalfwords(result, 0b00011011); + result = ir.VectorShuffleHighHalfwords(result, 0b00011011); + break; + case 1: // 16-bit elements + result = ir.VectorShuffleLowHalfwords(result, 0b01001110); + result = ir.VectorShuffleHighHalfwords(result, 0b01001110); + break; + } + + return result; + } + + // 32-bit regions + if (op == 0b01) { + IR::U128 result = ir.VectorOr(ir.VectorLogicalShiftRight(esize, reg_m, shift), + ir.VectorLogicalShiftLeft(esize, reg_m, shift)); + + // If dealing with 8-bit elements we'll need to shuffle the bytes in each halfword + // e.g. Assume the following numbers point out bytes in a 32-bit word, we're essentially + // changing [3, 2, 1, 0] to [2, 3, 0, 1] + if (sz == 0) { + result = ir.VectorShuffleLowHalfwords(result, 0b10110001); + result = ir.VectorShuffleHighHalfwords(result, 0b10110001); + } + + return result; + } + + // 16-bit regions + return ir.VectorOr(ir.VectorLogicalShiftRight(esize, reg_m, 8), + ir.VectorLogicalShiftLeft(esize, reg_m, 8)); + }(); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VPADDL(bool D, size_t sz, size_t Vd, bool op, bool Q, bool M, size_t Vm) { + return PairedAddOperation(*this, D, sz, Vd, op, Q, M, Vm, AccumulateBehavior::None); +} + +bool TranslatorVisitor::v8_AESD(bool D, size_t sz, size_t Vd, bool M, size_t Vm) { + if (sz != 0b00 || Common::Bit<0>(Vd) || Common::Bit<0>(Vm)) { + return UndefinedInstruction(); + } + + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(true, Vm, M); + const auto reg_d = ir.GetVector(d); + const auto reg_m = ir.GetVector(m); + const auto result = ir.AESDecryptSingleRound(ir.VectorEor(reg_d, reg_m)); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::v8_AESE(bool D, size_t sz, size_t Vd, bool M, size_t Vm) { + if (sz != 0b00 || Common::Bit<0>(Vd) || Common::Bit<0>(Vm)) { + return UndefinedInstruction(); + } + + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(true, Vm, M); + const auto reg_d = ir.GetVector(d); + const auto reg_m = ir.GetVector(m); + const auto result = ir.AESEncryptSingleRound(ir.VectorEor(reg_d, reg_m)); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::v8_AESIMC(bool D, size_t sz, size_t Vd, bool M, size_t Vm) { + if (sz != 0b00 || Common::Bit<0>(Vd) || Common::Bit<0>(Vm)) { + return UndefinedInstruction(); + } + + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(true, Vm, M); + const auto reg_m = ir.GetVector(m); + const auto result = ir.AESInverseMixColumns(reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::v8_AESMC(bool D, size_t sz, size_t Vd, bool M, size_t Vm) { + if (sz != 0b00 || Common::Bit<0>(Vd) || Common::Bit<0>(Vm)) { + return UndefinedInstruction(); + } + + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(true, Vm, M); + const auto reg_m = ir.GetVector(m); + const auto result = ir.AESMixColumns(reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VCLS(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz == 0b11) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto result = [this, m, sz] { + const auto reg_m = ir.GetVector(m); + const size_t esize = 8U << sz; + const auto shifted = ir.VectorArithmeticShiftRight(esize, reg_m, static_cast(esize)); + const auto xored = ir.VectorEor(reg_m, shifted); + const auto clz = ir.VectorCountLeadingZeros(esize, xored); + return ir.VectorSub(esize, clz, ir.VectorBroadcast(esize, I(esize, 1))); + }(); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VCLZ(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz == 0b11) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto result = [this, m, sz] { + const auto reg_m = ir.GetVector(m); + const size_t esize = 8U << sz; + + return ir.VectorCountLeadingZeros(esize, reg_m); + }(); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VCNT(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz != 0b00) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorPopulationCount(reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VMVN_reg(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz != 0b00) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorNot(reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VPADAL(bool D, size_t sz, size_t Vd, bool op, bool Q, bool M, size_t Vm) { + return PairedAddOperation(*this, D, sz, Vd, op, Q, M, Vm, AccumulateBehavior::Accumulate); +} + +bool TranslatorVisitor::asimd_VQABS(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz == 0b11) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorSignedSaturatedAbs(esize, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VQNEG(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz == 0b11) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorSignedSaturatedNeg(esize, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VCGT_zero(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + return CompareWithZero(*this, D, sz, Vd, F, Q, M, Vm, Comparison::GT); +} + +bool TranslatorVisitor::asimd_VCGE_zero(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + return CompareWithZero(*this, D, sz, Vd, F, Q, M, Vm, Comparison::GE); +} + +bool TranslatorVisitor::asimd_VCEQ_zero(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + return CompareWithZero(*this, D, sz, Vd, F, Q, M, Vm, Comparison::EQ); +} + +bool TranslatorVisitor::asimd_VCLE_zero(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + return CompareWithZero(*this, D, sz, Vd, F, Q, M, Vm, Comparison::LE); +} + +bool TranslatorVisitor::asimd_VCLT_zero(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + return CompareWithZero(*this, D, sz, Vd, F, Q, M, Vm, Comparison::LT); +} + +bool TranslatorVisitor::asimd_VABS(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + if (sz == 0b11 || (F && sz != 0b10)) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto result = [this, F, m, sz] { + const auto reg_m = ir.GetVector(m); + + if (F) { + return ir.FPVectorAbs(32, reg_m); + } + + const size_t esize = 8U << sz; + return ir.VectorAbs(esize, reg_m); + }(); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VNEG(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + if (sz == 0b11 || (F && sz != 0b10)) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto result = [this, F, m, sz] { + const auto reg_m = ir.GetVector(m); + + if (F) { + return ir.FPVectorNeg(32, reg_m); + } + + const size_t esize = 8U << sz; + return ir.VectorSub(esize, ir.ZeroVector(), reg_m); + }(); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VSWP(bool D, size_t Vd, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + // Swapping the same register results in the same contents. + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + if (d == m) { + return true; + } + + if (Q) { + const auto reg_d = ir.GetVector(d); + const auto reg_m = ir.GetVector(m); + + ir.SetVector(m, reg_d); + ir.SetVector(d, reg_m); + } else { + const auto reg_d = ir.GetExtendedRegister(d); + const auto reg_m = ir.GetExtendedRegister(m); + + ir.SetExtendedRegister(m, reg_d); + ir.SetExtendedRegister(d, reg_m); + } + + return true; +} + +bool TranslatorVisitor::asimd_VTRN(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz == 0b11) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + if (d == m) { + return UnpredictableInstruction(); + } + + const auto reg_d = ir.GetVector(d); + const auto reg_m = ir.GetVector(m); + const auto result_d = ir.VectorTranspose(esize, reg_d, reg_m, false); + const auto result_m = ir.VectorTranspose(esize, reg_d, reg_m, true); + + ir.SetVector(d, result_d); + ir.SetVector(m, result_m); + return true; +} + +bool TranslatorVisitor::asimd_VUZP(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz == 0b11 || (!Q && sz == 0b10)) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + if (d == m) { + return UnpredictableInstruction(); + } + + const auto reg_d = ir.GetVector(d); + const auto reg_m = ir.GetVector(m); + auto result_d = ir.VectorDeinterleaveEven(esize, reg_d, reg_m); + auto result_m = ir.VectorDeinterleaveOdd(esize, reg_d, reg_m); + + if (!Q) { + result_d = ir.VectorShuffleWords(result_d, 0b11011000); + result_m = ir.VectorShuffleWords(result_m, 0b11011000); + } + + ir.SetVector(d, result_d); + ir.SetVector(m, result_m); + return true; +} + +bool TranslatorVisitor::asimd_VZIP(bool D, size_t sz, size_t Vd, bool Q, bool M, size_t Vm) { + if (sz == 0b11 || (!Q && sz == 0b10)) { + return UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + if (d == m) { + return UnpredictableInstruction(); + } + + const auto reg_d = ir.GetVector(d); + const auto reg_m = ir.GetVector(m); + + if (Q) { + const auto result_d = ir.VectorInterleaveLower(esize, reg_d, reg_m); + const auto result_m = ir.VectorInterleaveUpper(esize, reg_d, reg_m); + + ir.SetVector(d, result_d); + ir.SetVector(m, result_m); + } else { + const auto result = ir.VectorInterleaveLower(esize, reg_d, reg_m); + + ir.SetExtendedRegister(d, ir.VectorGetElement(64, result, 0)); + ir.SetExtendedRegister(m, ir.VectorGetElement(64, result, 1)); + } + return true; +} + +bool TranslatorVisitor::asimd_VMOVN(bool D, size_t sz, size_t Vd, bool M, size_t Vm) { + if (sz == 0b11 || Common::Bit<0>(Vm)) { + return UndefinedInstruction(); + } + const size_t esize = 8U << sz; + const auto d = ToVector(false, Vd, D); + const auto m = ToVector(true, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorNarrow(2 * esize, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VQMOVUN(bool D, size_t sz, size_t Vd, bool M, size_t Vm) { + if (sz == 0b11 || Common::Bit<0>(Vm)) { + return UndefinedInstruction(); + } + const size_t esize = 8U << sz; + const auto d = ToVector(false, Vd, D); + const auto m = ToVector(true, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorSignedSaturatedNarrowToUnsigned(2 * esize, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VQMOVN(bool D, size_t sz, size_t Vd, bool op, bool M, size_t Vm) { + if (sz == 0b11 || Common::Bit<0>(Vm)) { + return UndefinedInstruction(); + } + const size_t esize = 8U << sz; + const auto d = ToVector(false, Vd, D); + const auto m = ToVector(true, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = op ? ir.VectorUnsignedSaturatedNarrow(2 * esize, reg_m) + : ir.VectorSignedSaturatedNarrowToSigned(2 * esize, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VSHLL_max(bool D, size_t sz, size_t Vd, bool M, size_t Vm) { + if (sz == 0b11 || Common::Bit<0>(Vd)) { + return UndefinedInstruction(); + } + const size_t esize = 8U << sz; + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(false, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorLogicalShiftLeft(2 * esize, ir.VectorZeroExtend(esize, reg_m), static_cast(esize)); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VCVT_half(bool D, size_t sz, size_t Vd, bool half_to_single, bool M, size_t Vm) { + if (sz != 0b01) { + return UndefinedInstruction(); + } + if (half_to_single && Common::Bit<0>(Vd)) { + return UndefinedInstruction(); + } + if (!half_to_single && Common::Bit<0>(Vm)) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const size_t num_elements = 4; + const auto rounding_mode = FP::RoundingMode::ToNearest_TieEven; // StandardFPSCRValue().RMode + const auto d = ToVector(half_to_single, Vd, D); + const auto m = ToVector(!half_to_single, Vm, M); + + const auto operand = ir.GetVector(m); + IR::U128 result = ir.ZeroVector(); + for (size_t i = 0; i < num_elements; i++) { + if (half_to_single) { + const IR::U16 old_element = ir.VectorGetElement(esize, operand, i); + const IR::U32 new_element = ir.FPHalfToSingle(old_element, rounding_mode); + result = ir.VectorSetElement(esize * 2, result, i, new_element); + } else { + const IR::U32 old_element = ir.VectorGetElement(esize * 2, operand, i); + const IR::U16 new_element = ir.FPSingleToHalf(old_element, rounding_mode); + result = ir.VectorSetElement(esize, result, i, new_element); + } + } + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VRECPE(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b00 || sz == 0b11) { + return UndefinedInstruction(); + } + + if (!F && sz == 0b01) { + // TODO: Implement 16-bit VectorUnsignedRecipEstimate + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto reg_m = ir.GetVector(m); + const auto result = F ? ir.FPVectorRecipEstimate(esize, reg_m, false) + : ir.VectorUnsignedRecipEstimate(reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VRSQRTE(bool D, size_t sz, size_t Vd, bool F, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz == 0b00 || sz == 0b11) { + return UndefinedInstruction(); + } + + if (!F && sz == 0b01) { + // TODO: Implement 16-bit VectorUnsignedRecipEstimate + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto reg_m = ir.GetVector(m); + const auto result = F ? ir.FPVectorRSqrtEstimate(esize, reg_m, false) + : ir.VectorUnsignedRecipSqrtEstimate(reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VCVT_integer(bool D, size_t sz, size_t Vd, bool op, bool U, bool Q, bool M, size_t Vm) { + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (sz != 0b10) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto reg_m = ir.GetVector(m); + const auto result = op ? (U ? ir.FPVectorToUnsignedFixed(esize, reg_m, 0, FP::RoundingMode::TowardsZero, false) + : ir.FPVectorToSignedFixed(esize, reg_m, 0, FP::RoundingMode::TowardsZero, false)) + : (U ? ir.FPVectorFromUnsignedFixed(esize, reg_m, 0, FP::RoundingMode::ToNearest_TieEven, false) + : ir.FPVectorFromSignedFixed(esize, reg_m, 0, FP::RoundingMode::ToNearest_TieEven, false)); + + ir.SetVector(d, result); + return true; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_scalar.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_scalar.cpp new file mode 100755 index 000000000..ebba0681c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_scalar.cpp @@ -0,0 +1,197 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { +namespace { +std::pair GetScalarLocation(size_t esize, bool M, size_t Vm) { + const ExtReg m = ExtReg::Q0 + ((Vm >> 1) & (esize == 16 ? 0b11 : 0b111)); + const size_t index = concatenate(Imm<1>{Common::Bit<0>(Vm)}, Imm<1>{M}, Imm<1>{Common::Bit<3>(Vm)}).ZeroExtend() >> (esize == 16 ? 0 : 1); + return std::make_pair(m, index); +} + +enum class MultiplyBehavior { + Multiply, + MultiplyAccumulate, + MultiplySubtract, +}; + +enum class Rounding { + None, + Round, +}; + +bool ScalarMultiply(TranslatorVisitor& v, bool Q, bool D, size_t sz, size_t Vn, size_t Vd, bool F, bool N, bool M, size_t Vm, MultiplyBehavior multiply) { + if (sz == 0b11) { + return v.DecodeError(); + } + + if (sz == 0b00 || (F && sz == 0b01)) { + return v.UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn))) { + return v.UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto n = ToVector(Q, Vn, N); + const auto [m, index] = GetScalarLocation(esize, M, Vm); + + const auto scalar = v.ir.VectorGetElement(esize, v.ir.GetVector(m), index); + const auto reg_n = v.ir.GetVector(n); + const auto reg_m = v.ir.VectorBroadcast(esize, scalar); + const auto addend = F ? v.ir.FPVectorMul(esize, reg_n, reg_m, false) + : v.ir.VectorMultiply(esize, reg_n, reg_m); + const auto result = [&] { + switch (multiply) { + case MultiplyBehavior::Multiply: + return addend; + case MultiplyBehavior::MultiplyAccumulate: + return F ? v.ir.FPVectorAdd(esize, v.ir.GetVector(d), addend, false) + : v.ir.VectorAdd(esize, v.ir.GetVector(d), addend); + case MultiplyBehavior::MultiplySubtract: + return F ? v.ir.FPVectorSub(esize, v.ir.GetVector(d), addend, false) + : v.ir.VectorSub(esize, v.ir.GetVector(d), addend); + default: + return IR::U128{}; + } + }(); + + v.ir.SetVector(d, result); + return true; +} + +bool ScalarMultiplyLong(TranslatorVisitor& v, bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm, MultiplyBehavior multiply) { + if (sz == 0b11) { + return v.DecodeError(); + } + + if (sz == 0b00 || Common::Bit<0>(Vd)) { + return v.UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(true, Vd, D); + const auto n = ToVector(false, Vn, N); + const auto [m, index] = GetScalarLocation(esize, M, Vm); + + const auto scalar = v.ir.VectorGetElement(esize, v.ir.GetVector(m), index); + const auto ext_scalar = U ? (esize == 16 ? IR::U32U64{v.ir.ZeroExtendToWord(scalar)} : IR::U32U64{v.ir.ZeroExtendToLong(scalar)}) + : (esize == 16 ? IR::U32U64{v.ir.SignExtendToWord(scalar)} : IR::U32U64{v.ir.SignExtendToLong(scalar)}); + const auto reg_n = U ? v.ir.VectorZeroExtend(esize, v.ir.GetVector(n)) : v.ir.VectorSignExtend(esize, v.ir.GetVector(n)); + const auto reg_m = v.ir.VectorBroadcast(esize * 2, ext_scalar); + const auto addend = v.ir.VectorMultiply(esize * 2, reg_n, reg_m); + const auto result = [&] { + switch (multiply) { + case MultiplyBehavior::Multiply: + return addend; + case MultiplyBehavior::MultiplyAccumulate: + return v.ir.VectorAdd(esize * 2, v.ir.GetVector(d), addend); + case MultiplyBehavior::MultiplySubtract: + return v.ir.VectorSub(esize * 2, v.ir.GetVector(d), addend); + default: + return IR::U128{}; + } + }(); + + v.ir.SetVector(d, result); + return true; +} + +bool ScalarMultiplyReturnHigh(TranslatorVisitor& v, bool Q, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm, Rounding round) { + if (sz == 0b11) { + return v.DecodeError(); + } + + if (sz == 0b00) { + return v.UndefinedInstruction(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vn))) { + return v.UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(Q, Vd, D); + const auto n = ToVector(Q, Vn, N); + const auto [m, index] = GetScalarLocation(esize, M, Vm); + + const auto scalar = v.ir.VectorGetElement(esize, v.ir.GetVector(m), index); + const auto reg_n = v.ir.GetVector(n); + const auto reg_m = v.ir.VectorBroadcast(esize, scalar); + const auto result = [&] { + const auto tmp = v.ir.VectorSignedSaturatedDoublingMultiply(esize, reg_n, reg_m); + + if (round == Rounding::Round) { + return v.ir.VectorAdd(esize, tmp.upper, v.ir.VectorLogicalShiftRight(esize, tmp.lower, static_cast(esize - 1))); + } + + return tmp.upper; + }(); + + v.ir.SetVector(d, result); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::asimd_VMLA_scalar(bool Q, bool D, size_t sz, size_t Vn, size_t Vd, bool op, bool F, bool N, bool M, size_t Vm) { + const auto behavior = op ? MultiplyBehavior::MultiplySubtract + : MultiplyBehavior::MultiplyAccumulate; + return ScalarMultiply(*this, Q, D, sz, Vn, Vd, F, N, M, Vm, behavior); +} + +bool TranslatorVisitor::asimd_VMLAL_scalar(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool op, bool N, bool M, size_t Vm) { + const auto behavior = op ? MultiplyBehavior::MultiplySubtract + : MultiplyBehavior::MultiplyAccumulate; + return ScalarMultiplyLong(*this, U, D, sz, Vn, Vd, N, M, Vm, behavior); +} + +bool TranslatorVisitor::asimd_VMUL_scalar(bool Q, bool D, size_t sz, size_t Vn, size_t Vd, bool F, bool N, bool M, size_t Vm) { + return ScalarMultiply(*this, Q, D, sz, Vn, Vd, F, N, M, Vm, MultiplyBehavior::Multiply); +} + +bool TranslatorVisitor::asimd_VMULL_scalar(bool U, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm) { + return ScalarMultiplyLong(*this, U, D, sz, Vn, Vd, N, M, Vm, MultiplyBehavior::Multiply); +} + +bool TranslatorVisitor::asimd_VQDMULL_scalar(bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm) { + if (sz == 0b11) { + return DecodeError(); + } + + if (sz == 0b00 || Common::Bit<0>(Vd)) { + return UndefinedInstruction(); + } + + const size_t esize = 8U << sz; + const auto d = ToVector(true, Vd, D); + const auto n = ToVector(false, Vn, N); + const auto [m, index] = GetScalarLocation(esize, M, Vm); + + const auto scalar = ir.VectorGetElement(esize, ir.GetVector(m), index); + const auto reg_n = ir.GetVector(n); + const auto reg_m = ir.VectorBroadcast(esize, scalar); + const auto result = ir.VectorSignedSaturatedDoublingMultiplyLong(esize, reg_n, reg_m); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VQDMULH_scalar(bool Q, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm) { + return ScalarMultiplyReturnHigh(*this, Q, D, sz, Vn, Vd, N, M, Vm, Rounding::None); +} + +bool TranslatorVisitor::asimd_VQRDMULH_scalar(bool Q, bool D, size_t sz, size_t Vn, size_t Vd, bool N, bool M, size_t Vm) { + return ScalarMultiplyReturnHigh(*this, Q, D, sz, Vn, Vd, N, M, Vm, Rounding::Round); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_shift.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_shift.cpp new file mode 100755 index 000000000..e5ea0e223 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/asimd_two_regs_shift.cpp @@ -0,0 +1,347 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { +namespace { +enum class Accumulating { + None, + Accumulate +}; + +enum class Rounding { + None, + Round, +}; + +enum class Narrowing { + Truncation, + SaturateToUnsigned, + SaturateToSigned, +}; + +enum class Signedness { + Signed, + Unsigned +}; + +IR::U128 PerformRoundingCorrection(TranslatorVisitor& v, size_t esize, u64 round_value, IR::U128 original, IR::U128 shifted) { + const auto round_const = v.ir.VectorBroadcast(esize, v.I(esize, round_value)); + const auto round_correction = v.ir.VectorEqual(esize, v.ir.VectorAnd(original, round_const), round_const); + return v.ir.VectorSub(esize, shifted, round_correction); +} + +std::pair ElementSizeAndShiftAmount(bool right_shift, bool L, size_t imm6) { + if (right_shift) { + if (L) { + return {64, 64 - imm6}; + } + + const size_t esize = 8U << Common::HighestSetBit(imm6 >> 3); + const size_t shift_amount = (esize * 2) - imm6; + return {esize, shift_amount}; + } else { + if (L) { + return {64, imm6}; + } + + const size_t esize = 8U << Common::HighestSetBit(imm6 >> 3); + const size_t shift_amount = imm6 - esize; + return {esize, shift_amount}; + } +} + +bool ShiftRight(TranslatorVisitor& v, bool U, bool D, size_t imm6, size_t Vd, bool L, bool Q, bool M, size_t Vm, Accumulating accumulate, Rounding rounding) { + if (!L && Common::Bits<3, 5>(imm6) == 0) { + return v.DecodeError(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return v.UndefinedInstruction(); + } + + const auto [esize, shift_amount] = ElementSizeAndShiftAmount(true, L, imm6); + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = v.ir.GetVector(m); + auto result = U ? v.ir.VectorLogicalShiftRight(esize, reg_m, static_cast(shift_amount)) + : v.ir.VectorArithmeticShiftRight(esize, reg_m, static_cast(shift_amount)); + + if (rounding == Rounding::Round) { + const u64 round_value = 1ULL << (shift_amount - 1); + result = PerformRoundingCorrection(v, esize, round_value, reg_m, result); + } + + if (accumulate == Accumulating::Accumulate) { + const auto reg_d = v.ir.GetVector(d); + result = v.ir.VectorAdd(esize, result, reg_d); + } + + v.ir.SetVector(d, result); + return true; +} + +bool ShiftRightNarrowing(TranslatorVisitor& v, bool D, size_t imm6, size_t Vd, bool M, size_t Vm, Rounding rounding, Narrowing narrowing, Signedness signedness) { + if (Common::Bits<3, 5>(imm6) == 0) { + return v.DecodeError(); + } + + if (Common::Bit<0>(Vm)) { + return v.UndefinedInstruction(); + } + + const auto [esize, shift_amount_] = ElementSizeAndShiftAmount(true, false, imm6); + const auto source_esize = 2 * esize; + const auto shift_amount = static_cast(shift_amount_); + + const auto d = ToVector(false, Vd, D); + const auto m = ToVector(true, Vm, M); + + const auto reg_m = v.ir.GetVector(m); + auto wide_result = [&] { + if (signedness == Signedness::Signed) { + return v.ir.VectorArithmeticShiftRight(source_esize, reg_m, shift_amount); + } + return v.ir.VectorLogicalShiftRight(source_esize, reg_m, shift_amount); + }(); + + if (rounding == Rounding::Round) { + const u64 round_value = 1ULL << (shift_amount - 1); + wide_result = PerformRoundingCorrection(v, source_esize, round_value, reg_m, wide_result); + } + + const auto result = [&] { + switch (narrowing) { + case Narrowing::Truncation: + return v.ir.VectorNarrow(source_esize, wide_result); + case Narrowing::SaturateToUnsigned: + if (signedness == Signedness::Signed) { + return v.ir.VectorSignedSaturatedNarrowToUnsigned(source_esize, wide_result); + } + return v.ir.VectorUnsignedSaturatedNarrow(source_esize, wide_result); + case Narrowing::SaturateToSigned: + ASSERT(signedness == Signedness::Signed); + return v.ir.VectorSignedSaturatedNarrowToSigned(source_esize, wide_result); + } + UNREACHABLE(); + }(); + + v.ir.SetVector(d, result); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::asimd_SHR(bool U, bool D, size_t imm6, size_t Vd, bool L, bool Q, bool M, size_t Vm) { + return ShiftRight(*this, U, D, imm6, Vd, L, Q, M, Vm, + Accumulating::None, Rounding::None); +} + +bool TranslatorVisitor::asimd_SRA(bool U, bool D, size_t imm6, size_t Vd, bool L, bool Q, bool M, size_t Vm) { + return ShiftRight(*this, U, D, imm6, Vd, L, Q, M, Vm, + Accumulating::Accumulate, Rounding::None); +} + +bool TranslatorVisitor::asimd_VRSHR(bool U, bool D, size_t imm6, size_t Vd, bool L, bool Q, bool M, size_t Vm) { + return ShiftRight(*this, U, D, imm6, Vd, L, Q, M, Vm, + Accumulating::None, Rounding::Round); +} + +bool TranslatorVisitor::asimd_VRSRA(bool U, bool D, size_t imm6, size_t Vd, bool L, bool Q, bool M, size_t Vm) { + return ShiftRight(*this, U, D, imm6, Vd, L, Q, M, Vm, + Accumulating::Accumulate, Rounding::Round); +} + +bool TranslatorVisitor::asimd_VSRI(bool D, size_t imm6, size_t Vd, bool L, bool Q, bool M, size_t Vm) { + if (!L && Common::Bits<3, 5>(imm6) == 0) { + return DecodeError(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto [esize, shift_amount] = ElementSizeAndShiftAmount(true, L, imm6); + const u64 mask = shift_amount == esize ? 0 : Common::Ones(esize) >> shift_amount; + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto reg_d = ir.GetVector(d); + + const auto shifted = ir.VectorLogicalShiftRight(esize, reg_m, static_cast(shift_amount)); + const auto mask_vec = ir.VectorBroadcast(esize, I(esize, mask)); + const auto result = ir.VectorOr(ir.VectorAnd(reg_d, ir.VectorNot(mask_vec)), shifted); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VSLI(bool D, size_t imm6, size_t Vd, bool L, bool Q, bool M, size_t Vm) { + if (!L && Common::Bits<3, 5>(imm6) == 0) { + return DecodeError(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto [esize, shift_amount] = ElementSizeAndShiftAmount(false, L, imm6); + const u64 mask = Common::Ones(esize) << shift_amount; + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto reg_d = ir.GetVector(d); + + const auto shifted = ir.VectorLogicalShiftLeft(esize, reg_m, static_cast(shift_amount)); + const auto mask_vec = ir.VectorBroadcast(esize, I(esize, mask)); + const auto result = ir.VectorOr(ir.VectorAnd(reg_d, ir.VectorNot(mask_vec)), shifted); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VQSHL(bool U, bool D, size_t imm6, size_t Vd, bool op, bool L, bool Q, bool M, size_t Vm) { + if (!L && Common::Bits<3, 5>(imm6) == 0) { + return DecodeError(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (!U && !op) { + return UndefinedInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + const auto result = [&] { + const auto reg_m = ir.GetVector(m); + const auto [esize, shift_amount] = ElementSizeAndShiftAmount(false, L, imm6); + const IR::U128 shift_vec = ir.VectorBroadcast(esize, I(esize, shift_amount)); + + if (U) { + if (op) { + return ir.VectorUnsignedSaturatedShiftLeft(esize, reg_m, shift_vec); + } + + return ir.VectorSignedSaturatedShiftLeftUnsigned(esize, reg_m, shift_vec); + } + if (op) { + return ir.VectorSignedSaturatedShiftLeft(esize, reg_m, shift_vec); + } + + return IR::U128{}; + }(); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VSHL(bool D, size_t imm6, size_t Vd, bool L, bool Q, bool M, size_t Vm) { + if (!L && Common::Bits<3, 5>(imm6) == 0) { + return DecodeError(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + const auto [esize, shift_amount] = ElementSizeAndShiftAmount(false, L, imm6); + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = ir.VectorLogicalShiftLeft(esize, reg_m, static_cast(shift_amount)); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VSHRN(bool D, size_t imm6, size_t Vd, bool M, size_t Vm) { + return ShiftRightNarrowing(*this, D, imm6, Vd, M, Vm, + Rounding::None, Narrowing::Truncation, Signedness::Unsigned); +} + +bool TranslatorVisitor::asimd_VRSHRN(bool D, size_t imm6, size_t Vd, bool M, size_t Vm) { + return ShiftRightNarrowing(*this, D, imm6, Vd, M, Vm, + Rounding::Round, Narrowing::Truncation, Signedness::Unsigned); +} + +bool TranslatorVisitor::asimd_VQRSHRUN(bool D, size_t imm6, size_t Vd, bool M, size_t Vm) { + return ShiftRightNarrowing(*this, D, imm6, Vd, M, Vm, + Rounding::Round, Narrowing::SaturateToUnsigned, Signedness::Signed); +} + +bool TranslatorVisitor::asimd_VQSHRUN(bool D, size_t imm6, size_t Vd, bool M, size_t Vm) { + return ShiftRightNarrowing(*this, D, imm6, Vd, M, Vm, + Rounding::None, Narrowing::SaturateToUnsigned, Signedness::Signed); +} + +bool TranslatorVisitor::asimd_VQSHRN(bool U, bool D, size_t imm6, size_t Vd, bool M, size_t Vm) { + return ShiftRightNarrowing(*this, D, imm6, Vd, M, Vm, + Rounding::None, U ? Narrowing::SaturateToUnsigned : Narrowing::SaturateToSigned, U ? Signedness::Unsigned : Signedness::Signed); +} + +bool TranslatorVisitor::asimd_VQRSHRN(bool U, bool D, size_t imm6, size_t Vd, bool M, size_t Vm) { + return ShiftRightNarrowing(*this, D, imm6, Vd, M, Vm, + Rounding::Round, U ? Narrowing::SaturateToUnsigned : Narrowing::SaturateToSigned, U ? Signedness::Unsigned : Signedness::Signed); +} + +bool TranslatorVisitor::asimd_VSHLL(bool U, bool D, size_t imm6, size_t Vd, bool M, size_t Vm) { + if (Common::Bits<3, 5>(imm6) == 0) { + return DecodeError(); + } + + if (Common::Bit<0>(Vd)) { + return UndefinedInstruction(); + } + + const auto [esize, shift_amount] = ElementSizeAndShiftAmount(false, false, imm6); + + const auto d = ToVector(true, Vd, D); + const auto m = ToVector(false, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto ext_vec = U ? ir.VectorZeroExtend(esize, reg_m) : ir.VectorSignExtend(esize, reg_m); + const auto result = ir.VectorLogicalShiftLeft(esize * 2, ext_vec, static_cast(shift_amount)); + + ir.SetVector(d, result); + return true; +} + +bool TranslatorVisitor::asimd_VCVT_fixed(bool U, bool D, size_t imm6, size_t Vd, bool to_fixed, bool Q, bool M, size_t Vm) { + if (Common::Bits<3, 5>(imm6) == 0) { + return DecodeError(); + } + + if (Q && (Common::Bit<0>(Vd) || Common::Bit<0>(Vm))) { + return UndefinedInstruction(); + } + + if (!Common::Bit<5>(imm6)) { + return UndefinedInstruction(); + } + + const size_t fbits = 64 - imm6; + const auto d = ToVector(Q, Vd, D); + const auto m = ToVector(Q, Vm, M); + + const auto reg_m = ir.GetVector(m); + const auto result = to_fixed ? (U ? ir.FPVectorToUnsignedFixed(32, reg_m, fbits, FP::RoundingMode::TowardsZero, false) : ir.FPVectorToSignedFixed(32, reg_m, fbits, FP::RoundingMode::TowardsZero, false)) + : (U ? ir.FPVectorFromUnsignedFixed(32, reg_m, fbits, FP::RoundingMode::ToNearest_TieEven, false) : ir.FPVectorFromSignedFixed(32, reg_m, fbits, FP::RoundingMode::ToNearest_TieEven, false)); + + ir.SetVector(d, result); + return true; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/barrier.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/barrier.cpp new file mode 100755 index 000000000..b509cd0e2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/barrier.cpp @@ -0,0 +1,27 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { + +bool TranslatorVisitor::arm_DMB(Imm<4> /*option*/) { + ir.DataMemoryBarrier(); + return true; +} + +bool TranslatorVisitor::arm_DSB(Imm<4> /*option*/) { + ir.DataSynchronizationBarrier(); + return true; +} + +bool TranslatorVisitor::arm_ISB(Imm<4> /*option*/) { + ir.InstructionSynchronizationBarrier(); + ir.BranchWritePC(ir.Imm32(ir.current_location.PC() + 4)); + ir.SetTerm(IR::Term::ReturnToDispatch{}); + return false; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/branch.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/branch.cpp new file mode 100755 index 000000000..0a004f2c4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/impl/branch.cpp @@ -0,0 +1,87 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" + +namespace Dynarmic::A32 { + +// B

, , +// VADD.F32 , , +bool TranslatorVisitor::vfp_VADD(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPAdd(reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VSUB.F64
, , +// VSUB.F32 , , +bool TranslatorVisitor::vfp_VSUB(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPSub(reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VMUL.F64
, , +// VMUL.F32 , , +bool TranslatorVisitor::vfp_VMUL(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPMul(reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VMLA.F64
, , +// VMLA.F32 , , +bool TranslatorVisitor::vfp_VMLA(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto reg_d = ir.GetExtendedRegister(d); + const auto result = ir.FPAdd(reg_d, ir.FPMul(reg_n, reg_m)); + ir.SetExtendedRegister(d, result); + }); +} + +// VMLS.F64
, , +// VMLS.F32 , , +bool TranslatorVisitor::vfp_VMLS(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto reg_d = ir.GetExtendedRegister(d); + const auto result = ir.FPAdd(reg_d, ir.FPNeg(ir.FPMul(reg_n, reg_m))); + ir.SetExtendedRegister(d, result); + }); +} + +// VNMUL.F64
, , +// VNMUL.F32 , , +bool TranslatorVisitor::vfp_VNMUL(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPNeg(ir.FPMul(reg_n, reg_m)); + ir.SetExtendedRegister(d, result); + }); +} + +// VNMLA.F64
, , +// VNMLA.F32 , , +bool TranslatorVisitor::vfp_VNMLA(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto reg_d = ir.GetExtendedRegister(d); + const auto result = ir.FPAdd(ir.FPNeg(reg_d), ir.FPNeg(ir.FPMul(reg_n, reg_m))); + ir.SetExtendedRegister(d, result); + }); +} + +// VNMLS.F64
, , +// VNMLS.F32 , , +bool TranslatorVisitor::vfp_VNMLS(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto reg_d = ir.GetExtendedRegister(d); + const auto result = ir.FPAdd(ir.FPNeg(reg_d), ir.FPMul(reg_n, reg_m)); + ir.SetExtendedRegister(d, result); + }); +} + +// VDIV.F64
, , +// VDIV.F32 , , +bool TranslatorVisitor::vfp_VDIV(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPDiv(reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VFNMS.F64
, , +// VFNMS.F32 , , +bool TranslatorVisitor::vfp_VFNMS(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto reg_d = ir.GetExtendedRegister(d); + const auto result = ir.FPMulAdd(ir.FPNeg(reg_d), reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VFNMA.F64
, , +// VFNMA.F32 , , +bool TranslatorVisitor::vfp_VFNMA(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto reg_d = ir.GetExtendedRegister(d); + const auto result = ir.FPMulAdd(ir.FPNeg(reg_d), ir.FPNeg(reg_n), reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VFMA.F64
, , +// VFMA.F32 , , +bool TranslatorVisitor::vfp_VFMA(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto reg_d = ir.GetExtendedRegister(d); + const auto result = ir.FPMulAdd(reg_d, reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VFMS.F64
, , +// VFMS.F32 , , +bool TranslatorVisitor::vfp_VFMS(Cond cond, bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto reg_d = ir.GetExtendedRegister(d); + const auto result = ir.FPMulAdd(reg_d, ir.FPNeg(reg_n), reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VSEL.F64
, , +// VSEL.F32 , , +bool TranslatorVisitor::vfp_VSEL(bool D, Imm<2> cc, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + const Cond cond = concatenate(cc, Imm<1>{cc.Bit<0>() != cc.Bit<1>()}, Imm<1>{0}).ZeroExtend(); + + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this, cond](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.ConditionalSelect(cond, reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VMAXNM.F64
, , +// VMAXNM.F32 , , +bool TranslatorVisitor::vfp_VMAXNM(bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPMaxNumeric(reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VMINNM.F64
, , +// VMINNM.F32 , , +bool TranslatorVisitor::vfp_VMINNM(bool D, size_t Vn, size_t Vd, bool sz, bool N, bool M, size_t Vm) { + const auto d = ToExtReg(sz, Vd, D); + const auto n = ToExtReg(sz, Vn, N); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, n, m, [this](ExtReg d, ExtReg n, ExtReg m) { + const auto reg_n = ir.GetExtendedRegister(n); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPMinNumeric(reg_n, reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VMOV.32 , +bool TranslatorVisitor::vfp_VMOV_u32_f64(Cond cond, size_t Vd, Reg t, bool D) { + if (t == Reg::PC) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(true, Vd, D); + const auto reg_d = ir.GetExtendedRegister(d); + const auto reg_t = ir.GetRegister(t); + const auto result = ir.Pack2x32To1x64(reg_t, ir.MostSignificantWord(reg_d).result); + + ir.SetExtendedRegister(d, result); + return true; +} + +// VMOV.32 , +bool TranslatorVisitor::vfp_VMOV_f64_u32(Cond cond, size_t Vn, Reg t, bool N) { + if (t == Reg::PC) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto n = ToExtReg(true, Vn, N); + const auto reg_n = ir.GetExtendedRegister(n); + ir.SetRegister(t, ir.LeastSignificantWord(reg_n)); + return true; +} + +// VMOV , +bool TranslatorVisitor::vfp_VMOV_u32_f32(Cond cond, size_t Vn, Reg t, bool N) { + if (t == Reg::PC) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto n = ToExtReg(false, Vn, N); + ir.SetExtendedRegister(n, ir.GetRegister(t)); + return true; +} + +// VMOV , +bool TranslatorVisitor::vfp_VMOV_f32_u32(Cond cond, size_t Vn, Reg t, bool N) { + if (t == Reg::PC) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto n = ToExtReg(false, Vn, N); + ir.SetRegister(t, ir.GetExtendedRegister(n)); + return true; +} + +// VMOV , , , +bool TranslatorVisitor::vfp_VMOV_2u32_2f32(Cond cond, Reg t2, Reg t, bool M, size_t Vm) { + const auto m = ToExtReg(false, Vm, M); + if (t == Reg::PC || t2 == Reg::PC || m == ExtReg::S31) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + ir.SetExtendedRegister(m, ir.GetRegister(t)); + ir.SetExtendedRegister(m + 1, ir.GetRegister(t2)); + return true; +} + +// VMOV , , , +bool TranslatorVisitor::vfp_VMOV_2f32_2u32(Cond cond, Reg t2, Reg t, bool M, size_t Vm) { + const auto m = ToExtReg(false, Vm, M); + if (t == Reg::PC || t2 == Reg::PC || m == ExtReg::S31) { + return UnpredictableInstruction(); + } + + if (t == t2) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + ir.SetRegister(t, ir.GetExtendedRegister(m)); + ir.SetRegister(t2, ir.GetExtendedRegister(m + 1)); + return true; +} + +// VMOV , , +bool TranslatorVisitor::vfp_VMOV_2u32_f64(Cond cond, Reg t2, Reg t, bool M, size_t Vm) { + const auto m = ToExtReg(true, Vm, M); + if (t == Reg::PC || t2 == Reg::PC || m == ExtReg::S31) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto value = ir.Pack2x32To1x64(ir.GetRegister(t), ir.GetRegister(t2)); + ir.SetExtendedRegister(m, value); + return true; +} + +// VMOV , , +bool TranslatorVisitor::vfp_VMOV_f64_2u32(Cond cond, Reg t2, Reg t, bool M, size_t Vm) { + const auto m = ToExtReg(true, Vm, M); + if (t == Reg::PC || t2 == Reg::PC || m == ExtReg::S31) { + return UnpredictableInstruction(); + } + + if (t == t2) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto value = ir.GetExtendedRegister(m); + ir.SetRegister(t, ir.LeastSignificantWord(value)); + ir.SetRegister(t2, ir.MostSignificantWord(value).result); + return true; +} + +// VMOV.32 , +bool TranslatorVisitor::vfp_VMOV_from_i32(Cond cond, Imm<1> i, size_t Vd, Reg t, bool D) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (t == Reg::R15) { + // TODO: v8 removes UPREDICTABLE for R13 + return UnpredictableInstruction(); + } + + const size_t index = i.ZeroExtend(); + const auto d = ToVector(false, Vd, D); + + const auto reg_d = ir.GetVector(d); + const auto scalar = ir.GetRegister(t); + const auto result = ir.VectorSetElement(32, reg_d, index, scalar); + + ir.SetVector(d, result); + return true; +} + +// VMOV.16 , +bool TranslatorVisitor::vfp_VMOV_from_i16(Cond cond, Imm<1> i1, size_t Vd, Reg t, bool D, Imm<1> i2) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (t == Reg::R15) { + // TODO: v8 removes UPREDICTABLE for R13 + return UnpredictableInstruction(); + } + + const size_t index = concatenate(i1, i2).ZeroExtend(); + const auto d = ToVector(false, Vd, D); + + const auto reg_d = ir.GetVector(d); + const auto scalar = ir.LeastSignificantHalf(ir.GetRegister(t)); + const auto result = ir.VectorSetElement(16, reg_d, index, scalar); + + ir.SetVector(d, result); + return true; +} + +// VMOV.8 , +bool TranslatorVisitor::vfp_VMOV_from_i8(Cond cond, Imm<1> i1, size_t Vd, Reg t, bool D, Imm<2> i2) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (t == Reg::R15) { + // TODO: v8 removes UPREDICTABLE for R13 + return UnpredictableInstruction(); + } + + const size_t index = concatenate(i1, i2).ZeroExtend(); + const auto d = ToVector(false, Vd, D); + + const auto reg_d = ir.GetVector(d); + const auto scalar = ir.LeastSignificantByte(ir.GetRegister(t)); + const auto result = ir.VectorSetElement(8, reg_d, index, scalar); + + ir.SetVector(d, result); + return true; +} + +// VMOV.32 , +bool TranslatorVisitor::vfp_VMOV_to_i32(Cond cond, Imm<1> i, size_t Vn, Reg t, bool N) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (t == Reg::R15) { + // TODO: v8 removes UPREDICTABLE for R13 + return UnpredictableInstruction(); + } + + const size_t index = i.ZeroExtend(); + const auto n = ToVector(false, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto result = ir.VectorGetElement(32, reg_n, index); + + ir.SetRegister(t, result); + return true; +} + +// VMOV.{U16,S16} , +bool TranslatorVisitor::vfp_VMOV_to_i16(Cond cond, bool U, Imm<1> i1, size_t Vn, Reg t, bool N, Imm<1> i2) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (t == Reg::R15) { + // TODO: v8 removes UPREDICTABLE for R13 + return UnpredictableInstruction(); + } + + const size_t index = concatenate(i1, i2).ZeroExtend(); + const auto n = ToVector(false, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto scalar = ir.VectorGetElement(16, reg_n, index); + const auto result = U ? ir.ZeroExtendToWord(scalar) : ir.SignExtendToWord(scalar); + + ir.SetRegister(t, result); + return true; +} + +// VMOV.{U8,S8} , +bool TranslatorVisitor::vfp_VMOV_to_i8(Cond cond, bool U, Imm<1> i1, size_t Vn, Reg t, bool N, Imm<2> i2) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (t == Reg::R15) { + // TODO: v8 removes UPREDICTABLE for R13 + return UnpredictableInstruction(); + } + + const size_t index = concatenate(i1, i2).ZeroExtend(); + const auto n = ToVector(false, Vn, N); + + const auto reg_n = ir.GetVector(n); + const auto scalar = ir.VectorGetElement(8, reg_n, index); + const auto result = U ? ir.ZeroExtendToWord(scalar) : ir.SignExtendToWord(scalar); + + ir.SetRegister(t, result); + return true; +} + +// VDUP.{8,16,32} , +// VDUP.{8,16,32}
, +bool TranslatorVisitor::vfp_VDUP(Cond cond, Imm<1> B, bool Q, size_t Vd, Reg t, bool D, Imm<1> E) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (Q && Common::Bit<0>(Vd)) { + return UndefinedInstruction(); + } + if (t == Reg::R15) { + return UnpredictableInstruction(); + } + + const auto d = ToVector(Q, Vd, D); + const size_t BE = concatenate(B, E).ZeroExtend(); + const size_t esize = 32u >> BE; + + if (BE == 0b11) { + return UndefinedInstruction(); + } + + const auto scalar = ir.LeastSignificant(esize, ir.GetRegister(t)); + const auto result = ir.VectorBroadcast(esize, scalar); + ir.SetVector(d, result); + return true; +} + +// VMOV.F64
, # +// VMOV.F32 , # +bool TranslatorVisitor::vfp_VMOV_imm(Cond cond, bool D, Imm<4> imm4H, size_t Vd, bool sz, Imm<4> imm4L) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (ir.current_location.FPSCR().Stride() != 1 || ir.current_location.FPSCR().Len() != 1) { + return UndefinedInstruction(); + } + + const auto d = ToExtReg(sz, Vd, D); + const auto imm8 = concatenate(imm4H, imm4L); + + if (sz) { + const u64 sign = static_cast(imm8.Bit<7>()); + const u64 exp = (imm8.Bit<6>() ? 0x3FC : 0x400) | imm8.Bits<4, 5, u64>(); + const u64 fract = imm8.Bits<0, 3, u64>() << 48; + const u64 immediate = (sign << 63) | (exp << 52) | fract; + ir.SetExtendedRegister(d, ir.Imm64(immediate)); + } else { + const u32 sign = static_cast(imm8.Bit<7>()); + const u32 exp = (imm8.Bit<6>() ? 0x7C : 0x80) | imm8.Bits<4, 5>(); + const u32 fract = imm8.Bits<0, 3>() << 19; + const u32 immediate = (sign << 31) | (exp << 23) | fract; + ir.SetExtendedRegister(d, ir.Imm32(immediate)); + } + return true; +} + +// VMOV.F64
, +// VMOV.F32 , +bool TranslatorVisitor::vfp_VMOV_reg(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this](ExtReg d, ExtReg m) { + ir.SetExtendedRegister(d, ir.GetExtendedRegister(m)); + }); +} + +// VABS.F64
, +// VABS.F32 , +bool TranslatorVisitor::vfp_VABS(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this](ExtReg d, ExtReg m) { + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPAbs(reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VNEG.F64
, +// VNEG.F32 , +bool TranslatorVisitor::vfp_VNEG(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this](ExtReg d, ExtReg m) { + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPNeg(reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VSQRT.F64
, +// VSQRT.F32 , +bool TranslatorVisitor::vfp_VSQRT(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this](ExtReg d, ExtReg m) { + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPSqrt(reg_m); + ir.SetExtendedRegister(d, result); + }); +} + +// VCVTB.f32.f16
, +// VCVTB.f64.f16
, +// VCVTB.f16.f32
, +// VCVTB.f16.f64
, +bool TranslatorVisitor::vfp_VCVTB(Cond cond, bool D, bool op, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const bool convert_from_half = !op; + const auto rounding_mode = ir.current_location.FPSCR().RMode(); + if (convert_from_half) { + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(false, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this, sz, rounding_mode](ExtReg d, ExtReg m) { + const auto reg_m = ir.LeastSignificantHalf(ir.GetExtendedRegister(m)); + const auto result = sz ? IR::U32U64{ir.FPHalfToDouble(reg_m, rounding_mode)} : IR::U32U64{ir.FPHalfToSingle(reg_m, rounding_mode)}; + ir.SetExtendedRegister(d, result); + }); + } else { + const auto d = ToExtReg(false, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this, sz, rounding_mode](ExtReg d, ExtReg m) { + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = sz ? ir.FPDoubleToHalf(reg_m, rounding_mode) : ir.FPSingleToHalf(reg_m, rounding_mode); + ir.SetExtendedRegister(d, ir.Or(ir.And(ir.GetExtendedRegister(d), ir.Imm32(0xFFFF0000)), ir.ZeroExtendToWord(result))); + }); + } +} + +// VCVTT.f32.f16
, +// VCVTT.f64.f16
, +// VCVTT.f16.f32
, +// VCVTT.f16.f64
, +bool TranslatorVisitor::vfp_VCVTT(Cond cond, bool D, bool op, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const bool convert_from_half = !op; + const auto rounding_mode = ir.current_location.FPSCR().RMode(); + if (convert_from_half) { + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(false, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this, sz, rounding_mode](ExtReg d, ExtReg m) { + const auto reg_m = ir.LeastSignificantHalf(ir.LogicalShiftRight(ir.GetExtendedRegister(m), ir.Imm8(16))); + const auto result = sz ? IR::U32U64{ir.FPHalfToDouble(reg_m, rounding_mode)} : IR::U32U64{ir.FPHalfToSingle(reg_m, rounding_mode)}; + ir.SetExtendedRegister(d, result); + }); + } else { + const auto d = ToExtReg(false, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this, sz, rounding_mode](ExtReg d, ExtReg m) { + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = sz ? ir.FPDoubleToHalf(reg_m, rounding_mode) : ir.FPSingleToHalf(reg_m, rounding_mode); + ir.SetExtendedRegister(d, ir.Or(ir.And(ir.GetExtendedRegister(d), ir.Imm32(0x0000FFFF)), ir.LogicalShiftLeft(ir.ZeroExtendToWord(result), ir.Imm8(16)))); + }); + } +} + +// VCMP{E}.F32 , +// VCMP{E}.F64
, +bool TranslatorVisitor::vfp_VCMP(Cond cond, bool D, size_t Vd, bool sz, bool E, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + const auto exc_on_qnan = E; + const auto reg_d = ir.GetExtendedRegister(d); + const auto reg_m = ir.GetExtendedRegister(m); + const auto nzcv = ir.FPCompare(reg_d, reg_m, exc_on_qnan); + + ir.SetFpscrNZCV(nzcv); + return true; +} + +// VCMP{E}.F32 , #0.0 +// VCMP{E}.F64
, #0.0 +bool TranslatorVisitor::vfp_VCMP_zero(Cond cond, bool D, size_t Vd, bool sz, bool E) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto exc_on_qnan = E; + const auto reg_d = ir.GetExtendedRegister(d); + + if (sz) { + const auto nzcv = ir.FPCompare(reg_d, ir.Imm64(0), exc_on_qnan); + ir.SetFpscrNZCV(nzcv); + } else { + const auto nzcv = ir.FPCompare(reg_d, ir.Imm32(0), exc_on_qnan); + ir.SetFpscrNZCV(nzcv); + } + + return true; +} + +// VRINTR.{F16,F32} , +// VRINTR.F64
, +bool TranslatorVisitor::vfp_VRINTR(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + const auto reg_m = ir.GetExtendedRegister(m); + const auto rounding_mode = ir.current_location.FPSCR().RMode(); + + const auto result = ir.FPRoundInt(reg_m, rounding_mode, false); + ir.SetExtendedRegister(d, result); + return true; +} + +// VRINTZ.{F16,F32} , +// VRINTZ.F64
, +bool TranslatorVisitor::vfp_VRINTZ(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + const auto reg_m = ir.GetExtendedRegister(m); + const auto rounding_mode = FP::RoundingMode::TowardsZero; + + const auto result = ir.FPRoundInt(reg_m, rounding_mode, false); + ir.SetExtendedRegister(d, result); + return true; +} + +// VRINTX.{F16,F32} , +// VRINTX.F64
, +bool TranslatorVisitor::vfp_VRINTX(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + const auto reg_m = ir.GetExtendedRegister(m); + const auto rounding_mode = ir.current_location.FPSCR().RMode(); + + const auto result = ir.FPRoundInt(reg_m, rounding_mode, true); + ir.SetExtendedRegister(d, result); + return true; +} + +// VCVT.F64.F32
, +// VCVT.F32.F64 , +bool TranslatorVisitor::vfp_VCVT_f_to_f(Cond cond, bool D, size_t Vd, bool sz, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(!sz, Vd, D); // Destination is of opposite size to source + const auto m = ToExtReg(sz, Vm, M); + const auto reg_m = ir.GetExtendedRegister(m); + const auto rounding_mode = ir.current_location.FPSCR().RMode(); + + if (sz) { + const auto result = ir.FPDoubleToSingle(reg_m, rounding_mode); + ir.SetExtendedRegister(d, result); + } else { + const auto result = ir.FPSingleToDouble(reg_m, rounding_mode); + ir.SetExtendedRegister(d, result); + } + + return true; +} + +// VCVT.F32.{S32,U32} , +// VCVT.F64.{S32,U32} , +bool TranslatorVisitor::vfp_VCVT_from_int(Cond cond, bool D, size_t Vd, bool sz, bool is_signed, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(false, Vm, M); + const auto rounding_mode = ir.current_location.FPSCR().RMode(); + const auto reg_m = ir.GetExtendedRegister(m); + + if (sz) { + const auto result = is_signed + ? ir.FPSignedFixedToDouble(reg_m, 0, rounding_mode) + : ir.FPUnsignedFixedToDouble(reg_m, 0, rounding_mode); + ir.SetExtendedRegister(d, result); + } else { + const auto result = is_signed + ? ir.FPSignedFixedToSingle(reg_m, 0, rounding_mode) + : ir.FPUnsignedFixedToSingle(reg_m, 0, rounding_mode); + ir.SetExtendedRegister(d, result); + } + + return true; +} + +// VCVT.F32.{S16,U16,S32,U32} , +// VCVT.F64.{S16,U16,S32,U32} , +bool TranslatorVisitor::vfp_VCVT_from_fixed(Cond cond, bool D, bool U, size_t Vd, bool sz, bool sx, Imm<1> i, Imm<4> imm4) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const size_t size = sx ? 32 : 16; + const size_t fbits = size - concatenate(imm4, i).ZeroExtend(); + + if (fbits > size) { + return UnpredictableInstruction(); + } + + const auto d = ToExtReg(sz, Vd, D); + const auto rounding_mode = FP::RoundingMode::ToNearest_TieEven; + const auto reg_d = ir.GetExtendedRegister(d); + const auto source = ir.LeastSignificant(size, reg_d); + + if (sz) { + const auto result = U ? ir.FPUnsignedFixedToDouble(source, fbits, rounding_mode) + : ir.FPSignedFixedToDouble(source, fbits, rounding_mode); + ir.SetExtendedRegister(d, result); + } else { + const auto result = U ? ir.FPUnsignedFixedToSingle(source, fbits, rounding_mode) + : ir.FPSignedFixedToSingle(source, fbits, rounding_mode); + ir.SetExtendedRegister(d, result); + } + + return true; +} + +// VCVT{,R}.U32.F32 , +// VCVT{,R}.U32.F64 , +bool TranslatorVisitor::vfp_VCVT_to_u32(Cond cond, bool D, size_t Vd, bool sz, bool round_towards_zero, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const ExtReg d = ToExtReg(false, Vd, D); + const ExtReg m = ToExtReg(sz, Vm, M); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPToFixedU32(reg_m, 0, round_towards_zero ? FP::RoundingMode::TowardsZero : ir.current_location.FPSCR().RMode()); + + ir.SetExtendedRegister(d, result); + return true; +} + +// VCVT{,R}.S32.F32 , +// VCVT{,R}.S32.F64 , +bool TranslatorVisitor::vfp_VCVT_to_s32(Cond cond, bool D, size_t Vd, bool sz, bool round_towards_zero, bool M, size_t Vm) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const auto d = ToExtReg(false, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPToFixedS32(reg_m, 0, round_towards_zero ? FP::RoundingMode::TowardsZero : ir.current_location.FPSCR().RMode()); + + ir.SetExtendedRegister(d, result); + return true; +} + +// VCVT.{S16,U16,S32,U32}.F32 , +// VCVT.{S16,U16,S32,U32}.F64 , +bool TranslatorVisitor::vfp_VCVT_to_fixed(Cond cond, bool D, bool U, size_t Vd, bool sz, bool sx, Imm<1> i, Imm<4> imm4) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const size_t size = sx ? 32 : 16; + const size_t fbits = size - concatenate(imm4, i).ZeroExtend(); + + if (fbits > size) { + return UnpredictableInstruction(); + } + + const auto d = ToExtReg(sz, Vd, D); + const auto rounding_mode = FP::RoundingMode::TowardsZero; + const auto reg_d = ir.GetExtendedRegister(d); + + const auto result = [&]() -> IR::U16U32U64 { + if (sx) { + return U ? ir.FPToFixedU32(reg_d, fbits, rounding_mode) + : ir.FPToFixedS32(reg_d, fbits, rounding_mode); + } else { + return U ? ir.FPToFixedU16(reg_d, fbits, rounding_mode) + : ir.FPToFixedS16(reg_d, fbits, rounding_mode); + } + }(); + + if (sz) { + ir.SetExtendedRegister(d, U ? ir.ZeroExtendToLong(result) : ir.SignExtendToLong(result)); + } else { + ir.SetExtendedRegister(d, U ? ir.ZeroExtendToWord(result) : ir.SignExtendToWord(result)); + } + return true; +} + +// VRINT{A,N,P,M}.F32 , +// VRINT{A,N,P,M}.F64
, +bool TranslatorVisitor::vfp_VRINT_rm(bool D, size_t rm, size_t Vd, bool sz, bool M, size_t Vm) { + const std::array rm_lookup{ + FP::RoundingMode::ToNearest_TieAwayFromZero, + FP::RoundingMode::ToNearest_TieEven, + FP::RoundingMode::TowardsPlusInfinity, + FP::RoundingMode::TowardsMinusInfinity, + }; + const FP::RoundingMode rounding_mode = rm_lookup[rm]; + + const auto d = ToExtReg(sz, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this, rounding_mode](ExtReg d, ExtReg m) { + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = ir.FPRoundInt(reg_m, rounding_mode, false); + ir.SetExtendedRegister(d, result); + }); +} + +// VCVT{A,N,P,M}.F32 , +// VCVT{A,N,P,M}.F64 , +bool TranslatorVisitor::vfp_VCVT_rm(bool D, size_t rm, size_t Vd, bool sz, bool U, bool M, size_t Vm) { + const std::array rm_lookup{ + FP::RoundingMode::ToNearest_TieAwayFromZero, + FP::RoundingMode::ToNearest_TieEven, + FP::RoundingMode::TowardsPlusInfinity, + FP::RoundingMode::TowardsMinusInfinity, + }; + const FP::RoundingMode rounding_mode = rm_lookup[rm]; + const bool unsigned_ = !U; + + const auto d = ToExtReg(false, Vd, D); + const auto m = ToExtReg(sz, Vm, M); + + return EmitVfpVectorOperation(sz, d, m, [this, rounding_mode, unsigned_](ExtReg d, ExtReg m) { + const auto reg_m = ir.GetExtendedRegister(m); + const auto result = unsigned_ ? ir.FPToFixedU32(reg_m, 0, rounding_mode) : ir.FPToFixedS32(reg_m, 0, rounding_mode); + ir.SetExtendedRegister(d, result); + }); +} + +// VMSR FPSCR, +bool TranslatorVisitor::vfp_VMSR(Cond cond, Reg t) { + if (t == Reg::PC) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + // TODO: Replace this with a local cache. + ir.PushRSB(ir.current_location.AdvancePC(4).AdvanceIT()); + + ir.UpdateUpperLocationDescriptor(); + ir.SetFpscr(ir.GetRegister(t)); + ir.BranchWritePC(ir.Imm32(ir.current_location.PC() + 4)); + ir.SetTerm(IR::Term::PopRSBHint{}); + return false; +} + +// VMRS , FPSCR +bool TranslatorVisitor::vfp_VMRS(Cond cond, Reg t) { + if (!VFPConditionPassed(cond)) { + return true; + } + + if (t == Reg::R15) { + // This encodes ASPR_nzcv access + const auto nzcv = ir.GetFpscrNZCV(); + ir.SetCpsrNZCV(nzcv); + } else { + ir.SetRegister(t, ir.GetFpscr()); + } + + return true; +} + +// VPOP.{F32,F64} +bool TranslatorVisitor::vfp_VPOP(Cond cond, bool D, size_t Vd, bool sz, Imm<8> imm8) { + const ExtReg d = ToExtReg(sz, Vd, D); + const size_t regs = sz ? imm8.ZeroExtend() >> 1 : imm8.ZeroExtend(); + + if (regs == 0 || RegNumber(d) + regs > 32) { + return UnpredictableInstruction(); + } + + if (sz && regs > 16) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const u32 imm32 = imm8.ZeroExtend() << 2; + auto address = ir.GetRegister(Reg::SP); + ir.SetRegister(Reg::SP, ir.Add(address, ir.Imm32(imm32))); + + for (size_t i = 0; i < regs; ++i) { + if (sz) { + auto lo = ir.ReadMemory32(address); + address = ir.Add(address, ir.Imm32(4)); + auto hi = ir.ReadMemory32(address); + address = ir.Add(address, ir.Imm32(4)); + if (ir.current_location.EFlag()) { + std::swap(lo, hi); + } + ir.SetExtendedRegister(d + i, ir.Pack2x32To1x64(lo, hi)); + } else { + const auto res = ir.ReadMemory32(address); + ir.SetExtendedRegister(d + i, res); + address = ir.Add(address, ir.Imm32(4)); + } + } + + return true; +} + +// VPUSH.{F32,F64} +bool TranslatorVisitor::vfp_VPUSH(Cond cond, bool D, size_t Vd, bool sz, Imm<8> imm8) { + const ExtReg d = ToExtReg(sz, Vd, D); + const size_t regs = sz ? imm8.ZeroExtend() >> 1 : imm8.ZeroExtend(); + + if (regs == 0 || RegNumber(d) + regs > 32) { + return UnpredictableInstruction(); + } + + if (sz && regs > 16) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const u32 imm32 = imm8.ZeroExtend() << 2; + auto address = ir.Sub(ir.GetRegister(Reg::SP), ir.Imm32(imm32)); + ir.SetRegister(Reg::SP, address); + + for (size_t i = 0; i < regs; ++i) { + if (sz) { + const auto reg_d = ir.GetExtendedRegister(d + i); + auto lo = ir.LeastSignificantWord(reg_d); + auto hi = ir.MostSignificantWord(reg_d).result; + if (ir.current_location.EFlag()) + std::swap(lo, hi); + ir.WriteMemory32(address, lo); + address = ir.Add(address, ir.Imm32(4)); + ir.WriteMemory32(address, hi); + address = ir.Add(address, ir.Imm32(4)); + } else { + ir.WriteMemory32(address, ir.GetExtendedRegister(d + i)); + address = ir.Add(address, ir.Imm32(4)); + } + } + + return true; +} + +// VLDR
, [{, #+/-}] +// VLDR , [{, #+/-}] +bool TranslatorVisitor::vfp_VLDR(Cond cond, bool U, bool D, Reg n, size_t Vd, bool sz, Imm<8> imm8) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const u32 imm32 = imm8.ZeroExtend() << 2; + const auto d = ToExtReg(sz, Vd, D); + const auto base = n == Reg::PC ? ir.Imm32(ir.AlignPC(4)) : ir.GetRegister(n); + const auto address = U ? ir.Add(base, ir.Imm32(imm32)) : ir.Sub(base, ir.Imm32(imm32)); + + if (sz) { + auto lo = ir.ReadMemory32(address); + auto hi = ir.ReadMemory32(ir.Add(address, ir.Imm32(4))); + if (ir.current_location.EFlag()) { + std::swap(lo, hi); + } + ir.SetExtendedRegister(d, ir.Pack2x32To1x64(lo, hi)); + } else { + ir.SetExtendedRegister(d, ir.ReadMemory32(address)); + } + + return true; +} + +// VSTR
, [{, #+/-}] +// VSTR , [{, #+/-}] +bool TranslatorVisitor::vfp_VSTR(Cond cond, bool U, bool D, Reg n, size_t Vd, bool sz, Imm<8> imm8) { + if (!VFPConditionPassed(cond)) { + return true; + } + + const u32 imm32 = imm8.ZeroExtend() << 2; + const auto d = ToExtReg(sz, Vd, D); + const auto base = n == Reg::PC ? ir.Imm32(ir.AlignPC(4)) : ir.GetRegister(n); + const auto address = U ? ir.Add(base, ir.Imm32(imm32)) : ir.Sub(base, ir.Imm32(imm32)); + if (sz) { + const auto reg_d = ir.GetExtendedRegister(d); + auto lo = ir.LeastSignificantWord(reg_d); + auto hi = ir.MostSignificantWord(reg_d).result; + if (ir.current_location.EFlag()) { + std::swap(lo, hi); + } + ir.WriteMemory32(address, lo); + ir.WriteMemory32(ir.Add(address, ir.Imm32(4)), hi); + } else { + ir.WriteMemory32(address, ir.GetExtendedRegister(d)); + } + + return true; +} + +// VSTM{mode} {!}, +bool TranslatorVisitor::vfp_VSTM_a1(Cond cond, bool p, bool u, bool D, bool w, Reg n, size_t Vd, Imm<8> imm8) { + if (!p && !u && !w) { + ASSERT_MSG(false, "Decode error"); + } + + if (p && !w) { + ASSERT_MSG(false, "Decode error"); + } + + if (p == u && w) { + return arm_UDF(); + } + + if (n == Reg::PC && w) { + return UnpredictableInstruction(); + } + + const auto d = ToExtReg(true, Vd, D); + const size_t regs = imm8.ZeroExtend() / 2; + + if (regs == 0 || regs > 16 || A32::RegNumber(d) + regs > 32) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const u32 imm32 = imm8.ZeroExtend() << 2; + auto address = u ? ir.GetRegister(n) : IR::U32(ir.Sub(ir.GetRegister(n), ir.Imm32(imm32))); + if (w) { + ir.SetRegister(n, u ? IR::U32(ir.Add(address, ir.Imm32(imm32))) : address); + } + for (size_t i = 0; i < regs; i++) { + const auto value = ir.GetExtendedRegister(d + i); + auto word1 = ir.LeastSignificantWord(value); + auto word2 = ir.MostSignificantWord(value).result; + + if (ir.current_location.EFlag()) { + std::swap(word1, word2); + } + + ir.WriteMemory32(address, word1); + address = ir.Add(address, ir.Imm32(4)); + ir.WriteMemory32(address, word2); + address = ir.Add(address, ir.Imm32(4)); + } + + return true; +} + +// VSTM{mode} {!}, +bool TranslatorVisitor::vfp_VSTM_a2(Cond cond, bool p, bool u, bool D, bool w, Reg n, size_t Vd, Imm<8> imm8) { + if (!p && !u && !w) { + ASSERT_MSG(false, "Decode error"); + } + + if (p && !w) { + ASSERT_MSG(false, "Decode error"); + } + + if (p == u && w) { + return arm_UDF(); + } + + if (n == Reg::PC && w) { + return UnpredictableInstruction(); + } + + const auto d = ToExtReg(false, Vd, D); + const size_t regs = imm8.ZeroExtend(); + + if (regs == 0 || A32::RegNumber(d) + regs > 32) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const u32 imm32 = imm8.ZeroExtend() << 2; + auto address = u ? ir.GetRegister(n) : IR::U32(ir.Sub(ir.GetRegister(n), ir.Imm32(imm32))); + if (w) { + ir.SetRegister(n, u ? IR::U32(ir.Add(address, ir.Imm32(imm32))) : address); + } + for (size_t i = 0; i < regs; i++) { + const auto word = ir.GetExtendedRegister(d + i); + ir.WriteMemory32(address, word); + address = ir.Add(address, ir.Imm32(4)); + } + + return true; +} + +// VLDM{mode} {!}, +bool TranslatorVisitor::vfp_VLDM_a1(Cond cond, bool p, bool u, bool D, bool w, Reg n, size_t Vd, Imm<8> imm8) { + if (!p && !u && !w) { + ASSERT_MSG(false, "Decode error"); + } + + if (p && !w) { + ASSERT_MSG(false, "Decode error"); + } + + if (p == u && w) { + return arm_UDF(); + } + + if (n == Reg::PC && w) { + return UnpredictableInstruction(); + } + + const auto d = ToExtReg(true, Vd, D); + const size_t regs = imm8.ZeroExtend() / 2; + + if (regs == 0 || regs > 16 || A32::RegNumber(d) + regs > 32) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const u32 imm32 = imm8.ZeroExtend() << 2; + auto address = u ? ir.GetRegister(n) : IR::U32(ir.Sub(ir.GetRegister(n), ir.Imm32(imm32))); + if (w) { + ir.SetRegister(n, u ? IR::U32(ir.Add(address, ir.Imm32(imm32))) : address); + } + for (size_t i = 0; i < regs; i++) { + auto word1 = ir.ReadMemory32(address); + address = ir.Add(address, ir.Imm32(4)); + auto word2 = ir.ReadMemory32(address); + address = ir.Add(address, ir.Imm32(4)); + + if (ir.current_location.EFlag()) { + std::swap(word1, word2); + } + + ir.SetExtendedRegister(d + i, ir.Pack2x32To1x64(word1, word2)); + } + + return true; +} + +// VLDM{mode} {!}, +bool TranslatorVisitor::vfp_VLDM_a2(Cond cond, bool p, bool u, bool D, bool w, Reg n, size_t Vd, Imm<8> imm8) { + if (!p && !u && !w) { + ASSERT_MSG(false, "Decode error"); + } + + if (p && !w) { + ASSERT_MSG(false, "Decode error"); + } + + if (p == u && w) { + return arm_UDF(); + } + + if (n == Reg::PC && w) { + return UnpredictableInstruction(); + } + + const auto d = ToExtReg(false, Vd, D); + const size_t regs = imm8.ZeroExtend(); + + if (regs == 0 || A32::RegNumber(d) + regs > 32) { + return UnpredictableInstruction(); + } + + if (!VFPConditionPassed(cond)) { + return true; + } + + const u32 imm32 = imm8.ZeroExtend() << 2; + auto address = u ? ir.GetRegister(n) : IR::U32(ir.Sub(ir.GetRegister(n), ir.Imm32(imm32))); + if (w) { + ir.SetRegister(n, u ? IR::U32(ir.Add(address, ir.Imm32(imm32))) : address); + } + for (size_t i = 0; i < regs; i++) { + const auto word = ir.ReadMemory32(address); + address = ir.Add(address, ir.Imm32(4)); + ir.SetExtendedRegister(d + i, word); + } + + return true; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate.cpp new file mode 100755 index 000000000..5780b24fe --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate.cpp @@ -0,0 +1,27 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A32/translate/translate.h" + +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/ir/basic_block.h" + +namespace Dynarmic::A32 { + +IR::Block TranslateArm(LocationDescriptor descriptor, TranslateCallbacks* tcb, const TranslationOptions& options); +IR::Block TranslateThumb(LocationDescriptor descriptor, TranslateCallbacks* tcb, const TranslationOptions& options); + +IR::Block Translate(LocationDescriptor descriptor, TranslateCallbacks* tcb, const TranslationOptions& options) { + return (descriptor.TFlag() ? TranslateThumb : TranslateArm)(descriptor, tcb, options); +} + +bool TranslateSingleArmInstruction(IR::Block& block, LocationDescriptor descriptor, u32 instruction); +bool TranslateSingleThumbInstruction(IR::Block& block, LocationDescriptor descriptor, u32 instruction); + +bool TranslateSingleInstruction(IR::Block& block, LocationDescriptor descriptor, u32 instruction) { + return (descriptor.TFlag() ? TranslateSingleThumbInstruction : TranslateSingleArmInstruction)(block, descriptor, instruction); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate.h b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate.h new file mode 100755 index 000000000..9af458e62 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate.h @@ -0,0 +1,51 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ +#pragma once + +#include "dynarmic/common/common_types.h" +#include "dynarmic/interface/A32/arch_version.h" + +namespace Dynarmic::IR { +class Block; +} // namespace Dynarmic::IR + +namespace Dynarmic::A32 { + +class LocationDescriptor; +struct TranslateCallbacks; + +struct TranslationOptions { + ArchVersion arch_version; + + /// This changes what IR we emit when we translate an unpredictable instruction. + /// If this is false, the ExceptionRaised IR instruction is emitted. + /// If this is true, we define some behaviour for some instructions. + bool define_unpredictable_behaviour = false; + + /// This changes what IR we emit when we translate a hint instruction. + /// If this is false, we treat the instruction as a NOP. + /// If this is true, we emit an ExceptionRaised instruction. + bool hook_hint_instructions = true; +}; + +/** + * This function translates instructions in memory into our intermediate representation. + * @param descriptor The starting location of the basic block. Includes information like PC, Thumb state, &c. + * @param tcb The callbacks we should use to read emulated memory. + * @param options Configures how certain instructions are translated. + * @return A translated basic block in the intermediate representation. + */ +IR::Block Translate(LocationDescriptor descriptor, TranslateCallbacks* tcb, const TranslationOptions& options); + +/** + * This function translates a single provided instruction into our intermediate representation. + * @param block The block to append the IR for the instruction to. + * @param descriptor The location of the instruction. Includes information like PC, Thumb state, &c. + * @param instruction The instruction to translate. + * @return The translated instruction translated to the intermediate representation. + */ +bool TranslateSingleInstruction(IR::Block& block, LocationDescriptor descriptor, u32 instruction); + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_arm.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_arm.cpp new file mode 100755 index 000000000..24c7ced87 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_arm.cpp @@ -0,0 +1,96 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/assert.h" +#include "dynarmic/frontend/A32/decoder/arm.h" +#include "dynarmic/frontend/A32/decoder/asimd.h" +#include "dynarmic/frontend/A32/decoder/vfp.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/frontend/A32/translate/conditional_state.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" +#include "dynarmic/frontend/A32/translate/translate.h" +#include "dynarmic/frontend/A32/translate/translate_callbacks.h" +#include "dynarmic/frontend/A32/types.h" +#include "dynarmic/interface/A32/config.h" +#include "dynarmic/ir/basic_block.h" + +namespace Dynarmic::A32 { + +IR::Block TranslateArm(LocationDescriptor descriptor, TranslateCallbacks* tcb, const TranslationOptions& options) { + const bool single_step = descriptor.SingleStepping(); + + IR::Block block{descriptor}; + TranslatorVisitor visitor{block, descriptor, options}; + + bool should_continue = true; + do { + const u32 arm_pc = visitor.ir.current_location.PC(); + const u32 arm_instruction = tcb->MemoryReadCode(arm_pc); + visitor.current_instruction_size = 4; + + tcb->PreCodeTranslationHook(false, arm_pc, visitor.ir); + + if (const auto vfp_decoder = DecodeVFP(arm_instruction)) { + should_continue = vfp_decoder->get().call(visitor, arm_instruction); + } else if (const auto asimd_decoder = DecodeASIMD(arm_instruction)) { + should_continue = asimd_decoder->get().call(visitor, arm_instruction); + } else if (const auto decoder = DecodeArm(arm_instruction)) { + should_continue = decoder->get().call(visitor, arm_instruction); + } else { + should_continue = visitor.arm_UDF(); + } + + if (visitor.cond_state == ConditionalState::Break) { + break; + } + + visitor.ir.current_location = visitor.ir.current_location.AdvancePC(4); + block.CycleCount()++; + } while (should_continue && CondCanContinue(visitor.cond_state, visitor.ir) && !single_step); + + if (visitor.cond_state == ConditionalState::Translating || visitor.cond_state == ConditionalState::Trailing || single_step) { + if (should_continue) { + if (single_step) { + visitor.ir.SetTerm(IR::Term::LinkBlock{visitor.ir.current_location}); + } else { + visitor.ir.SetTerm(IR::Term::LinkBlockFast{visitor.ir.current_location}); + } + } + } + + ASSERT_MSG(block.HasTerminal(), "Terminal has not been set"); + + block.SetEndLocation(visitor.ir.current_location); + + return block; +} + +bool TranslateSingleArmInstruction(IR::Block& block, LocationDescriptor descriptor, u32 arm_instruction) { + TranslatorVisitor visitor{block, descriptor, {}}; + + // TODO: Proper cond handling + + bool should_continue = true; + if (const auto vfp_decoder = DecodeVFP(arm_instruction)) { + should_continue = vfp_decoder->get().call(visitor, arm_instruction); + } else if (const auto asimd_decoder = DecodeASIMD(arm_instruction)) { + should_continue = asimd_decoder->get().call(visitor, arm_instruction); + } else if (const auto decoder = DecodeArm(arm_instruction)) { + should_continue = decoder->get().call(visitor, arm_instruction); + } else { + should_continue = visitor.arm_UDF(); + } + + // TODO: Feedback resulting cond status to caller somehow. + + visitor.ir.current_location = visitor.ir.current_location.AdvancePC(4); + block.CycleCount()++; + + block.SetEndLocation(visitor.ir.current_location); + + return should_continue; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_callbacks.h b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_callbacks.h new file mode 100755 index 000000000..eeffd9d4e --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_callbacks.h @@ -0,0 +1,25 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2021 MerryMage + * SPDX-License-Identifier: 0BSD + */ +#pragma once + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::A32 { + +using VAddr = u32; + +class IREmitter; + +struct TranslateCallbacks { + // All reads through this callback are 4-byte aligned. + // Memory must be interpreted as little endian. + virtual std::uint32_t MemoryReadCode(VAddr vaddr) = 0; + + // Thus function is called before the instruction at pc is interpreted. + // IR code can be emitted by the callee prior to translation of the instruction. + virtual void PreCodeTranslationHook(bool is_thumb, VAddr pc, A32::IREmitter& ir) = 0; +}; + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_thumb.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_thumb.cpp new file mode 100755 index 000000000..4d040bd37 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/translate/translate_thumb.cpp @@ -0,0 +1,197 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A32/decoder/asimd.h" +#include "dynarmic/frontend/A32/decoder/thumb16.h" +#include "dynarmic/frontend/A32/decoder/thumb32.h" +#include "dynarmic/frontend/A32/decoder/vfp.h" +#include "dynarmic/frontend/A32/ir_emitter.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/frontend/A32/translate/conditional_state.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" +#include "dynarmic/frontend/A32/translate/translate.h" +#include "dynarmic/frontend/A32/translate/translate_callbacks.h" +#include "dynarmic/frontend/imm.h" +#include "dynarmic/interface/A32/config.h" + +namespace Dynarmic::A32 { +namespace { + +enum class ThumbInstSize { + Thumb16, + Thumb32 +}; + +bool IsThumb16(u16 first_part) { + return (first_part & 0xF800) < 0xE800; +} + +bool IsUnconditionalInstruction(bool is_thumb_16, u32 instruction) { + if (!is_thumb_16) + return false; + if ((instruction & 0xFF00) == 0b10111110'00000000) // BKPT + return true; + if ((instruction & 0xFFC0) == 0b10111010'10000000) // HLT + return true; + return false; +} + +std::tuple ReadThumbInstruction(u32 arm_pc, TranslateCallbacks* tcb) { + u32 first_part = tcb->MemoryReadCode(arm_pc & 0xFFFFFFFC); + if ((arm_pc & 0x2) != 0) { + first_part >>= 16; + } + first_part &= 0xFFFF; + + if (IsThumb16(static_cast(first_part))) { + // 16-bit thumb instruction + return std::make_tuple(first_part, ThumbInstSize::Thumb16); + } + + // 32-bit thumb instruction + // These always start with 0b11101, 0b11110 or 0b11111. + + u32 second_part = tcb->MemoryReadCode((arm_pc + 2) & 0xFFFFFFFC); + if (((arm_pc + 2) & 0x2) != 0) { + second_part >>= 16; + } + second_part &= 0xFFFF; + + return std::make_tuple(static_cast((first_part << 16) | second_part), ThumbInstSize::Thumb32); +} + +// Convert from thumb ASIMD format to ARM ASIMD format. +u32 ConvertASIMDInstruction(u32 thumb_instruction) { + if ((thumb_instruction & 0xEF000000) == 0xEF000000) { + const bool U = Common::Bit<28>(thumb_instruction); + return 0xF2000000 | (U << 24) | (thumb_instruction & 0x00FFFFFF); + } + + if ((thumb_instruction & 0xFF000000) == 0xF9000000) { + return 0xF4000000 | (thumb_instruction & 0x00FFFFFF); + } + + return 0xF7F0A000; // UDF +} + +bool MaybeVFPOrASIMDInstruction(u32 thumb_instruction) { + return (thumb_instruction & 0xEC000000) == 0xEC000000 || (thumb_instruction & 0xFF100000) == 0xF9000000; +} + +} // namespace + +IR::Block TranslateThumb(LocationDescriptor descriptor, TranslateCallbacks* tcb, const TranslationOptions& options) { + const bool single_step = descriptor.SingleStepping(); + + IR::Block block{descriptor}; + TranslatorVisitor visitor{block, descriptor, options}; + + bool should_continue = true; + do { + const u32 arm_pc = visitor.ir.current_location.PC(); + const auto [thumb_instruction, inst_size] = ReadThumbInstruction(arm_pc, tcb); + const bool is_thumb_16 = inst_size == ThumbInstSize::Thumb16; + visitor.current_instruction_size = is_thumb_16 ? 2 : 4; + + tcb->PreCodeTranslationHook(false, arm_pc, visitor.ir); + + if (IsUnconditionalInstruction(is_thumb_16, thumb_instruction) || visitor.ThumbConditionPassed()) { + if (is_thumb_16) { + if (const auto decoder = DecodeThumb16(static_cast(thumb_instruction))) { + should_continue = decoder->get().call(visitor, static_cast(thumb_instruction)); + } else { + should_continue = visitor.thumb16_UDF(); + } + } else { + if (MaybeVFPOrASIMDInstruction(thumb_instruction)) { + if (const auto vfp_decoder = DecodeVFP(thumb_instruction)) { + should_continue = vfp_decoder->get().call(visitor, thumb_instruction); + } else if (const auto asimd_decoder = DecodeASIMD(ConvertASIMDInstruction(thumb_instruction))) { + should_continue = asimd_decoder->get().call(visitor, ConvertASIMDInstruction(thumb_instruction)); + } else if (const auto decoder = DecodeThumb32(thumb_instruction)) { + should_continue = decoder->get().call(visitor, thumb_instruction); + } else { + should_continue = visitor.thumb32_UDF(); + } + } else if (const auto decoder = DecodeThumb32(thumb_instruction)) { + should_continue = decoder->get().call(visitor, thumb_instruction); + } else { + should_continue = visitor.thumb32_UDF(); + } + } + } + + if (visitor.cond_state == ConditionalState::Break) { + break; + } + + visitor.ir.current_location = visitor.ir.current_location.AdvancePC(is_thumb_16 ? 2 : 4).AdvanceIT(); + block.CycleCount()++; + } while (should_continue && CondCanContinue(visitor.cond_state, visitor.ir) && !single_step); + + if (visitor.cond_state == ConditionalState::Translating || visitor.cond_state == ConditionalState::Trailing || single_step) { + if (should_continue) { + if (single_step) { + visitor.ir.SetTerm(IR::Term::LinkBlock{visitor.ir.current_location}); + } else { + visitor.ir.SetTerm(IR::Term::LinkBlockFast{visitor.ir.current_location}); + } + } + } + + ASSERT_MSG(block.HasTerminal(), "Terminal has not been set"); + + block.SetEndLocation(visitor.ir.current_location); + + return block; +} + +bool TranslateSingleThumbInstruction(IR::Block& block, LocationDescriptor descriptor, u32 thumb_instruction) { + TranslatorVisitor visitor{block, descriptor, {}}; + + bool should_continue = true; + + const bool is_thumb_16 = IsThumb16(static_cast(thumb_instruction)); + visitor.current_instruction_size = is_thumb_16 ? 2 : 4; + + if (is_thumb_16) { + if (const auto decoder = DecodeThumb16(static_cast(thumb_instruction))) { + should_continue = decoder->get().call(visitor, static_cast(thumb_instruction)); + } else { + should_continue = visitor.thumb16_UDF(); + } + } else { + thumb_instruction = Common::SwapHalves32(thumb_instruction); + if (MaybeVFPOrASIMDInstruction(thumb_instruction)) { + if (const auto vfp_decoder = DecodeVFP(thumb_instruction)) { + should_continue = vfp_decoder->get().call(visitor, thumb_instruction); + } else if (const auto asimd_decoder = DecodeASIMD(ConvertASIMDInstruction(thumb_instruction))) { + should_continue = asimd_decoder->get().call(visitor, ConvertASIMDInstruction(thumb_instruction)); + } else if (const auto decoder = DecodeThumb32(thumb_instruction)) { + should_continue = decoder->get().call(visitor, thumb_instruction); + } else { + should_continue = visitor.thumb32_UDF(); + } + } else if (const auto decoder = DecodeThumb32(thumb_instruction)) { + should_continue = decoder->get().call(visitor, thumb_instruction); + } else { + should_continue = visitor.thumb32_UDF(); + } + } + + const s32 advance_pc = is_thumb_16 ? 2 : 4; + visitor.ir.current_location = visitor.ir.current_location.AdvancePC(advance_pc); + block.CycleCount()++; + + block.SetEndLocation(visitor.ir.current_location); + + return should_continue; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/types.cpp b/externals/dynarmic/src/dynarmic/frontend/A32/types.cpp new file mode 100755 index 000000000..b0c77d953 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/types.cpp @@ -0,0 +1,80 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A32/types.h" + +#include +#include + +#include "dynarmic/common/bit_util.h" + +namespace Dynarmic::A32 { + +const char* CondToString(Cond cond, bool explicit_al) { + static constexpr std::array cond_strs = {"eq", "ne", "cs", "cc", "mi", "pl", "vs", "vc", "hi", "ls", "ge", "lt", "gt", "le", "al", "nv"}; + return (!explicit_al && cond == Cond::AL) ? "" : cond_strs.at(static_cast(cond)); +} + +const char* RegToString(Reg reg) { + static constexpr std::array reg_strs = {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", + "r8", "r9", "r10", "r11", "r12", "sp", "lr", "pc"}; + return reg_strs.at(static_cast(reg)); +} + +const char* ExtRegToString(ExtReg reg) { + static constexpr std::array reg_strs = { + "s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7", "s8", "s9", "s10", "s11", "s12", "s13", "s14", "s15", "s16", + "s17", "s18", "s19", "s20", "s21", "s22", "s23", "s24", "s25", "s26", "s27", "s28", "s29", "s30", "s31", + + "d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", "d8", "d9", "d10", "d11", "d12", "d13", "d14", "d15", "d16", + "d17", "d18", "d19", "d20", "d21", "d22", "d23", "d24", "d25", "d26", "d27", "d28", "d29", "d30", "d31", + + "q0", "q1", "q2", "q3", "q4", "q5", "q6", "q7", "q8", "q9", "q10", "q11", "q12", "q13", "q14", "q15", "q16"}; + return reg_strs.at(static_cast(reg)); +} + +const char* CoprocRegToString(CoprocReg reg) { + static constexpr std::array reg_strs = { + "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", + "c9", "c10", "c11", "c12", "c13", "c14", "c15"}; + return reg_strs.at(static_cast(reg)); +} + +std::string RegListToString(RegList reg_list) { + std::string ret; + bool first_reg = true; + for (size_t i = 0; i < 16; i++) { + if (Common::Bit(i, reg_list)) { + if (!first_reg) { + ret += ", "; + } + ret += RegToString(static_cast(i)); + first_reg = false; + } + } + return ret; +} + +std::ostream& operator<<(std::ostream& o, Reg reg) { + o << RegToString(reg); + return o; +} + +std::ostream& operator<<(std::ostream& o, ExtReg reg) { + o << ExtRegToString(reg); + return o; +} + +std::ostream& operator<<(std::ostream& o, CoprocReg reg) { + o << CoprocRegToString(reg); + return o; +} + +std::ostream& operator<<(std::ostream& o, RegList reg_list) { + o << RegListToString(reg_list); + return o; +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A32/types.h b/externals/dynarmic/src/dynarmic/frontend/A32/types.h new file mode 100755 index 000000000..ff30cc760 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A32/types.h @@ -0,0 +1,149 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/interface/A32/coprocessor_util.h" +#include "dynarmic/ir/cond.h" + +namespace Dynarmic::A32 { + +using Cond = IR::Cond; + +enum class Reg { + R0, + R1, + R2, + R3, + R4, + R5, + R6, + R7, + R8, + R9, + R10, + R11, + R12, + R13, + R14, + R15, + SP = R13, + LR = R14, + PC = R15, + INVALID_REG = 99 +}; + +enum class ExtReg { + // clang-format off + S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23, S24, S25, S26, S27, S28, S29, S30, S31, + D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, + Q0, Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15 + // clang-format on +}; + +using RegList = u16; + +enum class ShiftType { + LSL, + LSR, + ASR, + ROR ///< RRX falls under this too +}; + +enum class SignExtendRotation { + ROR_0, ///< ROR #0 or omitted + ROR_8, ///< ROR #8 + ROR_16, ///< ROR #16 + ROR_24 ///< ROR #24 +}; + +const char* CondToString(Cond cond, bool explicit_al = false); +const char* RegToString(Reg reg); +const char* ExtRegToString(ExtReg reg); +const char* CoprocRegToString(CoprocReg reg); +std::string RegListToString(RegList reg_list); + +std::ostream& operator<<(std::ostream& o, Reg reg); +std::ostream& operator<<(std::ostream& o, ExtReg reg); +std::ostream& operator<<(std::ostream& o, CoprocReg reg); +std::ostream& operator<<(std::ostream& o, RegList reg_list); + +constexpr bool IsSingleExtReg(ExtReg reg) { + return reg >= ExtReg::S0 && reg <= ExtReg::S31; +} + +constexpr bool IsDoubleExtReg(ExtReg reg) { + return reg >= ExtReg::D0 && reg <= ExtReg::D31; +} + +constexpr bool IsQuadExtReg(ExtReg reg) { + return reg >= ExtReg::Q0 && reg <= ExtReg::Q15; +} + +inline size_t RegNumber(Reg reg) { + ASSERT(reg != Reg::INVALID_REG); + return static_cast(reg); +} + +inline size_t RegNumber(ExtReg reg) { + if (IsSingleExtReg(reg)) { + return static_cast(reg) - static_cast(ExtReg::S0); + } + + if (IsDoubleExtReg(reg)) { + return static_cast(reg) - static_cast(ExtReg::D0); + } + + if (IsQuadExtReg(reg)) { + return static_cast(reg) - static_cast(ExtReg::Q0); + } + + ASSERT_FALSE("Invalid extended register"); +} + +inline Reg operator+(Reg reg, size_t number) { + const size_t new_reg = RegNumber(reg) + number; + ASSERT(new_reg <= 15); + + return static_cast(new_reg); +} + +inline ExtReg operator+(ExtReg reg, size_t number) { + const auto new_reg = static_cast(static_cast(reg) + number); + + ASSERT((IsSingleExtReg(reg) && IsSingleExtReg(new_reg)) + || (IsDoubleExtReg(reg) && IsDoubleExtReg(new_reg)) + || (IsQuadExtReg(reg) && IsQuadExtReg(new_reg))); + + return new_reg; +} + +inline ExtReg ToExtRegQ(size_t base, bool bit) { + return ExtReg::Q0 + ((base >> 1) + (bit ? 8 : 0)); +} + +inline ExtReg ToExtRegD(size_t base, bool bit) { + return ExtReg::D0 + (base + (bit ? 16 : 0)); +} + +inline ExtReg ToExtRegS(size_t base, bool bit) { + return ExtReg::S0 + ((base << 1) + (bit ? 1 : 0)); +} + +inline ExtReg ToExtReg(bool sz, size_t base, bool bit) { + return sz ? ToExtRegD(base, bit) : ToExtRegS(base, bit); +} + +inline ExtReg ToVector(bool Q, size_t base, bool bit) { + return Q ? ToExtRegQ(base, bit) : ToExtRegD(base, bit); +} + +} // namespace Dynarmic::A32 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/decoder/a64.h b/externals/dynarmic/src/dynarmic/frontend/A64/decoder/a64.h new file mode 100755 index 000000000..7da60e301 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/decoder/a64.h @@ -0,0 +1,82 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include +#include +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/decoder/decoder_detail.h" +#include "dynarmic/frontend/decoder/matcher.h" + +namespace Dynarmic::A64 { + +template +using Matcher = Decoder::Matcher; + +template +using DecodeTable = std::array>, 0x1000>; + +namespace detail { +inline size_t ToFastLookupIndex(u32 instruction) { + return ((instruction >> 10) & 0x00F) | ((instruction >> 18) & 0xFF0); +} +} // namespace detail + +template +DecodeTable GetDecodeTable() { + std::vector> list = { +#define INST(fn, name, bitstring) DYNARMIC_DECODER_GET_MATCHER(Matcher, fn, name, Decoder::detail::StringToArray<32>(bitstring)), +#include "./a64.inc" +#undef INST + }; + + std::stable_sort(list.begin(), list.end(), [](const auto& matcher1, const auto& matcher2) { + // If a matcher has more bits in its mask it is more specific, so it should come first. + return Common::BitCount(matcher1.GetMask()) > Common::BitCount(matcher2.GetMask()); + }); + + // Exceptions to the above rule of thumb. + const std::set comes_first{ + "MOVI, MVNI, ORR, BIC (vector, immediate)", + "FMOV (vector, immediate)", + "Unallocated SIMD modified immediate", + }; + + std::stable_partition(list.begin(), list.end(), [&](const auto& matcher) { + return comes_first.count(matcher.GetName()) > 0; + }); + + DecodeTable table{}; + for (size_t i = 0; i < table.size(); ++i) { + for (auto matcher : list) { + const auto expect = detail::ToFastLookupIndex(matcher.GetExpected()); + const auto mask = detail::ToFastLookupIndex(matcher.GetMask()); + if ((i & mask) == expect) { + table[i].push_back(matcher); + } + } + } + return table; +} + +template +std::optional>> Decode(u32 instruction) { + static const auto table = GetDecodeTable(); + + const auto matches_instruction = [instruction](const auto& matcher) { return matcher.Matches(instruction); }; + + const auto& subtable = table[detail::ToFastLookupIndex(instruction)]; + auto iter = std::find_if(subtable.begin(), subtable.end(), matches_instruction); + return iter != subtable.end() ? std::optional>>(*iter) : std::nullopt; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/decoder/a64.inc b/externals/dynarmic/src/dynarmic/frontend/A64/decoder/a64.inc new file mode 100755 index 000000000..23f8b7193 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/decoder/a64.inc @@ -0,0 +1,1029 @@ +// Data processing - Immediate - PC relative addressing +INST(ADR, "ADR", "0ii10000iiiiiiiiiiiiiiiiiiiddddd") +INST(ADRP, "ADRP", "1ii10000iiiiiiiiiiiiiiiiiiiddddd") + +// Data processing - Immediate - Add/Sub (with tags) +//INST(ADDG, "ADDG", "1001000110iiiiii00IIIInnnnnddddd") // ARMv8.5 +//INST(SUBG, "SUBG", "1101000110iiiiii00IIIInnnnnddddd") // ARMv8.5 + +// Data processing - Immediate - Add/Sub +INST(ADD_imm, "ADD (immediate)", "z0010001ssiiiiiiiiiiiinnnnnddddd") +INST(ADDS_imm, "ADDS (immediate)", "z0110001ssiiiiiiiiiiiinnnnnddddd") +INST(SUB_imm, "SUB (immediate)", "z1010001ssiiiiiiiiiiiinnnnnddddd") +INST(SUBS_imm, "SUBS (immediate)", "z1110001ssiiiiiiiiiiiinnnnnddddd") + +// Data processing - Immediate - Logical +INST(AND_imm, "AND (immediate)", "z00100100Nrrrrrrssssssnnnnnddddd") +INST(ORR_imm, "ORR (immediate)", "z01100100Nrrrrrrssssssnnnnnddddd") +INST(EOR_imm, "EOR (immediate)", "z10100100Nrrrrrrssssssnnnnnddddd") +INST(ANDS_imm, "ANDS (immediate)", "z11100100Nrrrrrrssssssnnnnnddddd") + +// Data processing - Immediate - Move Wide +INST(MOVN, "MOVN", "z00100101ssiiiiiiiiiiiiiiiiddddd") +INST(MOVZ, "MOVZ", "z10100101ssiiiiiiiiiiiiiiiiddddd") +INST(MOVK, "MOVK", "z11100101ssiiiiiiiiiiiiiiiiddddd") + +// Data processing - Immediate - Bitfield +INST(SBFM, "SBFM", "z00100110Nrrrrrrssssssnnnnnddddd") +INST(BFM, "BFM", "z01100110Nrrrrrrssssssnnnnnddddd") +INST(UBFM, "UBFM", "z10100110Nrrrrrrssssssnnnnnddddd") +INST(ASR_1, "ASR (immediate, 32-bit)", "00010011000rrrrr011111nnnnnddddd") +INST(ASR_2, "ASR (immediate, 64-bit)", "1001001101rrrrrr111111nnnnnddddd") +INST(SXTB_1, "SXTB (32-bit)", "0001001100000000000111nnnnnddddd") +INST(SXTB_2, "SXTB (64-bit)", "1001001101000000000111nnnnnddddd") +INST(SXTH_1, "SXTH (32-bit)", "0001001100000000001111nnnnnddddd") +INST(SXTH_2, "SXTH (64-bit)", "1001001101000000001111nnnnnddddd") +INST(SXTW, "SXTW", "1001001101000000011111nnnnnddddd") + +// Data processing - Immediate - Extract +INST(EXTR, "EXTR", "z00100111N0mmmmmssssssnnnnnddddd") + +// Conditional branch +INST(B_cond, "B.cond", "01010100iiiiiiiiiiiiiiiiiii0cccc") + +// Exception generation +INST(SVC, "SVC", "11010100000iiiiiiiiiiiiiiii00001") +//INST(HVC, "HVC", "11010100000iiiiiiiiiiiiiiii00010") +//INST(SMC, "SMC", "11010100000iiiiiiiiiiiiiiii00011") +INST(BRK, "BRK", "11010100001iiiiiiiiiiiiiiii00000") +//INST(HLT, "HLT", "11010100010iiiiiiiiiiiiiiii00000") +//INST(DCPS1, "DCPS1", "11010100101iiiiiiiiiiiiiiii00001") +//INST(DCPS2, "DCPS2", "11010100101iiiiiiiiiiiiiiii00010") +//INST(DCPS3, "DCPS3", "11010100101iiiiiiiiiiiiiiii00011") + +// System +//INST(MSR_imm, "MSR (immediate)", "1101010100000ooo0100MMMMooo11111") +INST(HINT, "HINT", "11010101000000110010MMMMooo11111") +INST(NOP, "NOP", "11010101000000110010000000011111") +INST(YIELD, "YIELD", "11010101000000110010000000111111") +INST(WFE, "WFE", "11010101000000110010000001011111") +INST(WFI, "WFI", "11010101000000110010000001111111") +INST(SEV, "SEV", "11010101000000110010000010011111") +INST(SEVL, "SEVL", "11010101000000110010000010111111") +//INST(DGH, "DGH", "11010101000000110010000011011111") // v8.6 +//INST(WFET, "WFET", "110101010000001100010000000ddddd") // v8.7 +//INST(WFIT, "WFIT", "110101010000001100010000001ddddd") // v8.7 +//INST(XPAC_1, "XPACD, XPACI, XPACLRI", "110110101100000101000D11111ddddd") +//INST(XPAC_2, "XPACD, XPACI, XPACLRI", "11010101000000110010000011111111") +//INST(PACIA_1, "PACIA, PACIA1716, PACIASP, PACIAZ, PACIZA", "110110101100000100Z000nnnnnddddd") +//INST(PACIA_2, "PACIA, PACIA1716, PACIASP, PACIAZ, PACIZA", "1101010100000011001000-100-11111") +//INST(PACIB_1, "PACIB, PACIB1716, PACIBSP, PACIBZ, PACIZB", "110110101100000100Z001nnnnnddddd") +//INST(PACIB_2, "PACIB, PACIB1716, PACIBSP, PACIBZ, PACIZB", "1101010100000011001000-101-11111") +//INST(AUTIA_1, "AUTIA, AUTIA1716, AUTIASP, AUTIAZ, AUTIZA", "110110101100000100Z100nnnnnddddd") +//INST(AUTIA_2, "AUTIA, AUTIA1716, AUTIASP, AUTIAZ, AUTIZA", "1101010100000011001000-110-11111") +//INST(AUTIB_1, "AUTIB, AUTIB1716, AUTIBSP, AUTIBZ, AUTIZB", "110110101100000100Z101nnnnnddddd") +//INST(AUTIB_2, "AUTIB, AUTIB1716, AUTIBSP, AUTIBZ, AUTIZB", "1101010100000011001000-111-11111") +//INST(BTI, "BTI", "110101010000001100100100ii011111") // ARMv8.5 +//INST(ESB, "ESB", "11010101000000110010001000011111") +//INST(PSB, "PSB CSYNC", "11010101000000110010001000111111") +//INST(TSB, "TSB CSYNC", "11010101000000110010001001011111") // ARMv8.5 +//INST(CSDB, "CSDB", "11010101000000110010001010011111") +INST(CLREX, "CLREX", "11010101000000110011MMMM01011111") +INST(DSB, "DSB", "11010101000000110011MMMM10011111") +//INST(SSBB, "SSBB", "11010101000000110011000010011111") +//INST(PSSBB, "PSSBB", "11010101000000110011010010011111") +INST(DMB, "DMB", "11010101000000110011MMMM10111111") +INST(ISB, "ISB", "11010101000000110011MMMM11011111") +//INST(SB, "SB", "11010101000000110011000011111111") +//INST(SYS, "SYS", "1101010100001oooNNNNMMMMooottttt") +INST(MSR_reg, "MSR (register)", "110101010001poooNNNNMMMMooottttt") +//INST(SYSL, "SYSL", "1101010100101oooNNNNMMMMooottttt") +INST(MRS, "MRS", "110101010011poooNNNNMMMMooottttt") + +// System - Flag manipulation instructions +INST(CFINV, "CFINV", "11010101000000000100000000011111") // ARMv8.4 +INST(RMIF, "RMIF", "10111010000iiiiii00001nnnnn0IIII") // ARMv8.4 +//INST(SETF8, "SETF8", "0011101000000000000010nnnnn01101") // ARMv8.4 +//INST(SETF16, "SETF16", "0011101000000000010010nnnnn01101") // ARMv8.4 + +// System - Flag format instructions +INST(XAFlag, "XAFlag", "11010101000000000100000000111111") // ARMv8.5 +INST(AXFlag, "AXFlag", "11010101000000000100000001011111") // ARMv8.5 + +// SYS: Data Cache +INST(DC_IVAC, "DC IVAC", "110101010000100001110110001ttttt") +INST(DC_ISW, "DC ISW", "110101010000100001110110010ttttt") +INST(DC_CSW, "DC CSW", "110101010000100001111010010ttttt") +INST(DC_CISW, "DC CISW", "110101010000100001111110010ttttt") +INST(DC_ZVA, "DC ZVA", "110101010000101101110100001ttttt") +INST(DC_CVAC, "DC CVAC", "110101010000101101111010001ttttt") +INST(DC_CVAU, "DC CVAU", "110101010000101101111011001ttttt") +INST(DC_CVAP, "DC CVAP", "110101010000101101111100001ttttt") +INST(DC_CIVAC, "DC CIVAC", "110101010000101101111110001ttttt") + +// SYS: Instruction Cache +INST(IC_IALLU, "IC IALLU", "11010101000010000111010100011111") +INST(IC_IALLUIS, "IC IALLUIS", "11010101000010000111000100011111") +INST(IC_IVAU, "IC IVAU", "110101010000101101110101001ttttt") + +// Unconditional branch (Register) +INST(BLR, "BLR", "1101011000111111000000nnnnn00000") +INST(BR, "BR", "1101011000011111000000nnnnn00000") +//INST(DRPS, "DRPS", "11010110101111110000001111100000") +//INST(ERET, "ERET", "11010110100111110000001111100000") +INST(RET, "RET", "1101011001011111000000nnnnn00000") +//INST(BLRA, "BLRAA, BLRAAZ, BLRAB, BLRABZ", "1101011Z0011111100001Mnnnnnmmmmm") // ARMv8.3 +//INST(BRA, "BRAA, BRAAZ, BRAB, BRABZ", "1101011Z0001111100001Mnnnnnmmmmm") // ARMv8.3 +//INST(ERETA, "ERETAA, ERETAB", "110101101001111100001M1111111111") // ARMv8.3 +//INST(RETA, "RETAA, RETAB", "110101100101111100001M1111111111") // ARMv8.3 + +// Unconditional branch (immediate) +INST(B_uncond, "B", "000101iiiiiiiiiiiiiiiiiiiiiiiiii") +INST(BL, "BL", "100101iiiiiiiiiiiiiiiiiiiiiiiiii") + +// Compare and branch (immediate) +INST(CBZ, "CBZ", "z0110100iiiiiiiiiiiiiiiiiiittttt") +INST(CBNZ, "CBNZ", "z0110101iiiiiiiiiiiiiiiiiiittttt") +INST(TBZ, "TBZ", "b0110110bbbbbiiiiiiiiiiiiiittttt") +INST(TBNZ, "TBNZ", "b0110111bbbbbiiiiiiiiiiiiiittttt") + +// Loads and stores - Advanced SIMD Load/Store multiple structures +INST(STx_mult_1, "STx (multiple structures)", "0Q00110000000000oooozznnnnnttttt") +INST(STx_mult_2, "STx (multiple structures)", "0Q001100100mmmmmoooozznnnnnttttt") +INST(LDx_mult_1, "LDx (multiple structures)", "0Q00110001000000oooozznnnnnttttt") +INST(LDx_mult_2, "LDx (multiple structures)", "0Q001100110mmmmmoooozznnnnnttttt") + +// Loads and stores - Advanced SIMD Load/Store single structures +INST(ST1_sngl_1, "ST1 (single structure)", "0Q00110100000000oo0Szznnnnnttttt") +INST(ST1_sngl_2, "ST1 (single structure)", "0Q001101100mmmmmoo0Szznnnnnttttt") +INST(ST3_sngl_1, "ST3 (single structure)", "0Q00110100000000oo1Szznnnnnttttt") +INST(ST3_sngl_2, "ST3 (single structure)", "0Q001101100mmmmmoo1Szznnnnnttttt") +INST(ST2_sngl_1, "ST2 (single structure)", "0Q00110100100000oo0Szznnnnnttttt") +INST(ST2_sngl_2, "ST2 (single structure)", "0Q001101101mmmmmoo0Szznnnnnttttt") +INST(ST4_sngl_1, "ST4 (single structure)", "0Q00110100100000oo1Szznnnnnttttt") +INST(ST4_sngl_2, "ST4 (single structure)", "0Q001101101mmmmmoo1Szznnnnnttttt") +INST(LD1_sngl_1, "LD1 (single structure)", "0Q00110101000000oo0Szznnnnnttttt") +INST(LD1_sngl_2, "LD1 (single structure)", "0Q001101110mmmmmoo0Szznnnnnttttt") +INST(LD3_sngl_1, "LD3 (single structure)", "0Q00110101000000oo1Szznnnnnttttt") +INST(LD3_sngl_2, "LD3 (single structure)", "0Q001101110mmmmmoo1Szznnnnnttttt") +INST(LD1R_1, "LD1R", "0Q001101010000001100zznnnnnttttt") +INST(LD1R_2, "LD1R", "0Q001101110mmmmm1100zznnnnnttttt") +INST(LD3R_1, "LD3R", "0Q001101010000001110zznnnnnttttt") +INST(LD3R_2, "LD3R", "0Q001101110mmmmm1110zznnnnnttttt") +INST(LD2_sngl_1, "LD2 (single structure)", "0Q00110101100000oo0Szznnnnnttttt") +INST(LD2_sngl_2, "LD2 (single structure)", "0Q001101111mmmmmoo0Szznnnnnttttt") +INST(LD4_sngl_1, "LD4 (single structure)", "0Q00110101100000oo1Szznnnnnttttt") +INST(LD4_sngl_2, "LD4 (single structure)", "0Q001101111mmmmmoo1Szznnnnnttttt") +INST(LD2R_1, "LD2R", "0Q001101011000001100zznnnnnttttt") +INST(LD2R_2, "LD2R", "0Q001101111mmmmm1100zznnnnnttttt") +INST(LD4R_1, "LD4R", "0Q001101011000001110zznnnnnttttt") +INST(LD4R_2, "LD4R", "0Q001101111mmmmm1110zznnnnnttttt") + +// Loads and stores - Load/Store Exclusive +INST(STXR, "STXRB, STXRH, STXR", "zz001000000sssss011111nnnnnttttt") +INST(STLXR, "STLXRB, STLXRH, STLXR", "zz001000000sssss111111nnnnnttttt") +INST(STXP, "STXP", "1z001000001sssss0uuuuunnnnnttttt") +INST(STLXP, "STLXP", "1z001000001sssss1uuuuunnnnnttttt") +INST(LDXR, "LDXRB, LDXRH, LDXR", "zz00100001011111011111nnnnnttttt") +INST(LDAXR, "LDAXRB, LDAXRH, LDAXR", "zz00100001011111111111nnnnnttttt") +INST(LDXP, "LDXP", "1z001000011111110uuuuunnnnnttttt") +INST(LDAXP, "LDAXP", "1z001000011111111uuuuunnnnnttttt") +INST(STLLR, "STLLRB, STLLRH, STLLR", "zz00100010011111011111nnnnnttttt") +INST(STLR, "STLRB, STLRH, STLR", "zz00100010011111111111nnnnnttttt") +INST(LDLAR, "LDLARB, LDLARH, LDLAR", "zz00100011011111011111nnnnnttttt") +INST(LDAR, "LDARB, LDARH, LDAR", "zz00100011011111111111nnnnnttttt") +//INST(CASP, "CASP, CASPA, CASPAL, CASPL", "0z0010000L1sssssp11111nnnnnttttt") // ARMv8.1 +//INST(CASB, "CASB, CASAB, CASALB, CASLB", "000010001L1sssssp11111nnnnnttttt") // ARMv8.1 +//INST(CASH, "CASH, CASAH, CASALH, CASLH", "010010001L1sssssp11111nnnnnttttt") // ARMv8.1 +//INST(CAS, "CAS, CASA, CASAL, CASL", "1z0010001L1sssssp11111nnnnnttttt") // ARMv8.1 + +// Loads and stores - Load register (literal) +INST(LDR_lit_gen, "LDR (literal)", "0z011000iiiiiiiiiiiiiiiiiiittttt") +INST(LDRSW_lit, "LDRSW (literal)", "10011000iiiiiiiiiiiiiiiiiiittttt") +INST(PRFM_lit, "PRFM (literal)", "11011000iiiiiiiiiiiiiiiiiiittttt") +INST(LDR_lit_fpsimd, "LDR (literal, SIMD&FP)", "oo011100iiiiiiiiiiiiiiiiiiittttt") + +// Loads and stores - Load/Store no-allocate pair +INST(STNP_LDNP_gen, "STNP/LDNP", "o01010000Liiiiiiiuuuuunnnnnttttt") +INST(STNP_LDNP_fpsimd, "STNP/LDNP (SIMD&FP)", "oo1011000Liiiiiiiuuuuunnnnnttttt") + +// Loads and stores - Load/Store register pair +INST(STP_LDP_gen, "STP/LDP", "oo10100pwLiiiiiiiuuuuunnnnnttttt") +INST(UnallocatedEncoding, "", "--1010000-----------------------") +INST(STP_LDP_fpsimd, "STP/LDP (SIMD&FP)", "oo10110pwLiiiiiiiuuuuunnnnnttttt") +INST(UnallocatedEncoding, "", "--1011000-----------------------") + +// Loads and stores - Load/Store register (unscaled immediate) +INST(STURx_LDURx, "STURx/LDURx", "zz111000oo0iiiiiiiii00nnnnnttttt") +INST(UnallocatedEncoding, "", "111110001-0---------00----------") +INST(UnallocatedEncoding, "", "10111000110---------00----------") +INST(PRFM_imm, "PRFM (immediate)", "1111100110iiiiiiiiiiiinnnnnttttt") +INST(PRFM_unscaled_imm, "PRFM (unscaled offset)", "11111000100iiiiiiiii00nnnnnttttt") +INST(STUR_fpsimd, "STUR (SIMD&FP)", "zz111100o00iiiiiiiii00nnnnnttttt") +INST(LDUR_fpsimd, "LDUR (SIMD&FP)", "zz111100o10iiiiiiiii00nnnnnttttt") + +// Loads and stores - Load/Store register (immediate pre/post-indexed) +INST(STRx_LDRx_imm_1, "STRx/LDRx (immediate)", "zz111000oo0iiiiiiiiip1nnnnnttttt") +INST(STRx_LDRx_imm_2, "STRx/LDRx (immediate)", "zz111001ooiiiiiiiiiiiinnnnnttttt") +INST(UnallocatedEncoding, "", "111110001-0----------1----------") +INST(UnallocatedEncoding, "", "10111000110----------1----------") +INST(UnallocatedEncoding, "", "1111100111----------------------") +INST(UnallocatedEncoding, "", "1011100111----------------------") +INST(STR_imm_fpsimd_1, "STR (immediate, SIMD&FP)", "zz111100o00iiiiiiiiip1nnnnnttttt") +INST(STR_imm_fpsimd_2, "STR (immediate, SIMD&FP)", "zz111101o0iiiiiiiiiiiinnnnnttttt") +INST(LDR_imm_fpsimd_1, "LDR (immediate, SIMD&FP)", "zz111100o10iiiiiiiiip1nnnnnttttt") +INST(LDR_imm_fpsimd_2, "LDR (immediate, SIMD&FP)", "zz111101o1iiiiiiiiiiiinnnnnttttt") +//INST(STGP_1, "STGP (post-index)", "0110100010iiiiiiimmmmmnnnnnttttt") // ARMv8.5 +//INST(STGP_2, "STGP (pre-index)", "0110100110iiiiiiimmmmmnnnnnttttt") // ARMv8.5 +//INST(STGP_3, "STGP (signed-offset)", "0110100100iiiiiiimmmmmnnnnnttttt") // ARMv8.5 + +// Loads and stores - Load/Store register (unprivileged) +INST(STTRB, "STTRB", "00111000000iiiiiiiii10nnnnnttttt") +INST(LDTRB, "LDTRB", "00111000010iiiiiiiii10nnnnnttttt") +INST(LDTRSB, "LDTRSB", "00111000oo0iiiiiiiii10nnnnnttttt") +INST(STTRH, "STTRH", "01111000000iiiiiiiii10nnnnnttttt") +INST(LDTRH, "LDTRH", "01111000010iiiiiiiii10nnnnnttttt") +INST(LDTRSH, "LDTRSH", "01111000oo0iiiiiiiii10nnnnnttttt") +INST(STTR, "STTR", "zz111000000iiiiiiiii10nnnnnttttt") +INST(LDTR, "LDTR", "zz111000010iiiiiiiii10nnnnnttttt") +INST(LDTRSW, "LDTRSW", "10111000100iiiiiiiii10nnnnnttttt") + +// Loads and stores - Atomic memory options +//INST(LDADDB, "LDADDB, LDADDAB, LDADDALB, LDADDLB", "00111000AR1sssss000000nnnnnttttt") +//INST(LDCLRB, "LDCLRB, LDCLRAB, LDCLRALB, LDCLRLB", "00111000AR1sssss000100nnnnnttttt") +//INST(LDEORB, "LDEORB, LDEORAB, LDEORALB, LDEORLB", "00111000AR1sssss001000nnnnnttttt") +//INST(LDSETB, "LDSETB, LDSETAB, LDSETALB, LDSETLB", "00111000AR1sssss001100nnnnnttttt") +//INST(LDSMAXB, "LDSMAXB, LDSMAXAB, LDSMAXALB, LDSMAXLB", "00111000AR1sssss010000nnnnnttttt") +//INST(LDSMINB, "LDSMINB, LDSMINAB, LDSMINALB, LDSMINLB", "00111000AR1sssss010100nnnnnttttt") +//INST(LDUMAXB, "LDUMAXB, LDUMAXAB, LDUMAXALB, LDUMAXLB", "00111000AR1sssss011000nnnnnttttt") +//INST(LDUMINB, "LDUMINB, LDUMINAB, LDUMINALB, LDUMINLB", "00111000AR1sssss011100nnnnnttttt") +//INST(SWPB, "SWPB, SWPAB, SWPALB, SWPLB", "00111000AR1sssss100000nnnnnttttt") +//INST(LDAPRB, "LDAPRB", "0011100010111111110000nnnnnttttt") +//INST(LDADDH, "LDADDH, LDADDAH, LDADDALH, LDADDLH", "01111000AR1sssss000000nnnnnttttt") +//INST(LDCLRH, "LDCLRH, LDCLRAH, LDCLRALH, LDCLRLH", "01111000AR1sssss000100nnnnnttttt") +//INST(LDEORH, "LDEORH, LDEORAH, LDEORALH, LDEORLH", "01111000AR1sssss001000nnnnnttttt") +//INST(LDSETH, "LDSETH, LDSETAH, LDSETALH, LDSETLH", "01111000AR1sssss001100nnnnnttttt") +//INST(LDSMAXH, "LDSMAXH, LDSMAXAH, LDSMAXALH, LDSMAXLH", "01111000AR1sssss010000nnnnnttttt") +//INST(LDSMINH, "LDSMINH, LDSMINAH, LDSMINALH, LDSMINLH", "01111000AR1sssss010100nnnnnttttt") +//INST(LDUMAXH, "LDUMAXH, LDUMAXAH, LDUMAXALH, LDUMAXLH", "01111000AR1sssss011000nnnnnttttt") +//INST(LDUMINH, "LDUMINH, LDUMINAH, LDUMINALH, LDUMINLH", "01111000AR1sssss011100nnnnnttttt") +//INST(SWPH, "SWPH, SWPAH, SWPALH, SWPLH", "01111000AR1sssss100000nnnnnttttt") +//INST(LDAPRH, "LDAPRH", "0111100010111111110000nnnnnttttt") +//INST(LDADD, "LDADD, LDADDA, LDADDAL, LDADDL", "1-111000AR1sssss000000nnnnnttttt") +//INST(LDCLR, "LDCLR, LDCLRA, LDCLRAL, LDCLRL", "1-111000AR1sssss000100nnnnnttttt") +//INST(LDEOR, "LDEOR, LDEORA, LDEORAL, LDEORL", "1-111000AR1sssss001000nnnnnttttt") +//INST(LDSET, "LDSET, LDSETA, LDSETAL, LDSETL", "1-111000AR1sssss001100nnnnnttttt") +//INST(LDSMAX, "LDSMAX, LDSMAXA, LDSMAXAL, LDSMAXL", "1-111000AR1sssss010000nnnnnttttt") +//INST(LDSMIN, "LDSMIN, LDSMINA, LDSMINAL, LDSMINL", "1-111000AR1sssss010100nnnnnttttt") +//INST(LDUMAX, "LDUMAX, LDUMAXA, LDUMAXAL, LDUMAXL", "1-111000AR1sssss011000nnnnnttttt") +//INST(LDUMIN, "LDUMIN, LDUMINA, LDUMINAL, LDUMINL", "1-111000AR1sssss011100nnnnnttttt") +//INST(SWP, "SWP, SWPA, SWPAL, SWPL", "1-111000AR1sssss100000nnnnnttttt") +//INST(LDAPR, "LDAPR", "1-11100010111111110000nnnnnttttt") +//INST(LD64B, "LD64B", "1111100000111111110100nnnnnttttt") // v8.7 +//INST(ST64B, "ST64B", "1111100000111111100100nnnnnttttt") // v8.7 +//INST(ST64BV, "ST64BV", "11111000001sssss101100nnnnnttttt") // v8.7 +//INST(ST64BV0, "ST64BV0", "11111000001sssss101000nnnnnttttt") // v8.7 + +// Loads and stores - Load/Store register (register offset) +INST(STRx_reg, "STRx (register)", "zz111000o01mmmmmxxxS10nnnnnttttt") +INST(LDRx_reg, "LDRx (register)", "zz111000o11mmmmmxxxS10nnnnnttttt") +INST(STR_reg_fpsimd, "STR (register, SIMD&FP)", "zz111100o01mmmmmxxxS10nnnnnttttt") +INST(LDR_reg_fpsimd, "LDR (register, SIMD&FP)", "zz111100o11mmmmmxxxS10nnnnnttttt") + +// Loads and stores - Load/Store memory tags +//INST(STG_1, "STG (post-index)", "11011001001iiiiiiiii01nnnnn11111") // ARMv8.5 +//INST(STG_2, "STG (pre-index)", "11011001001iiiiiiiii11nnnnn11111") // ARMv8.5 +//INST(STG_3, "STG (signed-offset)", "11011001001iiiiiiiii10nnnnn11111") // ARMv8.5 +//INST(LDG, "LDG", "11011001011iiiiiiiii00nnnnnttttt") // ARMv8.5 +//INST(STZG_1, "STZG (post-index)", "11011001011iiiiiiiii01nnnnn11111") // ARMv8.5 +//INST(STZG_2, "STZG (pre-index)", "11011001011iiiiiiiii11nnnnn11111") // ARMv8.5 +//INST(STZG_3, "STZG (signed-offset)", "11011001011iiiiiiiii10nnnnn11111") // ARMv8.5 +//INST(ST2G_1, "ST2G (post-index)", "11011001101iiiiiiiii01nnnnn11111") // ARMv8.5 +//INST(ST2G_2, "ST2G (pre-index)", "11011001101iiiiiiiii11nnnnn11111") // ARMv8.5 +//INST(ST2G_3, "ST2G (signed-offset)", "11011001101iiiiiiiii10nnnnn11111") // ARMv8.5 +//INST(STGV, "STGV", "1101100110100000000000nnnnnttttt") // ARMv8.5 +//INST(STZ2G_1, "STZ2G (post-index)", "11011001111iiiiiiiii01nnnnn11111") // ARMv8.5 +//INST(STZ2G_2, "STZ2G (pre-index)", "11011001111iiiiiiiii11nnnnn11111") // ARMv8.5 +//INST(STZ2G_3, "STZ2G (signed-offset)", "11011001111iiiiiiiii10nnnnn11111") // ARMv8.5 +//INST(LDGV, "LDGV", "1101100111100000000000nnnnnttttt") // ARMv8.5 + +// Loads and stores - Load/Store register (pointer authentication) +//INST(LDRA, "LDRAA, LDRAB", "11111000MS1iiiiiiiiiW1nnnnnttttt") + +// Data Processing - Register - 2 source +INST(UDIV, "UDIV", "z0011010110mmmmm000010nnnnnddddd") +INST(SDIV, "SDIV", "z0011010110mmmmm000011nnnnnddddd") +INST(LSLV, "LSLV", "z0011010110mmmmm001000nnnnnddddd") +INST(LSRV, "LSRV", "z0011010110mmmmm001001nnnnnddddd") +INST(ASRV, "ASRV", "z0011010110mmmmm001010nnnnnddddd") +INST(RORV, "RORV", "z0011010110mmmmm001011nnnnnddddd") +INST(CRC32, "CRC32B, CRC32H, CRC32W, CRC32X", "z0011010110mmmmm0100zznnnnnddddd") +INST(CRC32C, "CRC32CB, CRC32CH, CRC32CW, CRC32CX", "z0011010110mmmmm0101zznnnnnddddd") +//INST(PACGA, "PACGA", "10011010110mmmmm001100nnnnnddddd") +//INST(SUBP, "SUBP", "10011010110mmmmm000000nnnnnddddd") // ARMv8.5 +//INST(IRG, "IRG", "10011010110mmmmm000100nnnnnddddd") // ARMv8.5 +//INST(GMI, "GMI", "10011010110mmmmm000101nnnnnddddd") // ARMv8.5 +//INST(SUBPS, "SUBPS", "10111010110mmmmm000000nnnnnddddd") // ARMv8.5 + +// Data Processing - Register - 1 source +INST(RBIT_int, "RBIT", "z101101011000000000000nnnnnddddd") +INST(REV16_int, "REV16", "z101101011000000000001nnnnnddddd") +INST(REV, "REV", "z10110101100000000001onnnnnddddd") +INST(CLZ_int, "CLZ", "z101101011000000000100nnnnnddddd") +INST(CLS_int, "CLS", "z101101011000000000101nnnnnddddd") +INST(REV32_int, "REV32", "1101101011000000000010nnnnnddddd") +//INST(PACDA, "PACDA, PACDZA", "110110101100000100Z010nnnnnddddd") +//INST(PACDB, "PACDB, PACDZB", "110110101100000100Z011nnnnnddddd") +//INST(AUTDA, "AUTDA, AUTDZA", "110110101100000100Z110nnnnnddddd") +//INST(AUTDB, "AUTDB, AUTDZB", "110110101100000100Z111nnnnnddddd") + +// Data Processing - Register - Logical (shifted register) +INST(AND_shift, "AND (shifted register)", "z0001010ss0mmmmmiiiiiinnnnnddddd") +INST(BIC_shift, "BIC (shifted register)", "z0001010ss1mmmmmiiiiiinnnnnddddd") +INST(ORR_shift, "ORR (shifted register)", "z0101010ss0mmmmmiiiiiinnnnnddddd") +INST(ORN_shift, "ORN (shifted register)", "z0101010ss1mmmmmiiiiiinnnnnddddd") +INST(EOR_shift, "EOR (shifted register)", "z1001010ss0mmmmmiiiiiinnnnnddddd") +INST(EON, "EON (shifted register)", "z1001010ss1mmmmmiiiiiinnnnnddddd") +INST(ANDS_shift, "ANDS (shifted register)", "z1101010ss0mmmmmiiiiiinnnnnddddd") +INST(BICS, "BICS (shifted register)", "z1101010ss1mmmmmiiiiiinnnnnddddd") + +// Data Processing - Register - Add/Sub (shifted register) +INST(ADD_shift, "ADD (shifted register)", "z0001011ss0mmmmmiiiiiinnnnnddddd") +INST(ADDS_shift, "ADDS (shifted register)", "z0101011ss0mmmmmiiiiiinnnnnddddd") +INST(SUB_shift, "SUB (shifted register)", "z1001011ss0mmmmmiiiiiinnnnnddddd") +INST(SUBS_shift, "SUBS (shifted register)", "z1101011ss0mmmmmiiiiiinnnnnddddd") + +// Data Processing - Register - Add/Sub (shifted register) +INST(ADD_ext, "ADD (extended register)", "z0001011001mmmmmxxxiiinnnnnddddd") +INST(ADDS_ext, "ADDS (extended register)", "z0101011001mmmmmxxxiiinnnnnddddd") +INST(SUB_ext, "SUB (extended register)", "z1001011001mmmmmxxxiiinnnnnddddd") +INST(SUBS_ext, "SUBS (extended register)", "z1101011001mmmmmxxxiiinnnnnddddd") + +// Data Processing - Register - Add/Sub (with carry) +INST(ADC, "ADC", "z0011010000mmmmm000000nnnnnddddd") +INST(ADCS, "ADCS", "z0111010000mmmmm000000nnnnnddddd") +INST(SBC, "SBC", "z1011010000mmmmm000000nnnnnddddd") +INST(SBCS, "SBCS", "z1111010000mmmmm000000nnnnnddddd") + +// Data Processing - Register - Conditional compare +INST(CCMN_reg, "CCMN (register)", "z0111010010mmmmmcccc00nnnnn0ffff") +INST(CCMP_reg, "CCMP (register)", "z1111010010mmmmmcccc00nnnnn0ffff") +INST(CCMN_imm, "CCMN (immediate)", "z0111010010iiiiicccc10nnnnn0ffff") +INST(CCMP_imm, "CCMP (immediate)", "z1111010010iiiiicccc10nnnnn0ffff") + +// Data Processing - Register - Conditional select +INST(CSEL, "CSEL", "z0011010100mmmmmcccc00nnnnnddddd") +INST(CSINC, "CSINC", "z0011010100mmmmmcccc01nnnnnddddd") +INST(CSINV, "CSINV", "z1011010100mmmmmcccc00nnnnnddddd") +INST(CSNEG, "CSNEG", "z1011010100mmmmmcccc01nnnnnddddd") + +// Data Processing - Register - 3 source +INST(MADD, "MADD", "z0011011000mmmmm0aaaaannnnnddddd") +INST(MSUB, "MSUB", "z0011011000mmmmm1aaaaannnnnddddd") +INST(SMADDL, "SMADDL", "10011011001mmmmm0aaaaannnnnddddd") +INST(SMSUBL, "SMSUBL", "10011011001mmmmm1aaaaannnnnddddd") +INST(SMULH, "SMULH", "10011011010mmmmm011111nnnnnddddd") +INST(UMADDL, "UMADDL", "10011011101mmmmm0aaaaannnnnddddd") +INST(UMSUBL, "UMSUBL", "10011011101mmmmm1aaaaannnnnddddd") +INST(UMULH, "UMULH", "10011011110mmmmm011111nnnnnddddd") + +// Data Processing - FP and SIMD - AES +INST(AESE, "AESE", "0100111000101000010010nnnnnddddd") +INST(AESD, "AESD", "0100111000101000010110nnnnnddddd") +INST(AESMC, "AESMC", "0100111000101000011010nnnnnddddd") +INST(AESIMC, "AESIMC", "0100111000101000011110nnnnnddddd") + +// Data Processing - FP and SIMD - SHA +INST(SHA1C, "SHA1C", "01011110000mmmmm000000nnnnnddddd") +INST(SHA1P, "SHA1P", "01011110000mmmmm000100nnnnnddddd") +INST(SHA1M, "SHA1M", "01011110000mmmmm001000nnnnnddddd") +INST(SHA1SU0, "SHA1SU0", "01011110000mmmmm001100nnnnnddddd") +INST(SHA256H, "SHA256H", "01011110000mmmmm010000nnnnnddddd") +INST(SHA256H2, "SHA256H2", "01011110000mmmmm010100nnnnnddddd") +INST(SHA256SU1, "SHA256SU1", "01011110000mmmmm011000nnnnnddddd") +INST(SHA1H, "SHA1H", "0101111000101000000010nnnnnddddd") +INST(SHA1SU1, "SHA1SU1", "0101111000101000000110nnnnnddddd") +INST(SHA256SU0, "SHA256SU0", "0101111000101000001010nnnnnddddd") + +// Data Processing - FP and SIMD - Scalar copy +INST(DUP_elt_1, "DUP (element)", "01011110000iiiii000001nnnnnddddd") + +// Data Processing - FP and SIMD - Scalar three +//INST(FMULX_vec_1, "FMULX", "01011110010mmmmm000111nnnnnddddd") +INST(FMULX_vec_2, "FMULX", "010111100z1mmmmm110111nnnnnddddd") +INST(FCMEQ_reg_1, "FCMEQ (register)", "01011110010mmmmm001001nnnnnddddd") +INST(FCMEQ_reg_2, "FCMEQ (register)", "010111100z1mmmmm111001nnnnnddddd") +INST(FRECPS_1, "FRECPS", "01011110010mmmmm001111nnnnnddddd") +INST(FRECPS_2, "FRECPS", "010111100z1mmmmm111111nnnnnddddd") +INST(FRSQRTS_1, "FRSQRTS", "01011110110mmmmm001111nnnnnddddd") +INST(FRSQRTS_2, "FRSQRTS", "010111101z1mmmmm111111nnnnnddddd") +//INST(FCMGE_reg_1, "FCMGE (register)", "01111110010mmmmm001001nnnnnddddd") +INST(FCMGE_reg_2, "FCMGE (register)", "011111100z1mmmmm111001nnnnnddddd") +//INST(FACGE_1, "FACGE", "01111110010mmmmm001011nnnnnddddd") +INST(FACGE_2, "FACGE", "011111100z1mmmmm111011nnnnnddddd") +//INST(FABD_1, "FABD", "01111110110mmmmm000101nnnnnddddd") +INST(FABD_2, "FABD", "011111101z1mmmmm110101nnnnnddddd") +//INST(FCMGT_reg_1, "FCMGT (register)", "01111110110mmmmm001001nnnnnddddd") +INST(FCMGT_reg_2, "FCMGT (register)", "011111101z1mmmmm111001nnnnnddddd") +//INST(FACGT_1, "FACGT", "01111110110mmmmm001011nnnnnddddd") +INST(FACGT_2, "FACGT", "011111101z1mmmmm111011nnnnnddddd") + +// Data Processing - FP and SIMD - Scalar two register misc +//INST(FCVTNS_1, "FCVTNS (vector)", "0101111001111001101010nnnnnddddd") +INST(FCVTNS_2, "FCVTNS (vector)", "010111100z100001101010nnnnnddddd") +//INST(FCVTMS_1, "FCVTMS (vector)", "0101111001111001101110nnnnnddddd") +INST(FCVTMS_2, "FCVTMS (vector)", "010111100z100001101110nnnnnddddd") +//INST(FCVTAS_1, "FCVTAS (vector)", "0101111001111001110010nnnnnddddd") +INST(FCVTAS_2, "FCVTAS (vector)", "010111100z100001110010nnnnnddddd") +//INST(SCVTF_int_1, "SCVTF (vector, integer)", "0101111001111001110110nnnnnddddd") +INST(SCVTF_int_2, "SCVTF (vector, integer)", "010111100z100001110110nnnnnddddd") +//INST(FCMGT_zero_1, "FCMGT (zero)", "0101111011111000110010nnnnnddddd") +INST(FCMGT_zero_2, "FCMGT (zero)", "010111101z100000110010nnnnnddddd") +INST(FCMEQ_zero_1, "FCMEQ (zero)", "0101111011111000110110nnnnnddddd") +INST(FCMEQ_zero_2, "FCMEQ (zero)", "010111101z100000110110nnnnnddddd") +//INST(FCMLT_1, "FCMLT (zero)", "0101111011111000111010nnnnnddddd") +INST(FCMLT_2, "FCMLT (zero)", "010111101z100000111010nnnnnddddd") +//INST(FCVTPS_1, "FCVTPS (vector)", "0101111011111001101010nnnnnddddd") +INST(FCVTPS_2, "FCVTPS (vector)", "010111101z100001101010nnnnnddddd") +//INST(FCVTZS_int_1, "FCVTZS (vector, integer)", "0101111011111001101110nnnnnddddd") +INST(FCVTZS_int_2, "FCVTZS (vector, integer)", "010111101z100001101110nnnnnddddd") +INST(FRECPE_1, "FRECPE", "0101111011111001110110nnnnnddddd") +INST(FRECPE_2, "FRECPE", "010111101z100001110110nnnnnddddd") +INST(FRECPX_1, "FRECPX", "0101111011111001111110nnnnnddddd") +INST(FRECPX_2, "FRECPX", "010111101z100001111110nnnnnddddd") +//INST(FCVTNU_1, "FCVTNU (vector)", "0111111001111001101010nnnnnddddd") +INST(FCVTNU_2, "FCVTNU (vector)", "011111100z100001101010nnnnnddddd") +//INST(FCVTMU_1, "FCVTMU (vector)", "0111111001111001101110nnnnnddddd") +INST(FCVTMU_2, "FCVTMU (vector)", "011111100z100001101110nnnnnddddd") +//INST(FCVTAU_1, "FCVTAU (vector)", "0111111001111001110010nnnnnddddd") +INST(FCVTAU_2, "FCVTAU (vector)", "011111100z100001110010nnnnnddddd") +//INST(UCVTF_int_1, "UCVTF (vector, integer)", "0111111001111001110110nnnnnddddd") +INST(UCVTF_int_2, "UCVTF (vector, integer)", "011111100z100001110110nnnnnddddd") +//INST(FCMGE_zero_1, "FCMGE (zero)", "0111111011111000110010nnnnnddddd") +INST(FCMGE_zero_2, "FCMGE (zero)", "011111101z100000110010nnnnnddddd") +//INST(FCMLE_1, "FCMLE (zero)", "0111111011111000110110nnnnnddddd") +INST(FCMLE_2, "FCMLE (zero)", "011111101z100000110110nnnnnddddd") +//INST(FCVTPU_1, "FCVTPU (vector)", "0111111011111001101010nnnnnddddd") +INST(FCVTPU_2, "FCVTPU (vector)", "011111101z100001101010nnnnnddddd") +//INST(FCVTZU_int_1, "FCVTZU (vector, integer)", "0111111011111001101110nnnnnddddd") +INST(FCVTZU_int_2, "FCVTZU (vector, integer)", "011111101z100001101110nnnnnddddd") +INST(FRSQRTE_1, "FRSQRTE", "0111111011111001110110nnnnnddddd") +INST(FRSQRTE_2, "FRSQRTE", "011111101z100001110110nnnnnddddd") + +// Data Processing - FP and SIMD - Scalar three same extra +//INST(SQRDMLAH_vec_1, "SQRDMLAH (vector)", "01111110zz0mmmmm100001nnnnnddddd") +//INST(SQRDMLAH_vec_2, "SQRDMLAH (vector)", "0Q101110zz0mmmmm100001nnnnnddddd") +//INST(SQRDMLSH_vec_1, "SQRDMLSH (vector)", "01111110zz0mmmmm100011nnnnnddddd") +//INST(SQRDMLSH_vec_2, "SQRDMLSH (vector)", "0Q101110zz0mmmmm100011nnnnnddddd") + +// Data Processing - FP and SIMD - Scalar two-register misc +INST(SUQADD_1, "SUQADD", "01011110zz100000001110nnnnnddddd") +INST(SQABS_1, "SQABS", "01011110zz100000011110nnnnnddddd") +INST(CMGT_zero_1, "CMGT (zero)", "01011110zz100000100010nnnnnddddd") +INST(CMEQ_zero_1, "CMEQ (zero)", "01011110zz100000100110nnnnnddddd") +INST(CMLT_1, "CMLT (zero)", "01011110zz100000101010nnnnnddddd") +INST(ABS_1, "ABS", "01011110zz100000101110nnnnnddddd") +INST(SQXTN_1, "SQXTN, SQXTN2", "01011110zz100001010010nnnnnddddd") +INST(USQADD_1, "USQADD", "01111110zz100000001110nnnnnddddd") +INST(SQNEG_1, "SQNEG", "01111110zz100000011110nnnnnddddd") +INST(CMGE_zero_1, "CMGE (zero)", "01111110zz100000100010nnnnnddddd") +INST(CMLE_1, "CMLE (zero)", "01111110zz100000100110nnnnnddddd") +INST(NEG_1, "NEG (vector)", "01111110zz100000101110nnnnnddddd") +INST(SQXTUN_1, "SQXTUN, SQXTUN2", "01111110zz100001001010nnnnnddddd") +INST(UQXTN_1, "UQXTN, UQXTN2", "01111110zz100001010010nnnnnddddd") +INST(FCVTXN_1, "FCVTXN, FCVTXN2", "011111100z100001011010nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Scalar pairwise +INST(ADDP_pair, "ADDP (scalar)", "01011110zz110001101110nnnnnddddd") +//INST(FMAXNMP_pair_1, "FMAXNMP (scalar)", "0101111000110000110010nnnnnddddd") +INST(FMAXNMP_pair_2, "FMAXNMP (scalar)", "011111100z110000110010nnnnnddddd") +//INST(FADDP_pair_1, "FADDP (scalar)", "0101111000110000110110nnnnnddddd") +INST(FADDP_pair_2, "FADDP (scalar)", "011111100z110000110110nnnnnddddd") +//INST(FMAXP_pair_1, "FMAXP (scalar)", "0101111000110000111110nnnnnddddd") +INST(FMAXP_pair_2, "FMAXP (scalar)", "011111100z110000111110nnnnnddddd") +//INST(FMINNMP_pair_1, "FMINNMP (scalar)", "0101111010110000110010nnnnnddddd") +INST(FMINNMP_pair_2, "FMINNMP (scalar)", "011111101z110000110010nnnnnddddd") +//INST(FMINP_pair_1, "FMINP (scalar)", "0101111010110000111110nnnnnddddd") +INST(FMINP_pair_2, "FMINP (scalar)", "011111101z110000111110nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Scalar three different +//INST(SQDMLAL_vec_1, "SQDMLAL, SQDMLAL2 (vector)", "01011110zz1mmmmm100100nnnnnddddd") +//INST(SQDMLSL_vec_1, "SQDMLSL, SQDMLSL2 (vector)", "01011110zz1mmmmm101100nnnnnddddd") +//INST(SQDMULL_vec_1, "SQDMULL, SQDMULL2 (vector)", "01011110zz1mmmmm110100nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Scalar three same +INST(SQADD_1, "SQADD", "01011110zz1mmmmm000011nnnnnddddd") +INST(SQSUB_1, "SQSUB", "01011110zz1mmmmm001011nnnnnddddd") +INST(CMGT_reg_1, "CMGT (register)", "01011110zz1mmmmm001101nnnnnddddd") +INST(CMGE_reg_1, "CMGE (register)", "01011110zz1mmmmm001111nnnnnddddd") +INST(SSHL_1, "SSHL", "01011110zz1mmmmm010001nnnnnddddd") +INST(SQSHL_reg_1, "SQSHL (register)", "01011110zz1mmmmm010011nnnnnddddd") +INST(SRSHL_1, "SRSHL", "01011110zz1mmmmm010101nnnnnddddd") +//INST(SQRSHL_1, "SQRSHL", "01011110zz1mmmmm010111nnnnnddddd") +INST(ADD_1, "ADD (vector)", "01011110zz1mmmmm100001nnnnnddddd") +INST(CMTST_1, "CMTST", "01011110zz1mmmmm100011nnnnnddddd") +INST(SQDMULH_vec_1, "SQDMULH (vector)", "01011110zz1mmmmm101101nnnnnddddd") +INST(UQADD_1, "UQADD", "01111110zz1mmmmm000011nnnnnddddd") +INST(UQSUB_1, "UQSUB", "01111110zz1mmmmm001011nnnnnddddd") +INST(CMHI_1, "CMHI (register)", "01111110zz1mmmmm001101nnnnnddddd") +INST(CMHS_1, "CMHS (register)", "01111110zz1mmmmm001111nnnnnddddd") +INST(USHL_1, "USHL", "01111110zz1mmmmm010001nnnnnddddd") +INST(UQSHL_reg_1, "UQSHL (register)", "01111110zz1mmmmm010011nnnnnddddd") +INST(URSHL_1, "URSHL", "01111110zz1mmmmm010101nnnnnddddd") +//INST(UQRSHL_1, "UQRSHL", "01111110zz1mmmmm010111nnnnnddddd") +INST(SUB_1, "SUB (vector)", "01111110zz1mmmmm100001nnnnnddddd") +INST(CMEQ_reg_1, "CMEQ (register)", "01111110zz1mmmmm100011nnnnnddddd") +INST(SQRDMULH_vec_1, "SQRDMULH (vector)", "01111110zz1mmmmm101101nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Scalar shift by immediate +INST(SSHR_1, "SSHR", "010111110IIIIiii000001nnnnnddddd") +INST(SSRA_1, "SSRA", "010111110IIIIiii000101nnnnnddddd") +INST(SRSHR_1, "SRSHR", "010111110IIIIiii001001nnnnnddddd") +INST(SRSRA_1, "SRSRA", "010111110IIIIiii001101nnnnnddddd") +INST(SHL_1, "SHL", "010111110IIIIiii010101nnnnnddddd") +INST(SQSHL_imm_1, "SQSHL (immediate)", "010111110IIIIiii011101nnnnnddddd") +INST(SQSHRN_1, "SQSHRN, SQSHRN2", "010111110IIIIiii100101nnnnnddddd") +//INST(SQRSHRN_1, "SQRSHRN, SQRSHRN2", "010111110IIIIiii100111nnnnnddddd") +INST(SCVTF_fix_1, "SCVTF (vector, fixed-point)", "010111110IIIIiii111001nnnnnddddd") +INST(FCVTZS_fix_1, "FCVTZS (vector, fixed-point)", "010111110IIIIiii111111nnnnnddddd") +INST(USHR_1, "USHR", "011111110IIIIiii000001nnnnnddddd") +INST(USRA_1, "USRA", "011111110IIIIiii000101nnnnnddddd") +INST(URSHR_1, "URSHR", "011111110IIIIiii001001nnnnnddddd") +INST(URSRA_1, "URSRA", "011111110IIIIiii001101nnnnnddddd") +INST(SRI_1, "SRI", "011111110IIIIiii010001nnnnnddddd") +INST(SLI_1, "SLI", "011111110IIIIiii010101nnnnnddddd") +INST(SQSHLU_1, "SQSHLU", "011111110IIIIiii011001nnnnnddddd") +INST(UQSHL_imm_1, "UQSHL (immediate)", "011111110IIIIiii011101nnnnnddddd") +INST(SQSHRUN_1, "SQSHRUN, SQSHRUN2", "011111110IIIIiii100001nnnnnddddd") +//INST(SQRSHRUN_1, "SQRSHRUN, SQRSHRUN2", "011111110IIIIiii100011nnnnnddddd") +INST(UQSHRN_1, "UQSHRN, UQSHRN2", "011111110IIIIiii100101nnnnnddddd") +//INST(UQRSHRN_1, "UQRSHRN, UQRSHRN2", "011111110IIIIiii100111nnnnnddddd") +INST(UCVTF_fix_1, "UCVTF (vector, fixed-point)", "011111110IIIIiii111001nnnnnddddd") +INST(FCVTZU_fix_1, "FCVTZU (vector, fixed-point)", "011111110IIIIiii111111nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Scalar x indexed element +//INST(SQDMLAL_elt_1, "SQDMLAL, SQDMLAL2 (by element)", "01011111zzLMmmmm0011H0nnnnnddddd") +//INST(SQDMLSL_elt_1, "SQDMLSL, SQDMLSL2 (by element)", "01011111zzLMmmmm0111H0nnnnnddddd") +INST(SQDMULL_elt_1, "SQDMULL, SQDMULL2 (by element)", "01011111zzLMmmmm1011H0nnnnnddddd") +INST(SQDMULH_elt_1, "SQDMULH (by element)", "01011111zzLMmmmm1100H0nnnnnddddd") +INST(SQRDMULH_elt_1, "SQRDMULH (by element)", "01011111zzLMmmmm1101H0nnnnnddddd") +INST(FMLA_elt_1, "FMLA (by element)", "0101111100LMmmmm0001H0nnnnnddddd") +INST(FMLA_elt_2, "FMLA (by element)", "010111111zLMmmmm0001H0nnnnnddddd") +INST(FMLS_elt_1, "FMLS (by element)", "0101111100LMmmmm0101H0nnnnnddddd") +INST(FMLS_elt_2, "FMLS (by element)", "010111111zLMmmmm0101H0nnnnnddddd") +//INST(FMUL_elt_1, "FMUL (by element)", "0101111100LMmmmm1001H0nnnnnddddd") +INST(FMUL_elt_2, "FMUL (by element)", "010111111zLMmmmm1001H0nnnnnddddd") +//INST(SQRDMLAH_elt_1, "SQRDMLAH (by element)", "01111111zzLMmmmm1101H0nnnnnddddd") +//INST(SQRDMLSH_elt_1, "SQRDMLSH (by element)", "01111111zzLMmmmm1111H0nnnnnddddd") +//INST(FMULX_elt_1, "FMULX (by element)", "0111111100LMmmmm1001H0nnnnnddddd") +INST(FMULX_elt_2, "FMULX (by element)", "011111111zLMmmmm1001H0nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Table Lookup +INST(TBL, "TBL", "0Q001110000mmmmm0LL000nnnnnddddd") +INST(TBX, "TBX", "0Q001110000mmmmm0LL100nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Permute +INST(UZP1, "UZP1", "0Q001110zz0mmmmm000110nnnnnddddd") +INST(TRN1, "TRN1", "0Q001110zz0mmmmm001010nnnnnddddd") +INST(ZIP1, "ZIP1", "0Q001110zz0mmmmm001110nnnnnddddd") +INST(UZP2, "UZP2", "0Q001110zz0mmmmm010110nnnnnddddd") +INST(TRN2, "TRN2", "0Q001110zz0mmmmm011010nnnnnddddd") +INST(ZIP2, "ZIP2", "0Q001110zz0mmmmm011110nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Extract +INST(EXT, "EXT", "0Q101110000mmmmm0iiii0nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Copy +INST(DUP_elt_2, "DUP (element)", "0Q001110000iiiii000001nnnnnddddd") +INST(DUP_gen, "DUP (general)", "0Q001110000iiiii000011nnnnnddddd") +INST(SMOV, "SMOV", "0Q001110000iiiii001011nnnnnddddd") +INST(UMOV, "UMOV", "0Q001110000iiiii001111nnnnnddddd") +INST(INS_gen, "INS (general)", "01001110000iiiii000111nnnnnddddd") +INST(INS_elt, "INS (element)", "01101110000iiiii0iiii1nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Three same +//INST(FMULX_vec_3, "FMULX", "0Q001110010mmmmm000111nnnnnddddd") +INST(FCMEQ_reg_3, "FCMEQ (register)", "0Q001110010mmmmm001001nnnnnddddd") +INST(FRECPS_3, "FRECPS", "0Q001110010mmmmm001111nnnnnddddd") +INST(FRSQRTS_3, "FRSQRTS", "0Q001110110mmmmm001111nnnnnddddd") +//INST(FCMGE_reg_3, "FCMGE (register)", "0Q101110010mmmmm001001nnnnnddddd") +//INST(FACGE_3, "FACGE", "0Q101110010mmmmm001011nnnnnddddd") +//INST(FABD_3, "FABD", "0Q101110110mmmmm000101nnnnnddddd") +//INST(FCMGT_reg_3, "FCMGT (register)", "0Q101110110mmmmm001001nnnnnddddd") +//INST(FACGT_3, "FACGT", "0Q101110110mmmmm001011nnnnnddddd") +//INST(FMAXNM_1, "FMAXNM (vector)", "0Q001110010mmmmm000001nnnnnddddd") +INST(FMLA_vec_1, "FMLA (vector)", "0Q001110010mmmmm000011nnnnnddddd") +//INST(FADD_1, "FADD (vector)", "0Q001110010mmmmm000101nnnnnddddd") +//INST(FMAX_1, "FMAX (vector)", "0Q001110010mmmmm001101nnnnnddddd") +//INST(FMINNM_1, "FMINNM (vector)", "0Q001110110mmmmm000001nnnnnddddd") +INST(FMLS_vec_1, "FMLS (vector)", "0Q001110110mmmmm000011nnnnnddddd") +//INST(FSUB_1, "FSUB (vector)", "0Q001110110mmmmm000101nnnnnddddd") +//INST(FMIN_1, "FMIN (vector)", "0Q001110110mmmmm001101nnnnnddddd") +//INST(FMAXNMP_vec_1, "FMAXNMP (vector)", "0Q101110010mmmmm000001nnnnnddddd") +//INST(FADDP_vec_1, "FADDP (vector)", "0Q101110010mmmmm000101nnnnnddddd") +//INST(FMUL_vec_1, "FMUL (vector)", "0Q101110010mmmmm000111nnnnnddddd") +//INST(FMAXP_vec_1, "FMAXP (vector)", "0Q101110010mmmmm001101nnnnnddddd") +//INST(FDIV_1, "FDIV (vector)", "0Q101110010mmmmm001111nnnnnddddd") +//INST(FMINNMP_vec_1, "FMINNMP (vector)", "0Q101110110mmmmm000001nnnnnddddd") +//INST(FMINP_vec_1, "FMINP (vector)", "0Q101110110mmmmm001101nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Three same extra +//INST(SMMLA_vec, "SMMLA", "01001110100mmmmm101001nnnnnddddd") // v8.6 +//INST(UMMLA_vec, "UMMLA", "01101110100mmmmm101001nnnnnddddd") // v8.6 +//INST(USMMLA_vec, "USMMLA", "01001110100mmmmm101011nnnnnddddd") // v8.6 +//INST(SUDOT_element, "SUDOT (by element)", "0Q00111100LMmmmm1111H0nnnnnddddd") // v8.6 +//INST(USDOT_element, "USDOT (by_element)", "0Q00111110LMmmmm1111H0nnnnnddddd") // v8.6 +//INST(USDOT_vec, "USDOT (vector)", "0Q001110100mmmmm100111nnnnnddddd") // v8.6 +INST(SDOT_vec, "SDOT (vector)", "0Q001110zz0mmmmm100101nnnnnddddd") +INST(UDOT_vec, "UDOT (vector)", "0Q101110zz0mmmmm100101nnnnnddddd") +INST(FCMLA_vec, "FCMLA", "0Q101110zz0mmmmm110rr1nnnnnddddd") +INST(FCADD_vec, "FCADD", "0Q101110zz0mmmmm111r01nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD Two-register misc +INST(REV64_asimd, "REV64", "0Q001110zz100000000010nnnnnddddd") +INST(REV16_asimd, "REV16 (vector)", "0Q001110zz100000000110nnnnnddddd") +INST(SADDLP, "SADDLP", "0Q001110zz100000001010nnnnnddddd") +INST(SUQADD_2, "SUQADD", "0Q001110zz100000001110nnnnnddddd") +INST(CLS_asimd, "CLS (vector)", "0Q001110zz100000010010nnnnnddddd") +INST(CNT, "CNT", "0Q001110zz100000010110nnnnnddddd") +INST(SADALP, "SADALP", "0Q001110zz100000011010nnnnnddddd") +INST(SQABS_2, "SQABS", "0Q001110zz100000011110nnnnnddddd") +INST(CMGT_zero_2, "CMGT (zero)", "0Q001110zz100000100010nnnnnddddd") +INST(CMEQ_zero_2, "CMEQ (zero)", "0Q001110zz100000100110nnnnnddddd") +INST(CMLT_2, "CMLT (zero)", "0Q001110zz100000101010nnnnnddddd") +INST(ABS_2, "ABS", "0Q001110zz100000101110nnnnnddddd") +INST(XTN, "XTN, XTN2", "0Q001110zz100001001010nnnnnddddd") +INST(SQXTN_2, "SQXTN, SQXTN2", "0Q001110zz100001010010nnnnnddddd") +INST(FCVTN, "FCVTN, FCVTN2", "0Q0011100z100001011010nnnnnddddd") +INST(FCVTL, "FCVTL, FCVTL2", "0Q0011100z100001011110nnnnnddddd") +INST(FRINTN_1, "FRINTN (vector)", "0Q00111001111001100010nnnnnddddd") +INST(FRINTN_2, "FRINTN (vector)", "0Q0011100z100001100010nnnnnddddd") +INST(FRINTM_1, "FRINTM (vector)", "0Q00111001111001100110nnnnnddddd") +INST(FRINTM_2, "FRINTM (vector)", "0Q0011100z100001100110nnnnnddddd") +//INST(FCVTNS_3, "FCVTNS (vector)", "0Q00111001111001101010nnnnnddddd") +INST(FCVTNS_4, "FCVTNS (vector)", "0Q0011100z100001101010nnnnnddddd") +//INST(FCVTMS_3, "FCVTMS (vector)", "0Q00111001111001101110nnnnnddddd") +INST(FCVTMS_4, "FCVTMS (vector)", "0Q0011100z100001101110nnnnnddddd") +//INST(FCVTAS_3, "FCVTAS (vector)", "0Q00111001111001110010nnnnnddddd") +INST(FCVTAS_4, "FCVTAS (vector)", "0Q0011100z100001110010nnnnnddddd") +//INST(SCVTF_int_3, "SCVTF (vector, integer)", "0Q00111001111001110110nnnnnddddd") +INST(SCVTF_int_4, "SCVTF (vector, integer)", "0Q0011100z100001110110nnnnnddddd") +//INST(FCMGT_zero_3, "FCMGT (zero)", "0Q00111011111000110010nnnnnddddd") +INST(FCMGT_zero_4, "FCMGT (zero)", "0Q0011101z100000110010nnnnnddddd") +INST(FCMEQ_zero_3, "FCMEQ (zero)", "0Q00111011111000110110nnnnnddddd") +INST(FCMEQ_zero_4, "FCMEQ (zero)", "0Q0011101z100000110110nnnnnddddd") +//INST(FCMLT_3, "FCMLT (zero)", "0Q00111011111000111010nnnnnddddd") +INST(FCMLT_4, "FCMLT (zero)", "0Q0011101z100000111010nnnnnddddd") +INST(FABS_1, "FABS (vector)", "0Q00111011111000111110nnnnnddddd") +INST(FABS_2, "FABS (vector)", "0Q0011101z100000111110nnnnnddddd") +INST(FRINTP_1, "FRINTP (vector)", "0Q00111011111001100010nnnnnddddd") +INST(FRINTP_2, "FRINTP (vector)", "0Q0011101z100001100010nnnnnddddd") +INST(FRINTZ_1, "FRINTZ (vector)", "0Q00111011111001100110nnnnnddddd") +INST(FRINTZ_2, "FRINTZ (vector)", "0Q0011101z100001100110nnnnnddddd") +//INST(FCVTPS_3, "FCVTPS (vector)", "0Q00111011111001101010nnnnnddddd") +INST(FCVTPS_4, "FCVTPS (vector)", "0Q0011101z100001101010nnnnnddddd") +//INST(FCVTZS_int_3, "FCVTZS (vector, integer)", "0Q00111011111001101110nnnnnddddd") +INST(FCVTZS_int_4, "FCVTZS (vector, integer)", "0Q0011101z100001101110nnnnnddddd") +INST(URECPE, "URECPE", "0Q0011101z100001110010nnnnnddddd") +INST(FRECPE_3, "FRECPE", "0Q00111011111001110110nnnnnddddd") +INST(FRECPE_4, "FRECPE", "0Q0011101z100001110110nnnnnddddd") +INST(REV32_asimd, "REV32 (vector)", "0Q101110zz100000000010nnnnnddddd") +INST(UADDLP, "UADDLP", "0Q101110zz100000001010nnnnnddddd") +INST(USQADD_2, "USQADD", "0Q101110zz100000001110nnnnnddddd") +INST(CLZ_asimd, "CLZ (vector)", "0Q101110zz100000010010nnnnnddddd") +INST(UADALP, "UADALP", "0Q101110zz100000011010nnnnnddddd") +INST(SQNEG_2, "SQNEG", "0Q101110zz100000011110nnnnnddddd") +INST(CMGE_zero_2, "CMGE (zero)", "0Q101110zz100000100010nnnnnddddd") +INST(CMLE_2, "CMLE (zero)", "0Q101110zz100000100110nnnnnddddd") +INST(NEG_2, "NEG (vector)", "0Q101110zz100000101110nnnnnddddd") +INST(SQXTUN_2, "SQXTUN, SQXTUN2", "0Q101110zz100001001010nnnnnddddd") +INST(SHLL, "SHLL, SHLL2", "0Q101110zz100001001110nnnnnddddd") +INST(UQXTN_2, "UQXTN, UQXTN2", "0Q101110zz100001010010nnnnnddddd") +INST(FCVTXN_2, "FCVTXN, FCVTXN2", "0Q1011100z100001011010nnnnnddddd") +INST(FRINTA_1, "FRINTA (vector)", "0Q10111001111001100010nnnnnddddd") +INST(FRINTA_2, "FRINTA (vector)", "0Q1011100z100001100010nnnnnddddd") +INST(FRINTX_1, "FRINTX (vector)", "0Q10111001111001100110nnnnnddddd") +INST(FRINTX_2, "FRINTX (vector)", "0Q1011100z100001100110nnnnnddddd") +//INST(FCVTNU_3, "FCVTNU (vector)", "0Q10111001111001101010nnnnnddddd") +INST(FCVTNU_4, "FCVTNU (vector)", "0Q1011100z100001101010nnnnnddddd") +//INST(FCVTMU_3, "FCVTMU (vector)", "0Q10111001111001101110nnnnnddddd") +INST(FCVTMU_4, "FCVTMU (vector)", "0Q1011100z100001101110nnnnnddddd") +//INST(FCVTAU_3, "FCVTAU (vector)", "0Q10111001111001110010nnnnnddddd") +INST(FCVTAU_4, "FCVTAU (vector)", "0Q1011100z100001110010nnnnnddddd") +//INST(UCVTF_int_3, "UCVTF (vector, integer)", "0Q10111001111001110110nnnnnddddd") +INST(UCVTF_int_4, "UCVTF (vector, integer)", "0Q1011100z100001110110nnnnnddddd") +INST(NOT, "NOT", "0Q10111000100000010110nnnnnddddd") +INST(RBIT_asimd, "RBIT (vector)", "0Q10111001100000010110nnnnnddddd") +INST(FNEG_1, "FNEG (vector)", "0Q10111011111000111110nnnnnddddd") +INST(FNEG_2, "FNEG (vector)", "0Q1011101z100000111110nnnnnddddd") +INST(FRINTI_1, "FRINTI (vector)", "0Q10111011111001100110nnnnnddddd") +INST(FRINTI_2, "FRINTI (vector)", "0Q1011101z100001100110nnnnnddddd") +//INST(FCMGE_zero_3, "FCMGE (zero)", "0Q10111011111000110010nnnnnddddd") +INST(FCMGE_zero_4, "FCMGE (zero)", "0Q1011101z100000110010nnnnnddddd") +//INST(FCMLE_3, "FCMLE (zero)", "0Q10111011111000110110nnnnnddddd") +INST(FCMLE_4, "FCMLE (zero)", "0Q1011101z100000110110nnnnnddddd") +//INST(FCVTPU_3, "FCVTPU (vector)", "0Q10111011111001101010nnnnnddddd") +INST(FCVTPU_4, "FCVTPU (vector)", "0Q1011101z100001101010nnnnnddddd") +//INST(FCVTZU_int_3, "FCVTZU (vector, integer)", "0Q10111011111001101110nnnnnddddd") +INST(FCVTZU_int_4, "FCVTZU (vector, integer)", "0Q1011101z100001101110nnnnnddddd") +INST(URSQRTE, "URSQRTE", "0Q1011101z100001110010nnnnnddddd") +INST(FRSQRTE_3, "FRSQRTE", "0Q10111011111001110110nnnnnddddd") +INST(FRSQRTE_4, "FRSQRTE", "0Q1011101z100001110110nnnnnddddd") +//INST(FSQRT_1, "FSQRT (vector)", "0Q10111011111001111110nnnnnddddd") +INST(FSQRT_2, "FSQRT (vector)", "0Q1011101z100001111110nnnnnddddd") +//INST(FRINT32X_1, "FRINT32X (vector)", "0Q1011100z100001111110nnnnnddddd") // ARMv8.5 +//INST(FRINT64X_1, "FRINT64X (vector)", "0Q1011100z100001111010nnnnnddddd") // ARMv8.5 +//INST(FRINT32Z_1, "FRINT32Z (vector)", "0Q0011100z100001111010nnnnnddddd") // ARMv8.5 +//INST(FRINT64Z_1, "FRINT64Z (vector)", "0Q0011100z100001111110nnnnnddddd") // ARMv8.5 + +// Data Processing - FP and SIMD - SIMD across lanes +INST(SADDLV, "SADDLV", "0Q001110zz110000001110nnnnnddddd") +INST(SMAXV, "SMAXV", "0Q001110zz110000101010nnnnnddddd") +INST(SMINV, "SMINV", "0Q001110zz110001101010nnnnnddddd") +INST(ADDV, "ADDV", "0Q001110zz110001101110nnnnnddddd") +//INST(FMAXNMV_1, "FMAXNMV", "0Q00111000110000110010nnnnnddddd") +INST(FMAXNMV_2, "FMAXNMV", "0Q1011100z110000110010nnnnnddddd") +//INST(FMAXV_1, "FMAXV", "0Q00111000110000111110nnnnnddddd") +INST(FMAXV_2, "FMAXV", "0Q1011100z110000111110nnnnnddddd") +//INST(FMINNMV_1, "FMINNMV", "0Q00111010110000110010nnnnnddddd") +INST(FMINNMV_2, "FMINNMV", "0Q1011101z110000110010nnnnnddddd") +//INST(FMINV_1, "FMINV", "0Q00111010110000111110nnnnnddddd") +INST(FMINV_2, "FMINV", "0Q1011101z110000111110nnnnnddddd") +INST(UADDLV, "UADDLV", "0Q101110zz110000001110nnnnnddddd") +INST(UMAXV, "UMAXV", "0Q101110zz110000101010nnnnnddddd") +INST(UMINV, "UMINV", "0Q101110zz110001101010nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD three different +INST(SADDL, "SADDL, SADDL2", "0Q001110zz1mmmmm000000nnnnnddddd") +INST(SADDW, "SADDW, SADDW2", "0Q001110zz1mmmmm000100nnnnnddddd") +INST(SSUBL, "SSUBL, SSUBL2", "0Q001110zz1mmmmm001000nnnnnddddd") +INST(SSUBW, "SSUBW, SSUBW2", "0Q001110zz1mmmmm001100nnnnnddddd") +INST(ADDHN, "ADDHN, ADDHN2", "0Q001110zz1mmmmm010000nnnnnddddd") +INST(SABAL, "SABAL, SABAL2", "0Q001110zz1mmmmm010100nnnnnddddd") +INST(SUBHN, "SUBHN, SUBHN2", "0Q001110zz1mmmmm011000nnnnnddddd") +INST(SABDL, "SABDL, SABDL2", "0Q001110zz1mmmmm011100nnnnnddddd") +INST(SMLAL_vec, "SMLAL, SMLAL2 (vector)", "0Q001110zz1mmmmm100000nnnnnddddd") +INST(SMLSL_vec, "SMLSL, SMLSL2 (vector)", "0Q001110zz1mmmmm101000nnnnnddddd") +INST(SMULL_vec, "SMULL, SMULL2 (vector)", "0Q001110zz1mmmmm110000nnnnnddddd") +INST(PMULL, "PMULL, PMULL2", "0Q001110zz1mmmmm111000nnnnnddddd") +INST(UADDL, "UADDL, UADDL2", "0Q101110zz1mmmmm000000nnnnnddddd") +INST(UADDW, "UADDW, UADDW2", "0Q101110zz1mmmmm000100nnnnnddddd") +INST(USUBL, "USUBL, USUBL2", "0Q101110zz1mmmmm001000nnnnnddddd") +INST(USUBW, "USUBW, USUBW2", "0Q101110zz1mmmmm001100nnnnnddddd") +INST(RADDHN, "RADDHN, RADDHN2", "0Q101110zz1mmmmm010000nnnnnddddd") +INST(UABAL, "UABAL, UABAL2", "0Q101110zz1mmmmm010100nnnnnddddd") +INST(RSUBHN, "RSUBHN, RSUBHN2", "0Q101110zz1mmmmm011000nnnnnddddd") +INST(UABDL, "UABDL, UABDL2", "0Q101110zz1mmmmm011100nnnnnddddd") +INST(UMLAL_vec, "UMLAL, UMLAL2 (vector)", "0Q101110zz1mmmmm100000nnnnnddddd") +INST(UMLSL_vec, "UMLSL, UMLSL2 (vector)", "0Q101110zz1mmmmm101000nnnnnddddd") +INST(UMULL_vec, "UMULL, UMULL2 (vector)", "0Q101110zz1mmmmm110000nnnnnddddd") +//INST(SQDMLAL_vec_2, "SQDMLAL, SQDMLAL2 (vector)", "0Q001110zz1mmmmm100100nnnnnddddd") +//INST(SQDMLSL_vec_2, "SQDMLSL, SQDMLSL2 (vector)", "0Q001110zz1mmmmm101100nnnnnddddd") +INST(SQDMULL_vec_2, "SQDMULL, SQDMULL2 (vector)", "0Q001110zz1mmmmm110100nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD three same +INST(SHADD, "SHADD", "0Q001110zz1mmmmm000001nnnnnddddd") +INST(SQADD_2, "SQADD", "0Q001110zz1mmmmm000011nnnnnddddd") +INST(SRHADD, "SRHADD", "0Q001110zz1mmmmm000101nnnnnddddd") +INST(SHSUB, "SHSUB", "0Q001110zz1mmmmm001001nnnnnddddd") +INST(SQSUB_2, "SQSUB", "0Q001110zz1mmmmm001011nnnnnddddd") +INST(CMGT_reg_2, "CMGT (register)", "0Q001110zz1mmmmm001101nnnnnddddd") +INST(CMGE_reg_2, "CMGE (register)", "0Q001110zz1mmmmm001111nnnnnddddd") +INST(SSHL_2, "SSHL", "0Q001110zz1mmmmm010001nnnnnddddd") +INST(SQSHL_reg_2, "SQSHL (register)", "0Q001110zz1mmmmm010011nnnnnddddd") +INST(SRSHL_2, "SRSHL", "0Q001110zz1mmmmm010101nnnnnddddd") +//INST(SQRSHL_2, "SQRSHL", "0Q001110zz1mmmmm010111nnnnnddddd") +INST(SMAX, "SMAX", "0Q001110zz1mmmmm011001nnnnnddddd") +INST(SMIN, "SMIN", "0Q001110zz1mmmmm011011nnnnnddddd") +INST(SABD, "SABD", "0Q001110zz1mmmmm011101nnnnnddddd") +INST(SABA, "SABA", "0Q001110zz1mmmmm011111nnnnnddddd") +INST(ADD_vector, "ADD (vector)", "0Q001110zz1mmmmm100001nnnnnddddd") +INST(CMTST_2, "CMTST", "0Q001110zz1mmmmm100011nnnnnddddd") +INST(MLA_vec, "MLA (vector)", "0Q001110zz1mmmmm100101nnnnnddddd") +INST(MUL_vec, "MUL (vector)", "0Q001110zz1mmmmm100111nnnnnddddd") +INST(SMAXP, "SMAXP", "0Q001110zz1mmmmm101001nnnnnddddd") +INST(SMINP, "SMINP", "0Q001110zz1mmmmm101011nnnnnddddd") +INST(SQDMULH_vec_2, "SQDMULH (vector)", "0Q001110zz1mmmmm101101nnnnnddddd") +INST(ADDP_vec, "ADDP (vector)", "0Q001110zz1mmmmm101111nnnnnddddd") +INST(FMAXNM_2, "FMAXNM (vector)", "0Q0011100z1mmmmm110001nnnnnddddd") +INST(FMLA_vec_2, "FMLA (vector)", "0Q0011100z1mmmmm110011nnnnnddddd") +INST(FADD_2, "FADD (vector)", "0Q0011100z1mmmmm110101nnnnnddddd") +INST(FMAX_2, "FMAX (vector)", "0Q0011100z1mmmmm111101nnnnnddddd") +INST(FMULX_vec_4, "FMULX", "0Q0011100z1mmmmm110111nnnnnddddd") +INST(FCMEQ_reg_4, "FCMEQ (register)", "0Q0011100z1mmmmm111001nnnnnddddd") +//INST(FMLAL_vec_1, "FMLAL, FMLAL2 (vector)", "0Q0011100z1mmmmm111011nnnnnddddd") +INST(FRECPS_4, "FRECPS", "0Q0011100z1mmmmm111111nnnnnddddd") +INST(AND_asimd, "AND (vector)", "0Q001110001mmmmm000111nnnnnddddd") +INST(BIC_asimd_reg, "BIC (vector, register)", "0Q001110011mmmmm000111nnnnnddddd") +INST(FMINNM_2, "FMINNM (vector)", "0Q0011101z1mmmmm110001nnnnnddddd") +INST(FMLS_vec_2, "FMLS (vector)", "0Q0011101z1mmmmm110011nnnnnddddd") +INST(FSUB_2, "FSUB (vector)", "0Q0011101z1mmmmm110101nnnnnddddd") +//INST(FMLSL_vec_1, "FMLSL, FMLSL2 (vector)", "0Q0011101z1mmmmm111011nnnnnddddd") +INST(FMIN_2, "FMIN (vector)", "0Q0011101z1mmmmm111101nnnnnddddd") +INST(FRSQRTS_4, "FRSQRTS", "0Q0011101z1mmmmm111111nnnnnddddd") +INST(ORR_asimd_reg, "ORR (vector, register)", "0Q001110101mmmmm000111nnnnnddddd") +INST(ORN_asimd, "ORN (vector)", "0Q001110111mmmmm000111nnnnnddddd") +INST(UHADD, "UHADD", "0Q101110zz1mmmmm000001nnnnnddddd") +INST(UQADD_2, "UQADD", "0Q101110zz1mmmmm000011nnnnnddddd") +INST(URHADD, "URHADD", "0Q101110zz1mmmmm000101nnnnnddddd") +INST(UHSUB, "UHSUB", "0Q101110zz1mmmmm001001nnnnnddddd") +INST(UQSUB_2, "UQSUB", "0Q101110zz1mmmmm001011nnnnnddddd") +INST(CMHI_2, "CMHI (register)", "0Q101110zz1mmmmm001101nnnnnddddd") +INST(CMHS_2, "CMHS (register)", "0Q101110zz1mmmmm001111nnnnnddddd") +INST(USHL_2, "USHL", "0Q101110zz1mmmmm010001nnnnnddddd") +INST(UQSHL_reg_2, "UQSHL (register)", "0Q101110zz1mmmmm010011nnnnnddddd") +INST(URSHL_2, "URSHL", "0Q101110zz1mmmmm010101nnnnnddddd") +//INST(UQRSHL_2, "UQRSHL", "0Q101110zz1mmmmm010111nnnnnddddd") +INST(UMAX, "UMAX", "0Q101110zz1mmmmm011001nnnnnddddd") +INST(UMIN, "UMIN", "0Q101110zz1mmmmm011011nnnnnddddd") +INST(UABD, "UABD", "0Q101110zz1mmmmm011101nnnnnddddd") +INST(UABA, "UABA", "0Q101110zz1mmmmm011111nnnnnddddd") +INST(SUB_2, "SUB (vector)", "0Q101110zz1mmmmm100001nnnnnddddd") +INST(CMEQ_reg_2, "CMEQ (register)", "0Q101110zz1mmmmm100011nnnnnddddd") +INST(MLS_vec, "MLS (vector)", "0Q101110zz1mmmmm100101nnnnnddddd") +INST(PMUL, "PMUL", "0Q101110zz1mmmmm100111nnnnnddddd") +INST(UMAXP, "UMAXP", "0Q101110zz1mmmmm101001nnnnnddddd") +INST(UMINP, "UMINP", "0Q101110zz1mmmmm101011nnnnnddddd") +INST(SQRDMULH_vec_2, "SQRDMULH (vector)", "0Q101110zz1mmmmm101101nnnnnddddd") +INST(FMAXNMP_vec_2, "FMAXNMP (vector)", "0Q1011100z1mmmmm110001nnnnnddddd") +//INST(FMLAL_vec_2, "FMLAL, FMLAL2 (vector)", "0Q1011100z1mmmmm110011nnnnnddddd") +INST(FADDP_vec_2, "FADDP (vector)", "0Q1011100z1mmmmm110101nnnnnddddd") +INST(FMUL_vec_2, "FMUL (vector)", "0Q1011100z1mmmmm110111nnnnnddddd") +INST(FCMGE_reg_4, "FCMGE (register)", "0Q1011100z1mmmmm111001nnnnnddddd") +INST(FACGE_4, "FACGE", "0Q1011100z1mmmmm111011nnnnnddddd") +INST(FMAXP_vec_2, "FMAXP (vector)", "0Q1011100z1mmmmm111101nnnnnddddd") +INST(FDIV_2, "FDIV (vector)", "0Q1011100z1mmmmm111111nnnnnddddd") +INST(EOR_asimd, "EOR (vector)", "0Q101110001mmmmm000111nnnnnddddd") +INST(BSL, "BSL", "0Q101110011mmmmm000111nnnnnddddd") +INST(FMINNMP_vec_2, "FMINNMP (vector)", "0Q1011101z1mmmmm110001nnnnnddddd") +//INST(FMLSL_vec_2, "FMLSL, FMLSL2 (vector)", "0Q1011101z1mmmmm110011nnnnnddddd") +INST(FABD_4, "FABD", "0Q1011101z1mmmmm110101nnnnnddddd") +INST(FCMGT_reg_4, "FCMGT (register)", "0Q1011101z1mmmmm111001nnnnnddddd") +INST(FACGT_4, "FACGT", "0Q1011101z1mmmmm111011nnnnnddddd") +INST(FMINP_vec_2, "FMINP (vector)", "0Q1011101z1mmmmm111101nnnnnddddd") +INST(BIT, "BIT", "0Q101110101mmmmm000111nnnnnddddd") +INST(BIF, "BIF", "0Q101110111mmmmm000111nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD modified immediate +INST(MOVI, "MOVI, MVNI, ORR, BIC (vector, immediate)", "0Qo0111100000abcmmmm01defghddddd") +INST(FMOV_2, "FMOV (vector, immediate)", "0Qo0111100000abc111101defghddddd") +INST(FMOV_3, "FMOV (vector, immediate)", "0Q00111100000abc111111defghddddd") +INST(UnallocatedEncoding, "Unallocated SIMD modified immediate", "0--0111100000-------11----------") + +// Data Processing - FP and SIMD - SIMD Shift by immediate +INST(SSHR_2, "SSHR", "0Q0011110IIIIiii000001nnnnnddddd") +INST(SSRA_2, "SSRA", "0Q0011110IIIIiii000101nnnnnddddd") +INST(SRSHR_2, "SRSHR", "0Q0011110IIIIiii001001nnnnnddddd") +INST(SRSRA_2, "SRSRA", "0Q0011110IIIIiii001101nnnnnddddd") +INST(SHL_2, "SHL", "0Q0011110IIIIiii010101nnnnnddddd") +INST(SQSHL_imm_2, "SQSHL (immediate)", "0Q0011110IIIIiii011101nnnnnddddd") +INST(SHRN, "SHRN, SHRN2", "0Q0011110IIIIiii100001nnnnnddddd") +INST(RSHRN, "RSHRN, RSHRN2", "0Q0011110IIIIiii100011nnnnnddddd") +INST(SQSHRN_2, "SQSHRN, SQSHRN2", "0Q0011110IIIIiii100101nnnnnddddd") +INST(SQRSHRN_2, "SQRSHRN, SQRSHRN2", "0Q0011110IIIIiii100111nnnnnddddd") +INST(SSHLL, "SSHLL, SSHLL2", "0Q0011110IIIIiii101001nnnnnddddd") +INST(SCVTF_fix_2, "SCVTF (vector, fixed-point)", "0Q0011110IIIIiii111001nnnnnddddd") +INST(FCVTZS_fix_2, "FCVTZS (vector, fixed-point)", "0Q0011110IIIIiii111111nnnnnddddd") +INST(USHR_2, "USHR", "0Q1011110IIIIiii000001nnnnnddddd") +INST(USRA_2, "USRA", "0Q1011110IIIIiii000101nnnnnddddd") +INST(URSHR_2, "URSHR", "0Q1011110IIIIiii001001nnnnnddddd") +INST(URSRA_2, "URSRA", "0Q1011110IIIIiii001101nnnnnddddd") +INST(SRI_2, "SRI", "0Q1011110IIIIiii010001nnnnnddddd") +INST(SLI_2, "SLI", "0Q1011110IIIIiii010101nnnnnddddd") +INST(SQSHLU_2, "SQSHLU", "0Q1011110IIIIiii011001nnnnnddddd") +INST(UQSHL_imm_2, "UQSHL (immediate)", "0Q1011110IIIIiii011101nnnnnddddd") +INST(SQSHRUN_2, "SQSHRUN, SQSHRUN2", "0Q1011110IIIIiii100001nnnnnddddd") +INST(SQRSHRUN_2, "SQRSHRUN, SQRSHRUN2", "0Q1011110IIIIiii100011nnnnnddddd") +INST(UQSHRN_2, "UQSHRN, UQSHRN2", "0Q1011110IIIIiii100101nnnnnddddd") +INST(UQRSHRN_2, "UQRSHRN, UQRSHRN2", "0Q1011110IIIIiii100111nnnnnddddd") +INST(USHLL, "USHLL, USHLL2", "0Q1011110IIIIiii101001nnnnnddddd") +INST(UCVTF_fix_2, "UCVTF (vector, fixed-point)", "0Q1011110IIIIiii111001nnnnnddddd") +INST(FCVTZU_fix_2, "FCVTZU (vector, fixed-point)", "0Q1011110IIIIiii111111nnnnnddddd") + +// Data Processing - FP and SIMD - SIMD vector x indexed element +INST(SMLAL_elt, "SMLAL, SMLAL2 (by element)", "0Q001111zzLMmmmm0010H0nnnnnddddd") +//INST(SQDMLAL_elt_2, "SQDMLAL, SQDMLAL2 (by element)", "0Q001111zzLMmmmm0011H0nnnnnddddd") +INST(SMLSL_elt, "SMLSL, SMLSL2 (by element)", "0Q001111zzLMmmmm0110H0nnnnnddddd") +//INST(SQDMLSL_elt_2, "SQDMLSL, SQDMLSL2 (by element)", "0Q001111zzLMmmmm0111H0nnnnnddddd") +INST(MUL_elt, "MUL (by element)", "0Q001111zzLMmmmm1000H0nnnnnddddd") +INST(SMULL_elt, "SMULL, SMULL2 (by element)", "0Q001111zzLMmmmm1010H0nnnnnddddd") +INST(SQDMULL_elt_2, "SQDMULL, SQDMULL2 (by element)", "0Q001111zzLMmmmm1011H0nnnnnddddd") +INST(SQDMULH_elt_2, "SQDMULH (by element)", "0Q001111zzLMmmmm1100H0nnnnnddddd") +INST(SQRDMULH_elt_2, "SQRDMULH (by element)", "0Q001111zzLMmmmm1101H0nnnnnddddd") +INST(SDOT_elt, "SDOT (by element)", "0Q001111zzLMmmmm1110H0nnnnnddddd") +INST(FMLA_elt_3, "FMLA (by element)", "0Q00111100LMmmmm0001H0nnnnnddddd") +INST(FMLA_elt_4, "FMLA (by element)", "0Q0011111zLMmmmm0001H0nnnnnddddd") +INST(FMLS_elt_3, "FMLS (by element)", "0Q00111100LMmmmm0101H0nnnnnddddd") +INST(FMLS_elt_4, "FMLS (by element)", "0Q0011111zLMmmmm0101H0nnnnnddddd") +//INST(FMUL_elt_3, "FMUL (by element)", "0Q00111100LMmmmm1001H0nnnnnddddd") +INST(FMUL_elt_4, "FMUL (by element)", "0Q0011111zLMmmmm1001H0nnnnnddddd") +//INST(FMLAL_elt_1, "FMLAL, FMLAL2 (by element)", "0Q0011111zLMmmmm0000H0nnnnnddddd") +//INST(FMLAL_elt_2, "FMLAL, FMLAL2 (by element)", "0Q1011111zLMmmmm1000H0nnnnnddddd") +//INST(FMLSL_elt_1, "FMLSL, FMLSL2 (by element)", "0Q0011111zLMmmmm0100H0nnnnnddddd") +//INST(FMLSL_elt_2, "FMLSL, FMLSL2 (by element)", "0Q1011111zLMmmmm1100H0nnnnnddddd") +INST(MLA_elt, "MLA (by element)", "0Q101111zzLMmmmm0000H0nnnnnddddd") +INST(UMLAL_elt, "UMLAL, UMLAL2 (by element)", "0Q101111zzLMmmmm0010H0nnnnnddddd") +INST(MLS_elt, "MLS (by element)", "0Q101111zzLMmmmm0100H0nnnnnddddd") +INST(UMLSL_elt, "UMLSL, UMLSL2 (by element)", "0Q101111zzLMmmmm0110H0nnnnnddddd") +INST(UMULL_elt, "UMULL, UMULL2 (by element)", "0Q101111zzLMmmmm1010H0nnnnnddddd") +//INST(SQRDMLAH_elt_2, "SQRDMLAH (by element)", "0Q101111zzLMmmmm1101H0nnnnnddddd") +INST(UDOT_elt, "UDOT (by element)", "0Q101111zzLMmmmm1110H0nnnnnddddd") +//INST(SQRDMLSH_elt_2, "SQRDMLSH (by element)", "0Q101111zzLMmmmm1111H0nnnnnddddd") +//INST(FMULX_elt_3, "FMULX (by element)", "0Q10111100LMmmmm1001H0nnnnnddddd") +INST(FMULX_elt_4, "FMULX (by element)", "0Q1011111zLMmmmm1001H0nnnnnddddd") +INST(FCMLA_elt, "FCMLA (by element)", "0Q101111zzLMmmmm0rr1H0nnnnnddddd") + +// Data Processing - FP and SIMD - Cryptographic three register +INST(SM3TT1A, "SM3TT1A", "11001110010mmmmm10ii00nnnnnddddd") +INST(SM3TT1B, "SM3TT1B", "11001110010mmmmm10ii01nnnnnddddd") +INST(SM3TT2A, "SM3TT2A", "11001110010mmmmm10ii10nnnnnddddd") +INST(SM3TT2B, "SM3TT2B", "11001110010mmmmm10ii11nnnnnddddd") + +// Data Processing - FP and SIMD - SHA512 three register +INST(SHA512H, "SHA512H", "11001110011mmmmm100000nnnnnddddd") +INST(SHA512H2, "SHA512H2", "11001110011mmmmm100001nnnnnddddd") +INST(SHA512SU1, "SHA512SU1", "11001110011mmmmm100010nnnnnddddd") +INST(RAX1, "RAX1", "11001110011mmmmm100011nnnnnddddd") +INST(SM3PARTW1, "SM3PARTW1", "11001110011mmmmm110000nnnnnddddd") +INST(SM3PARTW2, "SM3PARTW2", "11001110011mmmmm110001nnnnnddddd") +INST(SM4EKEY, "SM4EKEY", "11001110011mmmmm110010nnnnnddddd") +INST(XAR, "XAR", "11001110100mmmmmiiiiiinnnnnddddd") + +// Data Processing - FP and SIMD - Cryptographic four register +INST(EOR3, "EOR3", "11001110000mmmmm0aaaaannnnnddddd") +INST(BCAX, "BCAX", "11001110001mmmmm0aaaaannnnnddddd") +INST(SM3SS1, "SM3SS1", "11001110010mmmmm0aaaaannnnnddddd") + +// Data Processing - FP and SIMD - SHA512 two register +INST(SHA512SU0, "SHA512SU0", "1100111011000000100000nnnnnddddd") +INST(SM4E, "SM4E", "1100111011000000100001nnnnnddddd") + +// Data Processing - FP and SIMD - Conversion between floating point and fixed point +INST(SCVTF_float_fix, "SCVTF (scalar, fixed-point)", "z0011110yy000010ppppppnnnnnddddd") +INST(UCVTF_float_fix, "UCVTF (scalar, fixed-point)", "z0011110yy000011ppppppnnnnnddddd") +INST(FCVTZS_float_fix, "FCVTZS (scalar, fixed-point)", "z0011110yy011000ppppppnnnnnddddd") +INST(FCVTZU_float_fix, "FCVTZU (scalar, fixed-point)", "z0011110yy011001ppppppnnnnnddddd") + +// Data Processing - FP and SIMD - Conversion between floating point and integer +INST(FCVTNS_float, "FCVTNS (scalar)", "z0011110yy100000000000nnnnnddddd") +INST(FCVTNU_float, "FCVTNU (scalar)", "z0011110yy100001000000nnnnnddddd") +INST(SCVTF_float_int, "SCVTF (scalar, integer)", "z0011110yy100010000000nnnnnddddd") +INST(UCVTF_float_int, "UCVTF (scalar, integer)", "z0011110yy100011000000nnnnnddddd") +INST(FCVTAS_float, "FCVTAS (scalar)", "z0011110yy100100000000nnnnnddddd") +INST(FCVTAU_float, "FCVTAU (scalar)", "z0011110yy100101000000nnnnnddddd") +INST(FMOV_float_gen, "FMOV (general)", "z0011110yy10r11o000000nnnnnddddd") +INST(FCVTPS_float, "FCVTPS (scalar)", "z0011110yy101000000000nnnnnddddd") +INST(FCVTPU_float, "FCVTPU (scalar)", "z0011110yy101001000000nnnnnddddd") +INST(FCVTMS_float, "FCVTMS (scalar)", "z0011110yy110000000000nnnnnddddd") +INST(FCVTMU_float, "FCVTMU (scalar)", "z0011110yy110001000000nnnnnddddd") +INST(FCVTZS_float_int, "FCVTZS (scalar, integer)", "z0011110yy111000000000nnnnnddddd") +INST(FCVTZU_float_int, "FCVTZU (scalar, integer)", "z0011110yy111001000000nnnnnddddd") +//INST(FJCVTZS, "FJCVTZS", "0001111001111110000000nnnnnddddd") + +// Data Processing - FP and SIMD - Floating point data processing +INST(FMOV_float, "FMOV (register)", "00011110yy100000010000nnnnnddddd") +INST(FABS_float, "FABS (scalar)", "00011110yy100000110000nnnnnddddd") +INST(FNEG_float, "FNEG (scalar)", "00011110yy100001010000nnnnnddddd") +INST(FSQRT_float, "FSQRT (scalar)", "00011110yy100001110000nnnnnddddd") +INST(FCVT_float, "FCVT", "00011110yy10001oo10000nnnnnddddd") +INST(FRINTN_float, "FRINTN (scalar)", "00011110yy100100010000nnnnnddddd") +INST(FRINTP_float, "FRINTP (scalar)", "00011110yy100100110000nnnnnddddd") +INST(FRINTM_float, "FRINTM (scalar)", "00011110yy100101010000nnnnnddddd") +INST(FRINTZ_float, "FRINTZ (scalar)", "00011110yy100101110000nnnnnddddd") +INST(FRINTA_float, "FRINTA (scalar)", "00011110yy100110010000nnnnnddddd") +INST(FRINTX_float, "FRINTX (scalar)", "00011110yy100111010000nnnnnddddd") +INST(FRINTI_float, "FRINTI (scalar)", "00011110yy100111110000nnnnnddddd") +//INST(FRINT32X_float, "FRINT32X (scalar)", "00011110yy101000110000nnnnnddddd") // ARMv8.5 +//INST(FRINT64X_float, "FRINT64X (scalar)", "00011110yy101001110000nnnnnddddd") // ARMv8.5 +//INST(FRINT32Z_float, "FRINT32Z (scalar)", "00011110yy101000010000nnnnnddddd") // ARMv8.5 +//INST(FRINT64Z_float, "FRINT64Z (scalar)", "00011110yy101001010000nnnnnddddd") // ARMv8.5 + +// Data Processing - FP and SIMD - Floating point compare +INST(FCMP_float, "FCMP", "00011110yy1mmmmm001000nnnnn0o000") +INST(FCMPE_float, "FCMPE", "00011110yy1mmmmm001000nnnnn1o000") + +// Data Processing - FP and SIMD - Floating point immediate +INST(FMOV_float_imm, "FMOV (scalar, immediate)", "00011110yy1iiiiiiii10000000ddddd") + +// Data Processing - FP and SIMD - Floating point conditional compare +INST(FCCMP_float, "FCCMP", "00011110yy1mmmmmcccc01nnnnn0ffff") +INST(FCCMPE_float, "FCCMPE", "00011110yy1mmmmmcccc01nnnnn1ffff") + +// Data Processing - FP and SIMD - Floating point data processing two register +INST(FMUL_float, "FMUL (scalar)", "00011110yy1mmmmm000010nnnnnddddd") +INST(FDIV_float, "FDIV (scalar)", "00011110yy1mmmmm000110nnnnnddddd") +INST(FADD_float, "FADD (scalar)", "00011110yy1mmmmm001010nnnnnddddd") +INST(FSUB_float, "FSUB (scalar)", "00011110yy1mmmmm001110nnnnnddddd") +INST(FMAX_float, "FMAX (scalar)", "00011110yy1mmmmm010010nnnnnddddd") +INST(FMIN_float, "FMIN (scalar)", "00011110yy1mmmmm010110nnnnnddddd") +INST(FMAXNM_float, "FMAXNM (scalar)", "00011110yy1mmmmm011010nnnnnddddd") +INST(FMINNM_float, "FMINNM (scalar)", "00011110yy1mmmmm011110nnnnnddddd") +INST(FNMUL_float, "FNMUL (scalar)", "00011110yy1mmmmm100010nnnnnddddd") + +// Data Processing - FP and SIMD - Floating point conditional select +INST(FCSEL_float, "FCSEL", "00011110yy1mmmmmcccc11nnnnnddddd") + +// Data Processing - FP and SIMD - Floating point data processing three register +INST(FMADD_float, "FMADD", "00011111yy0mmmmm0aaaaannnnnddddd") +INST(FMSUB_float, "FMSUB", "00011111yy0mmmmm1aaaaannnnnddddd") +INST(FNMADD_float, "FNMADD", "00011111yy1mmmmm0aaaaannnnnddddd") +INST(FNMSUB_float, "FNMSUB", "00011111yy1mmmmm1aaaaannnnnddddd") + +// BFloat16 +//INST(BFCVT, "BFCVT", "0001111001100011010000nnnnnddddd") // v8.6 +//INST(BFCVTN, "BFCVTN{2}", "0Q00111010100001011010nnnnnddddd") // v8.6 +//INST(BFDOT_element, "BFDOT (by element)", "0Q00111101LMmmmm1111H0nnnnnddddd") // v8.6 +//INST(BFDOT_vec, "BFDOT (vector)", "0Q101110010mmmmm111111nnnnnddddd") // v8.6 +//INST(BFMLALX_element, "BFMLALX (by element)", "0Q00111111LMmmmm1111H0nnnnnddddd") // v8.6 +//INST(BFMLALX_vector, "BFMLALX (vector)", "0Q101110110mmmmm111111nnnnnddddd") // v8.6 +//INST(BFMMLA, "BFMMLA", "01101110010mmmmm111011nnnnnddddd") // v8.6 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/ir_emitter.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/ir_emitter.cpp new file mode 100755 index 000000000..7975b2a82 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/ir_emitter.cpp @@ -0,0 +1,264 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/ir_emitter.h" + +#include "dynarmic/common/assert.h" +#include "dynarmic/ir/opcodes.h" + +namespace Dynarmic::A64 { + +using Opcode = IR::Opcode; + +u64 IREmitter::PC() const { + return current_location->PC(); +} + +u64 IREmitter::AlignPC(size_t alignment) const { + const u64 pc = PC(); + return static_cast(pc - pc % alignment); +} + +void IREmitter::SetCheckBit(const IR::U1& value) { + Inst(Opcode::A64SetCheckBit, value); +} + +IR::U1 IREmitter::GetCFlag() { + return Inst(Opcode::A64GetCFlag); +} + +IR::U32 IREmitter::GetNZCVRaw() { + return Inst(Opcode::A64GetNZCVRaw); +} + +void IREmitter::SetNZCVRaw(IR::U32 value) { + Inst(Opcode::A64SetNZCVRaw, value); +} + +void IREmitter::SetNZCV(const IR::NZCV& nzcv) { + Inst(Opcode::A64SetNZCV, nzcv); +} + +void IREmitter::OrQC(const IR::U1& value) { + Inst(Opcode::A64OrQC, value); +} + +void IREmitter::CallSupervisor(u32 imm) { + Inst(Opcode::A64CallSupervisor, Imm32(imm)); +} + +void IREmitter::ExceptionRaised(Exception exception) { + Inst(Opcode::A64ExceptionRaised, Imm64(PC()), Imm64(static_cast(exception))); +} + +void IREmitter::DataCacheOperationRaised(DataCacheOperation op, const IR::U64& value) { + Inst(Opcode::A64DataCacheOperationRaised, Imm64(static_cast(op)), value); +} + +void IREmitter::InstructionCacheOperationRaised(InstructionCacheOperation op, const IR::U64& value) { + Inst(Opcode::A64InstructionCacheOperationRaised, Imm64(static_cast(op)), value); +} + +void IREmitter::DataSynchronizationBarrier() { + Inst(Opcode::A64DataSynchronizationBarrier); +} + +void IREmitter::DataMemoryBarrier() { + Inst(Opcode::A64DataMemoryBarrier); +} + +void IREmitter::InstructionSynchronizationBarrier() { + Inst(Opcode::A64InstructionSynchronizationBarrier); +} + +IR::U32 IREmitter::GetCNTFRQ() { + return Inst(Opcode::A64GetCNTFRQ); +} + +IR::U64 IREmitter::GetCNTPCT() { + return Inst(Opcode::A64GetCNTPCT); +} + +IR::U32 IREmitter::GetCTR() { + return Inst(Opcode::A64GetCTR); +} + +IR::U32 IREmitter::GetDCZID() { + return Inst(Opcode::A64GetDCZID); +} + +IR::U64 IREmitter::GetTPIDR() { + return Inst(Opcode::A64GetTPIDR); +} + +void IREmitter::SetTPIDR(const IR::U64& value) { + Inst(Opcode::A64SetTPIDR, value); +} + +IR::U64 IREmitter::GetTPIDRRO() { + return Inst(Opcode::A64GetTPIDRRO); +} + +void IREmitter::ClearExclusive() { + Inst(Opcode::A64ClearExclusive); +} + +IR::U8 IREmitter::ReadMemory8(const IR::U64& vaddr) { + return Inst(Opcode::A64ReadMemory8, vaddr); +} + +IR::U16 IREmitter::ReadMemory16(const IR::U64& vaddr) { + return Inst(Opcode::A64ReadMemory16, vaddr); +} + +IR::U32 IREmitter::ReadMemory32(const IR::U64& vaddr) { + return Inst(Opcode::A64ReadMemory32, vaddr); +} + +IR::U64 IREmitter::ReadMemory64(const IR::U64& vaddr) { + return Inst(Opcode::A64ReadMemory64, vaddr); +} + +IR::U128 IREmitter::ReadMemory128(const IR::U64& vaddr) { + return Inst(Opcode::A64ReadMemory128, vaddr); +} + +IR::U8 IREmitter::ExclusiveReadMemory8(const IR::U64& vaddr) { + return Inst(Opcode::A64ExclusiveReadMemory8, vaddr); +} + +IR::U16 IREmitter::ExclusiveReadMemory16(const IR::U64& vaddr) { + return Inst(Opcode::A64ExclusiveReadMemory16, vaddr); +} + +IR::U32 IREmitter::ExclusiveReadMemory32(const IR::U64& vaddr) { + return Inst(Opcode::A64ExclusiveReadMemory32, vaddr); +} + +IR::U64 IREmitter::ExclusiveReadMemory64(const IR::U64& vaddr) { + return Inst(Opcode::A64ExclusiveReadMemory64, vaddr); +} + +IR::U128 IREmitter::ExclusiveReadMemory128(const IR::U64& vaddr) { + return Inst(Opcode::A64ExclusiveReadMemory128, vaddr); +} + +void IREmitter::WriteMemory8(const IR::U64& vaddr, const IR::U8& value) { + Inst(Opcode::A64WriteMemory8, vaddr, value); +} + +void IREmitter::WriteMemory16(const IR::U64& vaddr, const IR::U16& value) { + Inst(Opcode::A64WriteMemory16, vaddr, value); +} + +void IREmitter::WriteMemory32(const IR::U64& vaddr, const IR::U32& value) { + Inst(Opcode::A64WriteMemory32, vaddr, value); +} + +void IREmitter::WriteMemory64(const IR::U64& vaddr, const IR::U64& value) { + Inst(Opcode::A64WriteMemory64, vaddr, value); +} + +void IREmitter::WriteMemory128(const IR::U64& vaddr, const IR::U128& value) { + Inst(Opcode::A64WriteMemory128, vaddr, value); +} + +IR::U32 IREmitter::ExclusiveWriteMemory8(const IR::U64& vaddr, const IR::U8& value) { + return Inst(Opcode::A64ExclusiveWriteMemory8, vaddr, value); +} + +IR::U32 IREmitter::ExclusiveWriteMemory16(const IR::U64& vaddr, const IR::U16& value) { + return Inst(Opcode::A64ExclusiveWriteMemory16, vaddr, value); +} + +IR::U32 IREmitter::ExclusiveWriteMemory32(const IR::U64& vaddr, const IR::U32& value) { + return Inst(Opcode::A64ExclusiveWriteMemory32, vaddr, value); +} + +IR::U32 IREmitter::ExclusiveWriteMemory64(const IR::U64& vaddr, const IR::U64& value) { + return Inst(Opcode::A64ExclusiveWriteMemory64, vaddr, value); +} + +IR::U32 IREmitter::ExclusiveWriteMemory128(const IR::U64& vaddr, const IR::U128& value) { + return Inst(Opcode::A64ExclusiveWriteMemory128, vaddr, value); +} + +IR::U32 IREmitter::GetW(Reg reg) { + if (reg == Reg::ZR) + return Imm32(0); + return Inst(Opcode::A64GetW, IR::Value(reg)); +} + +IR::U64 IREmitter::GetX(Reg reg) { + if (reg == Reg::ZR) + return Imm64(0); + return Inst(Opcode::A64GetX, IR::Value(reg)); +} + +IR::U128 IREmitter::GetS(Vec vec) { + return Inst(Opcode::A64GetS, IR::Value(vec)); +} + +IR::U128 IREmitter::GetD(Vec vec) { + return Inst(Opcode::A64GetD, IR::Value(vec)); +} + +IR::U128 IREmitter::GetQ(Vec vec) { + return Inst(Opcode::A64GetQ, IR::Value(vec)); +} + +IR::U64 IREmitter::GetSP() { + return Inst(Opcode::A64GetSP); +} + +IR::U32 IREmitter::GetFPCR() { + return Inst(Opcode::A64GetFPCR); +} + +IR::U32 IREmitter::GetFPSR() { + return Inst(Opcode::A64GetFPSR); +} + +void IREmitter::SetW(const Reg reg, const IR::U32& value) { + if (reg == Reg::ZR) + return; + Inst(Opcode::A64SetW, IR::Value(reg), value); +} + +void IREmitter::SetX(const Reg reg, const IR::U64& value) { + if (reg == Reg::ZR) + return; + Inst(Opcode::A64SetX, IR::Value(reg), value); +} + +void IREmitter::SetS(const Vec vec, const IR::U128& value) { + Inst(Opcode::A64SetS, IR::Value(vec), value); +} + +void IREmitter::SetD(const Vec vec, const IR::U128& value) { + Inst(Opcode::A64SetD, IR::Value(vec), value); +} + +void IREmitter::SetQ(const Vec vec, const IR::U128& value) { + Inst(Opcode::A64SetQ, IR::Value(vec), value); +} + +void IREmitter::SetSP(const IR::U64& value) { + Inst(Opcode::A64SetSP, value); +} + +void IREmitter::SetFPCR(const IR::U32& value) { + Inst(Opcode::A64SetFPCR, value); +} + +void IREmitter::SetFPSR(const IR::U32& value) { + Inst(Opcode::A64SetFPSR, value); +} + +void IREmitter::SetPC(const IR::U64& value) { + Inst(Opcode::A64SetPC, value); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/ir_emitter.h b/externals/dynarmic/src/dynarmic/frontend/A64/ir_emitter.h new file mode 100755 index 000000000..deca27d58 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/ir_emitter.h @@ -0,0 +1,99 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A64/location_descriptor.h" +#include "dynarmic/frontend/A64/types.h" +#include "dynarmic/interface/A64/config.h" +#include "dynarmic/ir/ir_emitter.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::A64 { + +/** + * Convenience class to construct a basic block of the intermediate representation. + * `block` is the resulting block. + * The user of this class updates `current_location` as appropriate. + */ +class IREmitter : public IR::IREmitter { +public: + explicit IREmitter(IR::Block& block) + : IR::IREmitter(block) {} + explicit IREmitter(IR::Block& block, LocationDescriptor descriptor) + : IR::IREmitter(block), current_location(descriptor) {} + + std::optional current_location; + + u64 PC() const; + u64 AlignPC(size_t alignment) const; + + void SetCheckBit(const IR::U1& value); + IR::U1 GetCFlag(); + IR::U32 GetNZCVRaw(); + void SetNZCVRaw(IR::U32 value); + void SetNZCV(const IR::NZCV& nzcv); + void OrQC(const IR::U1& value); + + void CallSupervisor(u32 imm); + void ExceptionRaised(Exception exception); + void DataCacheOperationRaised(DataCacheOperation op, const IR::U64& value); + void InstructionCacheOperationRaised(InstructionCacheOperation op, const IR::U64& value); + void DataSynchronizationBarrier(); + void DataMemoryBarrier(); + void InstructionSynchronizationBarrier(); + IR::U32 GetCNTFRQ(); + IR::U64 GetCNTPCT(); // TODO: Ensure sub-basic-block cycle counts are updated before this. + IR::U32 GetCTR(); + IR::U32 GetDCZID(); + IR::U64 GetTPIDR(); + IR::U64 GetTPIDRRO(); + void SetTPIDR(const IR::U64& value); + + void ClearExclusive(); + IR::U8 ReadMemory8(const IR::U64& vaddr); + IR::U16 ReadMemory16(const IR::U64& vaddr); + IR::U32 ReadMemory32(const IR::U64& vaddr); + IR::U64 ReadMemory64(const IR::U64& vaddr); + IR::U128 ReadMemory128(const IR::U64& vaddr); + IR::U8 ExclusiveReadMemory8(const IR::U64& vaddr); + IR::U16 ExclusiveReadMemory16(const IR::U64& vaddr); + IR::U32 ExclusiveReadMemory32(const IR::U64& vaddr); + IR::U64 ExclusiveReadMemory64(const IR::U64& vaddr); + IR::U128 ExclusiveReadMemory128(const IR::U64& vaddr); + void WriteMemory8(const IR::U64& vaddr, const IR::U8& value); + void WriteMemory16(const IR::U64& vaddr, const IR::U16& value); + void WriteMemory32(const IR::U64& vaddr, const IR::U32& value); + void WriteMemory64(const IR::U64& vaddr, const IR::U64& value); + void WriteMemory128(const IR::U64& vaddr, const IR::U128& value); + IR::U32 ExclusiveWriteMemory8(const IR::U64& vaddr, const IR::U8& value); + IR::U32 ExclusiveWriteMemory16(const IR::U64& vaddr, const IR::U16& value); + IR::U32 ExclusiveWriteMemory32(const IR::U64& vaddr, const IR::U32& value); + IR::U32 ExclusiveWriteMemory64(const IR::U64& vaddr, const IR::U64& value); + IR::U32 ExclusiveWriteMemory128(const IR::U64& vaddr, const IR::U128& value); + + IR::U32 GetW(Reg source_reg); + IR::U64 GetX(Reg source_reg); + IR::U128 GetS(Vec source_vec); + IR::U128 GetD(Vec source_vec); + IR::U128 GetQ(Vec source_vec); + IR::U64 GetSP(); + IR::U32 GetFPCR(); + IR::U32 GetFPSR(); + void SetW(Reg dest_reg, const IR::U32& value); + void SetX(Reg dest_reg, const IR::U64& value); + void SetS(Vec dest_vec, const IR::U128& value); + void SetD(Vec dest_vec, const IR::U128& value); + void SetQ(Vec dest_vec, const IR::U128& value); + void SetSP(const IR::U64& value); + void SetFPCR(const IR::U32& value); + void SetFPSR(const IR::U32& value); + void SetPC(const IR::U64& value); +}; + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/location_descriptor.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/location_descriptor.cpp new file mode 100755 index 000000000..53c8d35b0 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/location_descriptor.cpp @@ -0,0 +1,19 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/location_descriptor.h" + +#include + +#include + +namespace Dynarmic::A64 { + +std::ostream& operator<<(std::ostream& o, const LocationDescriptor& descriptor) { + o << fmt::format("{{{}, {}{}}}", descriptor.PC(), descriptor.FPCR().Value(), descriptor.SingleStepping() ? ", step" : ""); + return o; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/location_descriptor.h b/externals/dynarmic/src/dynarmic/frontend/A64/location_descriptor.h new file mode 100755 index 000000000..322cea3ba --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/location_descriptor.h @@ -0,0 +1,106 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/ir/location_descriptor.h" + +namespace Dynarmic::A64 { + +/** + * LocationDescriptor describes the location of a basic block. + * The location is not solely based on the PC because other flags influence the way + * instructions should be translated. + */ +class LocationDescriptor { +public: + static constexpr size_t pc_bit_count = 56; + static constexpr u64 pc_mask = Common::Ones(pc_bit_count); + static constexpr u32 fpcr_mask = 0x07C8'0000; + static constexpr size_t fpcr_shift = 37; + static constexpr size_t single_stepping_bit = 57; + static_assert((pc_mask & (u64(fpcr_mask) << fpcr_shift) & (u64(1) << single_stepping_bit)) == 0); + + LocationDescriptor(u64 pc, FP::FPCR fpcr, bool single_stepping = false) + : pc(pc & pc_mask), fpcr(fpcr.Value() & fpcr_mask), single_stepping(single_stepping) {} + + explicit LocationDescriptor(const IR::LocationDescriptor& o) + : pc(o.Value() & pc_mask) + , fpcr((o.Value() >> fpcr_shift) & fpcr_mask) + , single_stepping(Common::Bit(o.Value())) {} + + u64 PC() const { return Common::SignExtend(pc); } + FP::FPCR FPCR() const { return fpcr; } + bool SingleStepping() const { return single_stepping; } + + bool operator==(const LocationDescriptor& o) const { + return std::tie(pc, fpcr, single_stepping) == std::tie(o.pc, o.fpcr, o.single_stepping); + } + + bool operator!=(const LocationDescriptor& o) const { + return !operator==(o); + } + + LocationDescriptor SetPC(u64 new_pc) const { + return LocationDescriptor(new_pc, fpcr, single_stepping); + } + + LocationDescriptor AdvancePC(int amount) const { + return LocationDescriptor(static_cast(pc + amount), fpcr, single_stepping); + } + + LocationDescriptor SetSingleStepping(bool new_single_stepping) const { + return LocationDescriptor(pc, fpcr, new_single_stepping); + } + + u64 UniqueHash() const noexcept { + // This value MUST BE UNIQUE. + // This calculation has to match up with EmitTerminalPopRSBHint + const u64 fpcr_u64 = static_cast(fpcr.Value()) << fpcr_shift; + const u64 single_stepping_u64 = static_cast(single_stepping) << single_stepping_bit; + return pc | fpcr_u64 | single_stepping_u64; + } + + operator IR::LocationDescriptor() const { + return IR::LocationDescriptor{UniqueHash()}; + } + +private: + u64 pc; ///< Current program counter value. + FP::FPCR fpcr; ///< Floating point control register. + bool single_stepping; +}; + +/** + * Provides a string representation of a LocationDescriptor. + * + * @param o Output stream + * @param descriptor The descriptor to get a string representation of + */ +std::ostream& operator<<(std::ostream& o, const LocationDescriptor& descriptor); + +} // namespace Dynarmic::A64 + +namespace std { +template<> +struct less { + bool operator()(const Dynarmic::A64::LocationDescriptor& x, const Dynarmic::A64::LocationDescriptor& y) const noexcept { + return x.UniqueHash() < y.UniqueHash(); + } +}; +template<> +struct hash { + size_t operator()(const Dynarmic::A64::LocationDescriptor& x) const noexcept { + return std::hash()(x.UniqueHash()); + } +}; +} // namespace std diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/branch.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/branch.cpp new file mode 100755 index 000000000..01cc1390c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/branch.cpp @@ -0,0 +1,128 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::B_cond(Imm<19> imm19, Cond cond) { + const s64 offset = concatenate(imm19, Imm<2>{0}).SignExtend(); + const u64 target = ir.PC() + offset; + + const auto cond_pass = IR::Term::LinkBlock{ir.current_location->SetPC(target)}; + const auto cond_fail = IR::Term::LinkBlock{ir.current_location->AdvancePC(4)}; + ir.SetTerm(IR::Term::If{cond, cond_pass, cond_fail}); + return false; +} + +bool TranslatorVisitor::B_uncond(Imm<26> imm26) { + const s64 offset = concatenate(imm26, Imm<2>{0}).SignExtend(); + const u64 target = ir.PC() + offset; + + ir.SetTerm(IR::Term::LinkBlock{ir.current_location->SetPC(target)}); + return false; +} + +bool TranslatorVisitor::BL(Imm<26> imm26) { + const s64 offset = concatenate(imm26, Imm<2>{0}).SignExtend(); + + X(64, Reg::R30, ir.Imm64(ir.PC() + 4)); + ir.PushRSB(ir.current_location->AdvancePC(4)); + + const u64 target = ir.PC() + offset; + ir.SetTerm(IR::Term::LinkBlock{ir.current_location->SetPC(target)}); + return false; +} + +bool TranslatorVisitor::BLR(Reg Rn) { + const auto target = X(64, Rn); + + X(64, Reg::R30, ir.Imm64(ir.PC() + 4)); + ir.PushRSB(ir.current_location->AdvancePC(4)); + + ir.SetPC(target); + ir.SetTerm(IR::Term::FastDispatchHint{}); + return false; +} + +bool TranslatorVisitor::BR(Reg Rn) { + const auto target = X(64, Rn); + + ir.SetPC(target); + ir.SetTerm(IR::Term::FastDispatchHint{}); + return false; +} + +bool TranslatorVisitor::RET(Reg Rn) { + const auto target = X(64, Rn); + + ir.SetPC(target); + ir.SetTerm(IR::Term::PopRSBHint{}); + return false; +} + +bool TranslatorVisitor::CBZ(bool sf, Imm<19> imm19, Reg Rt) { + const size_t datasize = sf ? 64 : 32; + const s64 offset = concatenate(imm19, Imm<2>{0}).SignExtend(); + + const IR::U32U64 operand1 = X(datasize, Rt); + + ir.SetCheckBit(ir.IsZero(operand1)); + + const u64 target = ir.PC() + offset; + const auto cond_pass = IR::Term::LinkBlock{ir.current_location->SetPC(target)}; + const auto cond_fail = IR::Term::LinkBlock{ir.current_location->AdvancePC(4)}; + ir.SetTerm(IR::Term::CheckBit{cond_pass, cond_fail}); + return false; +} + +bool TranslatorVisitor::CBNZ(bool sf, Imm<19> imm19, Reg Rt) { + const size_t datasize = sf ? 64 : 32; + const s64 offset = concatenate(imm19, Imm<2>{0}).SignExtend(); + + const IR::U32U64 operand1 = X(datasize, Rt); + + ir.SetCheckBit(ir.IsZero(operand1)); + + const u64 target = ir.PC() + offset; + const auto cond_pass = IR::Term::LinkBlock{ir.current_location->AdvancePC(4)}; + const auto cond_fail = IR::Term::LinkBlock{ir.current_location->SetPC(target)}; + ir.SetTerm(IR::Term::CheckBit{cond_pass, cond_fail}); + return false; +} + +bool TranslatorVisitor::TBZ(Imm<1> b5, Imm<5> b40, Imm<14> imm14, Reg Rt) { + const size_t datasize = b5 == 1 ? 64 : 32; + const u8 bit_pos = concatenate(b5, b40).ZeroExtend(); + const s64 offset = concatenate(imm14, Imm<2>{0}).SignExtend(); + + const auto operand = X(datasize, Rt); + + ir.SetCheckBit(ir.TestBit(operand, ir.Imm8(bit_pos))); + + const u64 target = ir.PC() + offset; + const auto cond_1 = IR::Term::LinkBlock{ir.current_location->AdvancePC(4)}; + const auto cond_0 = IR::Term::LinkBlock{ir.current_location->SetPC(target)}; + ir.SetTerm(IR::Term::CheckBit{cond_1, cond_0}); + return false; +} + +bool TranslatorVisitor::TBNZ(Imm<1> b5, Imm<5> b40, Imm<14> imm14, Reg Rt) { + const size_t datasize = b5 == 1 ? 64 : 32; + const u8 bit_pos = concatenate(b5, b40).ZeroExtend(); + const s64 offset = concatenate(imm14, Imm<2>{0}).SignExtend(); + + const auto operand = X(datasize, Rt); + + ir.SetCheckBit(ir.TestBit(operand, ir.Imm8(bit_pos))); + + const u64 target = ir.PC() + offset; + const auto cond_1 = IR::Term::LinkBlock{ir.current_location->SetPC(target)}; + const auto cond_0 = IR::Term::LinkBlock{ir.current_location->AdvancePC(4)}; + ir.SetTerm(IR::Term::CheckBit{cond_1, cond_0}); + return false; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_addsub.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_addsub.cpp new file mode 100755 index 000000000..5df4fe1ce --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_addsub.cpp @@ -0,0 +1,330 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::ADD_imm(bool sf, Imm<2> shift, Imm<12> imm12, Reg Rn, Reg Rd) { + u64 imm; + switch (shift.ZeroExtend()) { + case 0b00: + imm = imm12.ZeroExtend(); + break; + case 0b01: + imm = imm12.ZeroExtend() << 12; + break; + default: + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = Rn == Reg::SP ? SP(datasize) : IR::U32U64(X(datasize, Rn)); + + const auto result = ir.Add(operand1, I(datasize, imm)); + + if (Rd == Reg::SP) { + SP(datasize, result); + } else { + X(datasize, Rd, result); + } + + return true; +} + +bool TranslatorVisitor::ADDS_imm(bool sf, Imm<2> shift, Imm<12> imm12, Reg Rn, Reg Rd) { + u64 imm; + switch (shift.ZeroExtend()) { + case 0b00: + imm = imm12.ZeroExtend(); + break; + case 0b01: + imm = imm12.ZeroExtend() << 12; + break; + default: + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = Rn == Reg::SP ? SP(datasize) : IR::U32U64(X(datasize, Rn)); + + const auto result = ir.Add(operand1, I(datasize, imm)); + + ir.SetNZCV(ir.NZCVFrom(result)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::SUB_imm(bool sf, Imm<2> shift, Imm<12> imm12, Reg Rn, Reg Rd) { + u64 imm; + switch (shift.ZeroExtend()) { + case 0b00: + imm = imm12.ZeroExtend(); + break; + case 0b01: + imm = imm12.ZeroExtend() << 12; + break; + default: + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = Rn == Reg::SP ? SP(datasize) : IR::U32U64(X(datasize, Rn)); + + const auto result = ir.Sub(operand1, I(datasize, imm)); + + if (Rd == Reg::SP) { + SP(datasize, result); + } else { + X(datasize, Rd, result); + } + + return true; +} + +bool TranslatorVisitor::SUBS_imm(bool sf, Imm<2> shift, Imm<12> imm12, Reg Rn, Reg Rd) { + u64 imm; + switch (shift.ZeroExtend()) { + case 0b00: + imm = imm12.ZeroExtend(); + break; + case 0b01: + imm = imm12.ZeroExtend() << 12; + break; + default: + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = Rn == Reg::SP ? SP(datasize) : IR::U32U64(X(datasize, Rn)); + + const auto result = ir.Sub(operand1, I(datasize, imm)); + + ir.SetNZCV(ir.NZCVFrom(result)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ADD_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (shift == 0b11) { + return ReservedValue(); + } + + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount)); + + const auto result = ir.Add(operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ADDS_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (shift == 0b11) { + return ReservedValue(); + } + + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount)); + + const auto result = ir.Add(operand1, operand2); + + ir.SetNZCV(ir.NZCVFrom(result)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::SUB_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (shift == 0b11) { + return ReservedValue(); + } + + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount)); + + const auto result = ir.Sub(operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::SUBS_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (shift == 0b11) { + return ReservedValue(); + } + + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount)); + + const auto result = ir.Sub(operand1, operand2); + + ir.SetNZCV(ir.NZCVFrom(result)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ADD_ext(bool sf, Reg Rm, Imm<3> option, Imm<3> imm3, Reg Rn, Reg Rd) { + const u8 shift = imm3.ZeroExtend(); + if (shift > 4) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = Rn == Reg::SP ? SP(datasize) : IR::U32U64(X(datasize, Rn)); + const auto operand2 = ExtendReg(datasize, Rm, option, shift); + + const auto result = ir.Add(operand1, operand2); + + if (Rd == Reg::SP) { + SP(datasize, result); + } else { + X(datasize, Rd, result); + } + + return true; +} + +bool TranslatorVisitor::ADDS_ext(bool sf, Reg Rm, Imm<3> option, Imm<3> imm3, Reg Rn, Reg Rd) { + const u8 shift = imm3.ZeroExtend(); + if (shift > 4) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = Rn == Reg::SP ? SP(datasize) : IR::U32U64(X(datasize, Rn)); + const auto operand2 = ExtendReg(datasize, Rm, option, shift); + + const auto result = ir.Add(operand1, operand2); + + ir.SetNZCV(ir.NZCVFrom(result)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::SUB_ext(bool sf, Reg Rm, Imm<3> option, Imm<3> imm3, Reg Rn, Reg Rd) { + const u8 shift = imm3.ZeroExtend(); + if (shift > 4) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = Rn == Reg::SP ? SP(datasize) : IR::U32U64(X(datasize, Rn)); + const auto operand2 = ExtendReg(datasize, Rm, option, shift); + + const auto result = ir.Sub(operand1, operand2); + + if (Rd == Reg::SP) { + SP(datasize, result); + } else { + X(datasize, Rd, result); + } + + return true; +} + +bool TranslatorVisitor::SUBS_ext(bool sf, Reg Rm, Imm<3> option, Imm<3> imm3, Reg Rn, Reg Rd) { + const u8 shift = imm3.ZeroExtend(); + if (shift > 4) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = Rn == Reg::SP ? SP(datasize) : IR::U32U64(X(datasize, Rn)); + const auto operand2 = ExtendReg(datasize, Rm, option, shift); + + const auto result = ir.Sub(operand1, operand2); + + ir.SetNZCV(ir.NZCVFrom(result)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ADC(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const auto result = ir.AddWithCarry(operand1, operand2, ir.GetCFlag()); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ADCS(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const auto result = ir.AddWithCarry(operand1, operand2, ir.GetCFlag()); + + ir.SetNZCV(ir.NZCVFrom(result)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::SBC(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const auto result = ir.SubWithCarry(operand1, operand2, ir.GetCFlag()); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::SBCS(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const auto result = ir.SubWithCarry(operand1, operand2, ir.GetCFlag()); + + ir.SetNZCV(ir.NZCVFrom(result)); + + X(datasize, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_bitfield.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_bitfield.cpp new file mode 100755 index 000000000..aec6729ad --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_bitfield.cpp @@ -0,0 +1,155 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::SBFM(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd) { + if (sf && !N) { + return ReservedValue(); + } + + if (!sf && (N || immr.Bit<5>() || imms.Bit<5>())) { + return ReservedValue(); + } + + const u8 R = immr.ZeroExtend(); + const u8 S = imms.ZeroExtend(); + const auto masks = DecodeBitMasks(N, imms, immr, false); + if (!masks) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto src = X(datasize, Rn); + + auto bot = ir.And(ir.RotateRight(src, ir.Imm8(R)), I(datasize, masks->wmask)); + auto top = ir.ReplicateBit(src, S); + + top = ir.And(top, I(datasize, ~masks->tmask)); + bot = ir.And(bot, I(datasize, masks->tmask)); + + X(datasize, Rd, ir.Or(top, bot)); + return true; +} + +bool TranslatorVisitor::BFM(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd) { + if (sf && !N) { + return ReservedValue(); + } + + if (!sf && (N || immr.Bit<5>() || imms.Bit<5>())) { + return ReservedValue(); + } + + const u8 R = immr.ZeroExtend(); + const auto masks = DecodeBitMasks(N, imms, immr, false); + if (!masks) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto dst = X(datasize, Rd); + const auto src = X(datasize, Rn); + + const auto bot = ir.Or(ir.And(dst, I(datasize, ~masks->wmask)), ir.And(ir.RotateRight(src, ir.Imm8(R)), I(datasize, masks->wmask))); + + X(datasize, Rd, ir.Or(ir.And(dst, I(datasize, ~masks->tmask)), ir.And(bot, I(datasize, masks->tmask)))); + return true; +} + +bool TranslatorVisitor::UBFM(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd) { + if (sf && !N) { + return ReservedValue(); + } + + if (!sf && (N || immr.Bit<5>() || imms.Bit<5>())) { + return ReservedValue(); + } + + const u8 R = immr.ZeroExtend(); + const auto masks = DecodeBitMasks(N, imms, immr, false); + if (!masks) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto src = X(datasize, Rn); + const auto bot = ir.And(ir.RotateRight(src, ir.Imm8(R)), I(datasize, masks->wmask)); + + X(datasize, Rd, ir.And(bot, I(datasize, masks->tmask))); + return true; +} + +bool TranslatorVisitor::ASR_1(Imm<5> immr, Reg Rn, Reg Rd) { + const auto src = X(32, Rn); + const auto result = ir.ArithmeticShiftRightMasked(src, ir.Imm32(immr.ZeroExtend())); + X(32, Rd, result); + return true; +} + +bool TranslatorVisitor::ASR_2(Imm<6> immr, Reg Rn, Reg Rd) { + const auto src = X(64, Rn); + const auto result = ir.ArithmeticShiftRightMasked(src, ir.Imm64(immr.ZeroExtend())); + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::SXTB_1(Reg Rn, Reg Rd) { + const auto src = X(32, Rn); + const auto result = ir.SignExtendToWord(ir.LeastSignificantByte(src)); + X(32, Rd, result); + return true; +} + +bool TranslatorVisitor::SXTB_2(Reg Rn, Reg Rd) { + const auto src = X(64, Rn); + const auto result = ir.SignExtendToLong(ir.LeastSignificantByte(src)); + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::SXTH_1(Reg Rn, Reg Rd) { + const auto src = X(32, Rn); + const auto result = ir.SignExtendToWord(ir.LeastSignificantHalf(src)); + X(32, Rd, result); + return true; +} + +bool TranslatorVisitor::SXTH_2(Reg Rn, Reg Rd) { + const auto src = X(64, Rn); + const auto result = ir.SignExtendToLong(ir.LeastSignificantHalf(src)); + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::SXTW(Reg Rn, Reg Rd) { + const auto src = X(64, Rn); + const auto result = ir.SignExtendToLong(ir.LeastSignificantWord(src)); + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::EXTR(bool sf, bool N, Reg Rm, Imm<6> imms, Reg Rn, Reg Rd) { + if (N != sf) { + return UnallocatedEncoding(); + } + + if (!sf && imms.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 m = X(datasize, Rm); + const IR::U32U64 n = X(datasize, Rn); + const IR::U32U64 result = ir.ExtractRegister(m, n, ir.Imm8(imms.ZeroExtend())); + + X(datasize, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_conditional_compare.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_conditional_compare.cpp new file mode 100755 index 000000000..03725c262 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_conditional_compare.cpp @@ -0,0 +1,62 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::CCMN_reg(bool sf, Reg Rm, Cond cond, Reg Rn, Imm<4> nzcv) { + const size_t datasize = sf ? 64 : 32; + const u32 flags = nzcv.ZeroExtend() << 28; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const IR::NZCV then_flags = ir.NZCVFrom(ir.AddWithCarry(operand1, operand2, ir.Imm1(0))); + const IR::NZCV else_flags = ir.NZCVFromPackedFlags(ir.Imm32(flags)); + ir.SetNZCV(ir.ConditionalSelect(cond, then_flags, else_flags)); + return true; +} + +bool TranslatorVisitor::CCMP_reg(bool sf, Reg Rm, Cond cond, Reg Rn, Imm<4> nzcv) { + const size_t datasize = sf ? 64 : 32; + const u32 flags = nzcv.ZeroExtend() << 28; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const IR::NZCV then_flags = ir.NZCVFrom(ir.SubWithCarry(operand1, operand2, ir.Imm1(1))); + const IR::NZCV else_flags = ir.NZCVFromPackedFlags(ir.Imm32(flags)); + ir.SetNZCV(ir.ConditionalSelect(cond, then_flags, else_flags)); + return true; +} + +bool TranslatorVisitor::CCMN_imm(bool sf, Imm<5> imm5, Cond cond, Reg Rn, Imm<4> nzcv) { + const size_t datasize = sf ? 64 : 32; + const u32 flags = nzcv.ZeroExtend() << 28; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = I(datasize, imm5.ZeroExtend()); + + const IR::NZCV then_flags = ir.NZCVFrom(ir.AddWithCarry(operand1, operand2, ir.Imm1(0))); + const IR::NZCV else_flags = ir.NZCVFromPackedFlags(ir.Imm32(flags)); + ir.SetNZCV(ir.ConditionalSelect(cond, then_flags, else_flags)); + return true; +} + +bool TranslatorVisitor::CCMP_imm(bool sf, Imm<5> imm5, Cond cond, Reg Rn, Imm<4> nzcv) { + const size_t datasize = sf ? 64 : 32; + const u32 flags = nzcv.ZeroExtend() << 28; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = I(datasize, imm5.ZeroExtend()); + + const IR::NZCV then_flags = ir.NZCVFrom(ir.SubWithCarry(operand1, operand2, ir.Imm1(1))); + const IR::NZCV else_flags = ir.NZCVFromPackedFlags(ir.Imm32(flags)); + ir.SetNZCV(ir.ConditionalSelect(cond, then_flags, else_flags)); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_conditional_select.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_conditional_select.cpp new file mode 100755 index 000000000..49dadaa3b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_conditional_select.cpp @@ -0,0 +1,58 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::CSEL(bool sf, Reg Rm, Cond cond, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const IR::U32U64 result = ir.ConditionalSelect(cond, operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::CSINC(bool sf, Reg Rm, Cond cond, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const IR::U32U64 result = ir.ConditionalSelect(cond, operand1, ir.Add(operand2, I(datasize, 1))); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::CSINV(bool sf, Reg Rm, Cond cond, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const IR::U32U64 result = ir.ConditionalSelect(cond, operand1, ir.Not(operand2)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::CSNEG(bool sf, Reg Rm, Cond cond, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand1 = X(datasize, Rn); + const IR::U32U64 operand2 = X(datasize, Rm); + + const IR::U32U64 result = ir.ConditionalSelect(cond, operand1, ir.Add(ir.Not(operand2), I(datasize, 1))); + + X(datasize, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_crc32.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_crc32.cpp new file mode 100755 index 000000000..a0bf932a2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_crc32.cpp @@ -0,0 +1,76 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::CRC32(bool sf, Reg Rm, Imm<2> sz, Reg Rn, Reg Rd) { + const u32 integral_size = sz.ZeroExtend(); + + if (sf && integral_size != 0b11) { + return UnallocatedEncoding(); + } + + if (!sf && integral_size == 0b11) { + return UnallocatedEncoding(); + } + + const IR::U32 result = [&] { + const size_t datasize = sf ? 64 : 32; + const IR::U32 accumulator = ir.GetW(Rn); + const IR::U32U64 data = X(datasize, Rm); + + switch (integral_size) { + case 0b00: + return ir.CRC32ISO8(accumulator, data); + case 0b01: + return ir.CRC32ISO16(accumulator, data); + case 0b10: + return ir.CRC32ISO32(accumulator, data); + case 0b11: + default: + return ir.CRC32ISO64(accumulator, data); + } + }(); + + X(32, Rd, result); + return true; +} + +bool TranslatorVisitor::CRC32C(bool sf, Reg Rm, Imm<2> sz, Reg Rn, Reg Rd) { + const u32 integral_size = sz.ZeroExtend(); + + if (sf && integral_size != 0b11) { + return UnallocatedEncoding(); + } + + if (!sf && integral_size == 0b11) { + return UnallocatedEncoding(); + } + + const IR::U32 result = [&] { + const size_t datasize = sf ? 64 : 32; + const IR::U32 accumulator = ir.GetW(Rn); + const IR::U32U64 data = X(datasize, Rm); + + switch (integral_size) { + case 0b00: + return ir.CRC32Castagnoli8(accumulator, data); + case 0b01: + return ir.CRC32Castagnoli16(accumulator, data); + case 0b10: + return ir.CRC32Castagnoli32(accumulator, data); + case 0b11: + default: + return ir.CRC32Castagnoli64(accumulator, data); + } + }(); + + X(32, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_logical.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_logical.cpp new file mode 100755 index 000000000..3f0d16bbe --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_logical.cpp @@ -0,0 +1,236 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::AND_imm(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd) { + if (!sf && N) { + return ReservedValue(); + } + + u64 imm; + if (auto masks = DecodeBitMasks(N, imms, immr, true)) { + imm = masks->wmask; + } else { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = X(datasize, Rn); + + const auto result = ir.And(operand1, I(datasize, imm)); + if (Rd == Reg::SP) { + SP(datasize, result); + } else { + X(datasize, Rd, result); + } + + return true; +} + +bool TranslatorVisitor::ORR_imm(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd) { + if (!sf && N) { + return ReservedValue(); + } + + u64 imm; + if (auto masks = DecodeBitMasks(N, imms, immr, true)) { + imm = masks->wmask; + } else { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = X(datasize, Rn); + + const auto result = ir.Or(operand1, I(datasize, imm)); + if (Rd == Reg::SP) { + SP(datasize, result); + } else { + X(datasize, Rd, result); + } + + return true; +} + +bool TranslatorVisitor::EOR_imm(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd) { + if (!sf && N) { + return ReservedValue(); + } + + u64 imm; + if (auto masks = DecodeBitMasks(N, imms, immr, true)) { + imm = masks->wmask; + } else { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = X(datasize, Rn); + + const auto result = ir.Eor(operand1, I(datasize, imm)); + if (Rd == Reg::SP) { + SP(datasize, result); + } else { + X(datasize, Rd, result); + } + + return true; +} + +bool TranslatorVisitor::ANDS_imm(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd) { + if (!sf && N) { + return ReservedValue(); + } + + u64 imm; + if (auto masks = DecodeBitMasks(N, imms, immr, true)) { + imm = masks->wmask; + } else { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const auto operand1 = X(datasize, Rn); + const auto result = ir.And(operand1, I(datasize, imm)); + + ir.SetNZCV(ir.NZCVFrom(result)); + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::AND_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount)); + const auto result = ir.And(operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::BIC_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ir.Not(ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount))); + const auto result = ir.And(operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ORR_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount)); + const auto result = ir.Or(operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ORN_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ir.Not(ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount))); + const auto result = ir.Or(operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::EOR_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount)); + const auto result = ir.Eor(operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::EON(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ir.Not(ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount))); + const auto result = ir.Eor(operand1, operand2); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ANDS_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount)); + const auto result = ir.And(operand1, operand2); + + ir.SetNZCV(ir.NZCVFrom(result)); + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::BICS(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd) { + if (!sf && imm6.Bit<5>()) { + return ReservedValue(); + } + + const size_t datasize = sf ? 64 : 32; + const u8 shift_amount = imm6.ZeroExtend(); + + const auto operand1 = X(datasize, Rn); + const auto operand2 = ir.Not(ShiftReg(datasize, Rm, shift, ir.Imm8(shift_amount))); + const auto result = ir.And(operand1, operand2); + + ir.SetNZCV(ir.NZCVFrom(result)); + X(datasize, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_multiply.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_multiply.cpp new file mode 100755 index 000000000..60910803f --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_multiply.cpp @@ -0,0 +1,100 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::MADD(bool sf, Reg Rm, Reg Ra, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 a = X(datasize, Ra); + const IR::U32U64 m = X(datasize, Rm); + const IR::U32U64 n = X(datasize, Rn); + + const IR::U32U64 result = ir.Add(a, ir.Mul(n, m)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::MSUB(bool sf, Reg Rm, Reg Ra, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 a = X(datasize, Ra); + const IR::U32U64 m = X(datasize, Rm); + const IR::U32U64 n = X(datasize, Rn); + + const IR::U32U64 result = ir.Sub(a, ir.Mul(n, m)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::SMADDL(Reg Rm, Reg Ra, Reg Rn, Reg Rd) { + const IR::U64 a = X(64, Ra); + const IR::U64 m = ir.SignExtendToLong(X(32, Rm)); + const IR::U64 n = ir.SignExtendToLong(X(32, Rn)); + + const IR::U64 result = ir.Add(a, ir.Mul(n, m)); + + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::SMSUBL(Reg Rm, Reg Ra, Reg Rn, Reg Rd) { + const IR::U64 a = X(64, Ra); + const IR::U64 m = ir.SignExtendToLong(X(32, Rm)); + const IR::U64 n = ir.SignExtendToLong(X(32, Rn)); + + const IR::U64 result = ir.Sub(a, ir.Mul(n, m)); + + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::SMULH(Reg Rm, Reg Rn, Reg Rd) { + const IR::U64 m = X(64, Rm); + const IR::U64 n = X(64, Rn); + + const IR::U64 result = ir.SignedMultiplyHigh(n, m); + + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::UMADDL(Reg Rm, Reg Ra, Reg Rn, Reg Rd) { + const IR::U64 a = X(64, Ra); + const IR::U64 m = ir.ZeroExtendToLong(X(32, Rm)); + const IR::U64 n = ir.ZeroExtendToLong(X(32, Rn)); + + const IR::U64 result = ir.Add(a, ir.Mul(n, m)); + + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::UMSUBL(Reg Rm, Reg Ra, Reg Rn, Reg Rd) { + const IR::U64 a = X(64, Ra); + const IR::U64 m = ir.ZeroExtendToLong(X(32, Rm)); + const IR::U64 n = ir.ZeroExtendToLong(X(32, Rn)); + + const IR::U64 result = ir.Sub(a, ir.Mul(n, m)); + + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::UMULH(Reg Rm, Reg Rn, Reg Rd) { + const IR::U64 m = X(64, Rm); + const IR::U64 n = X(64, Rn); + + const IR::U64 result = ir.UnsignedMultiplyHigh(n, m); + + X(64, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_pcrel.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_pcrel.cpp new file mode 100755 index 000000000..48b860a09 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_pcrel.cpp @@ -0,0 +1,24 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::ADR(Imm<2> immlo, Imm<19> immhi, Reg Rd) { + const u64 imm = concatenate(immhi, immlo).SignExtend(); + const u64 base = ir.PC(); + X(64, Rd, ir.Imm64(base + imm)); + return true; +} + +bool TranslatorVisitor::ADRP(Imm<2> immlo, Imm<19> immhi, Reg Rd) { + const u64 imm = concatenate(immhi, immlo).SignExtend() << 12; + const u64 base = ir.PC() & ~u64(0xFFF); + X(64, Rd, ir.Imm64(base + imm)); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_register.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_register.cpp new file mode 100755 index 000000000..3484a1e3d --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_register.cpp @@ -0,0 +1,139 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::CLZ_int(bool sf, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand = X(datasize, Rn); + const IR::U32U64 result = ir.CountLeadingZeros(operand); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::CLS_int(bool sf, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand = X(datasize, Rn); + const IR::U32U64 result = ir.Sub(ir.CountLeadingZeros(ir.Eor(operand, ir.ArithmeticShiftRight(operand, ir.Imm8(u8(datasize))))), I(datasize, 1)); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::RBIT_int(bool sf, Reg Rn, Reg Rd) { + const auto rbit32 = [this](const IR::U32& operand) { + // x = (x & 0x55555555) << 1 | ((x >> 1) & 0x55555555); + const IR::U32 first_lsl = ir.LogicalShiftLeft(ir.And(operand, ir.Imm32(0x55555555)), ir.Imm8(1)); + const IR::U32 first_lsr = ir.And(ir.LogicalShiftRight(operand, ir.Imm8(1)), ir.Imm32(0x55555555)); + const IR::U32 first = ir.Or(first_lsl, first_lsr); + + // x = (x & 0x33333333) << 2 | ((x >> 2) & 0x33333333); + const IR::U32 second_lsl = ir.LogicalShiftLeft(ir.And(first, ir.Imm32(0x33333333)), ir.Imm8(2)); + const IR::U32 second_lsr = ir.And(ir.LogicalShiftRight(first, ir.Imm8(2)), ir.Imm32(0x33333333)); + const IR::U32 second = ir.Or(second_lsl, second_lsr); + + // x = (x & 0x0F0F0F0F) << 4 | ((x >> 4) & 0x0F0F0F0F); + const IR::U32 third_lsl = ir.LogicalShiftLeft(ir.And(second, ir.Imm32(0x0F0F0F0F)), ir.Imm8(4)); + const IR::U32 third_lsr = ir.And(ir.LogicalShiftRight(second, ir.Imm8(4)), ir.Imm32(0x0F0F0F0F)); + const IR::U32 third = ir.Or(third_lsl, third_lsr); + + // x = (x << 24) | ((x & 0xFF00) << 8) | ((x >> 8) & 0xFF00) | (x >> 24); + const IR::U32 fourth_lsl = ir.Or(ir.LogicalShiftLeft(third, ir.Imm8(24)), + ir.LogicalShiftLeft(ir.And(third, ir.Imm32(0xFF00)), ir.Imm8(8))); + const IR::U32 fourth_lsr = ir.Or(ir.And(ir.LogicalShiftRight(third, ir.Imm8(8)), ir.Imm32(0xFF00)), + ir.LogicalShiftRight(third, ir.Imm8(24))); + return ir.Or(fourth_lsl, fourth_lsr); + }; + + const size_t datasize = sf ? 64 : 32; + const IR::U32U64 operand = X(datasize, Rn); + + if (sf) { + const IR::U32 lsw = rbit32(ir.LeastSignificantWord(operand)); + const IR::U32 msw = rbit32(ir.MostSignificantWord(operand).result); + const IR::U64 result = ir.Pack2x32To1x64(msw, lsw); + + X(datasize, Rd, result); + } else { + X(datasize, Rd, rbit32(operand)); + } + + return true; +} + +bool TranslatorVisitor::REV(bool sf, bool opc_0, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + if (!sf && opc_0) + return UnallocatedEncoding(); + + const IR::U32U64 operand = X(datasize, Rn); + + if (sf) { + X(datasize, Rd, ir.ByteReverseDual(operand)); + } else { + X(datasize, Rd, ir.ByteReverseWord(operand)); + } + return true; +} + +bool TranslatorVisitor::REV32_int(Reg Rn, Reg Rd) { + const IR::U64 operand = ir.GetX(Rn); + const IR::U32 lo = ir.ByteReverseWord(ir.LeastSignificantWord(operand)); + const IR::U32 hi = ir.ByteReverseWord(ir.MostSignificantWord(operand).result); + const IR::U64 result = ir.Pack2x32To1x64(lo, hi); + X(64, Rd, result); + return true; +} + +bool TranslatorVisitor::REV16_int(bool sf, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + if (sf) { + const IR::U64 operand = X(datasize, Rn); + const IR::U64 hihalf = ir.And(ir.LogicalShiftRight(operand, ir.Imm8(8)), ir.Imm64(0x00FF00FF00FF00FF)); + const IR::U64 lohalf = ir.And(ir.LogicalShiftLeft(operand, ir.Imm8(8)), ir.Imm64(0xFF00FF00FF00FF00)); + const IR::U64 result = ir.Or(hihalf, lohalf); + X(datasize, Rd, result); + } else { + const IR::U32 operand = X(datasize, Rn); + const IR::U32 hihalf = ir.And(ir.LogicalShiftRight(operand, ir.Imm8(8)), ir.Imm32(0x00FF00FF)); + const IR::U32 lohalf = ir.And(ir.LogicalShiftLeft(operand, ir.Imm8(8)), ir.Imm32(0xFF00FF00)); + const IR::U32 result = ir.Or(hihalf, lohalf); + X(datasize, Rd, result); + } + return true; +} + +bool TranslatorVisitor::UDIV(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 m = X(datasize, Rm); + const IR::U32U64 n = X(datasize, Rn); + + const IR::U32U64 result = ir.UnsignedDiv(n, m); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::SDIV(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 m = X(datasize, Rm); + const IR::U32U64 n = X(datasize, Rn); + + const IR::U32U64 result = ir.SignedDiv(n, m); + + X(datasize, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_shift.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_shift.cpp new file mode 100755 index 000000000..1b48abd7e --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/data_processing_shift.cpp @@ -0,0 +1,58 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::LSLV(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand = X(datasize, Rn); + const IR::U32U64 shift_amount = X(datasize, Rm); + + const IR::U32U64 result = ir.LogicalShiftLeftMasked(operand, shift_amount); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::LSRV(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand = X(datasize, Rn); + const IR::U32U64 shift_amount = X(datasize, Rm); + + const IR::U32U64 result = ir.LogicalShiftRightMasked(operand, shift_amount); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::ASRV(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand = X(datasize, Rn); + const IR::U32U64 shift_amount = X(datasize, Rm); + + const IR::U32U64 result = ir.ArithmeticShiftRightMasked(operand, shift_amount); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::RORV(bool sf, Reg Rm, Reg Rn, Reg Rd) { + const size_t datasize = sf ? 64 : 32; + + const IR::U32U64 operand = X(datasize, Rn); + const IR::U32U64 shift_amount = X(datasize, Rm); + + const IR::U32U64 result = ir.RotateRightMasked(operand, shift_amount); + + X(datasize, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/exception_generating.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/exception_generating.cpp new file mode 100755 index 000000000..460ebfa6f --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/exception_generating.cpp @@ -0,0 +1,22 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::BRK(Imm<16> /*imm16*/) { + return RaiseException(Exception::Breakpoint); +} + +bool TranslatorVisitor::SVC(Imm<16> imm16) { + ir.PushRSB(ir.current_location->AdvancePC(4)); + ir.SetPC(ir.Imm64(ir.current_location->PC() + 4)); + ir.CallSupervisor(imm16.ZeroExtend()); + ir.SetTerm(IR::Term::CheckHalt{IR::Term::PopRSBHint{}}); + return false; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_compare.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_compare.cpp new file mode 100755 index 000000000..c1835b815 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_compare.cpp @@ -0,0 +1,38 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +bool FPCompare(TranslatorVisitor& v, Imm<2> type, Vec Vm, Vec Vn, bool exc_on_qnan, bool cmp_with_zero) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return v.UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = v.V_scalar(*datasize, Vn); + IR::U32U64 operand2; + if (cmp_with_zero) { + operand2 = v.I(*datasize, 0); + } else { + operand2 = v.V_scalar(*datasize, Vm); + } + + const auto nzcv = v.ir.FPCompare(operand1, operand2, exc_on_qnan); + v.ir.SetNZCV(nzcv); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::FCMP_float(Imm<2> type, Vec Vm, Vec Vn, bool cmp_with_zero) { + return FPCompare(*this, type, Vm, Vn, false, cmp_with_zero); +} + +bool TranslatorVisitor::FCMPE_float(Imm<2> type, Vec Vm, Vec Vn, bool cmp_with_zero) { + return FPCompare(*this, type, Vm, Vn, true, cmp_with_zero); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conditional_compare.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conditional_compare.cpp new file mode 100755 index 000000000..a0b102241 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conditional_compare.cpp @@ -0,0 +1,35 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +bool FPCompare(TranslatorVisitor& v, Imm<2> type, Vec Vm, Cond cond, Vec Vn, Imm<4> nzcv, bool exc_on_qnan) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return v.UnallocatedEncoding(); + } + const u32 flags = nzcv.ZeroExtend() << 28; + + const IR::U32U64 operand1 = v.V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = v.V_scalar(*datasize, Vm); + + const IR::NZCV then_flags = v.ir.FPCompare(operand1, operand2, exc_on_qnan); + const IR::NZCV else_flags = v.ir.NZCVFromPackedFlags(v.ir.Imm32(flags)); + v.ir.SetNZCV(v.ir.ConditionalSelect(cond, then_flags, else_flags)); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::FCCMP_float(Imm<2> type, Vec Vm, Cond cond, Vec Vn, Imm<4> nzcv) { + return FPCompare(*this, type, Vm, cond, Vn, nzcv, false); +} + +bool TranslatorVisitor::FCCMPE_float(Imm<2> type, Vec Vm, Cond cond, Vec Vn, Imm<4> nzcv) { + return FPCompare(*this, type, Vm, cond, Vn, nzcv, true); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conditional_select.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conditional_select.cpp new file mode 100755 index 000000000..11ce6f623 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conditional_select.cpp @@ -0,0 +1,24 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::FCSEL_float(Imm<2> type, Vec Vm, Cond cond, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + const IR::U32U64 result = ir.ConditionalSelect(cond, operand1, operand2); + V_scalar(*datasize, Vd, result); + + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp new file mode 100755 index 000000000..5fa7ac1f9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conversion_fixed_point.cpp @@ -0,0 +1,114 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::SCVTF_float_fix(bool sf, Imm<2> type, Imm<6> scale, Reg Rn, Vec Vd) { + const size_t intsize = sf ? 64 : 32; + const auto fltsize = FPGetDataSize(type); + if (!fltsize || *fltsize == 16) { + return UnallocatedEncoding(); + } + if (!sf && !scale.Bit<5>()) { + return UnallocatedEncoding(); + } + const u8 fracbits = 64 - scale.ZeroExtend(); + const FP::RoundingMode rounding_mode = ir.current_location->FPCR().RMode(); + + const IR::U32U64 intval = X(intsize, Rn); + const IR::U32U64 fltval = [&]() -> IR::U32U64 { + switch (*fltsize) { + case 32: + return ir.FPSignedFixedToSingle(intval, fracbits, rounding_mode); + case 64: + return ir.FPSignedFixedToDouble(intval, fracbits, rounding_mode); + } + UNREACHABLE(); + }(); + + V_scalar(*fltsize, Vd, fltval); + return true; +} + +bool TranslatorVisitor::UCVTF_float_fix(bool sf, Imm<2> type, Imm<6> scale, Reg Rn, Vec Vd) { + const size_t intsize = sf ? 64 : 32; + const auto fltsize = FPGetDataSize(type); + if (!fltsize || *fltsize == 16) { + return UnallocatedEncoding(); + } + if (!sf && !scale.Bit<5>()) { + return UnallocatedEncoding(); + } + const u8 fracbits = 64 - scale.ZeroExtend(); + const FP::RoundingMode rounding_mode = ir.current_location->FPCR().RMode(); + + const IR::U32U64 intval = X(intsize, Rn); + const IR::U32U64 fltval = [&]() -> IR::U32U64 { + switch (*fltsize) { + case 32: + return ir.FPUnsignedFixedToSingle(intval, fracbits, rounding_mode); + case 64: + return ir.FPUnsignedFixedToDouble(intval, fracbits, rounding_mode); + } + UNREACHABLE(); + }(); + + V_scalar(*fltsize, Vd, fltval); + return true; +} + +bool TranslatorVisitor::FCVTZS_float_fix(bool sf, Imm<2> type, Imm<6> scale, Vec Vn, Reg Rd) { + const size_t intsize = sf ? 64 : 32; + const auto fltsize = FPGetDataSize(type); + if (!fltsize) { + return UnallocatedEncoding(); + } + if (!sf && !scale.Bit<5>()) { + return UnallocatedEncoding(); + } + const u8 fracbits = 64 - scale.ZeroExtend(); + + const IR::U16U32U64 fltval = V_scalar(*fltsize, Vn); + IR::U32U64 intval; + if (intsize == 32) { + intval = ir.FPToFixedS32(fltval, fracbits, FP::RoundingMode::TowardsZero); + } else if (intsize == 64) { + intval = ir.FPToFixedS64(fltval, fracbits, FP::RoundingMode::TowardsZero); + } else { + UNREACHABLE(); + } + + X(intsize, Rd, intval); + return true; +} + +bool TranslatorVisitor::FCVTZU_float_fix(bool sf, Imm<2> type, Imm<6> scale, Vec Vn, Reg Rd) { + const size_t intsize = sf ? 64 : 32; + const auto fltsize = FPGetDataSize(type); + if (!fltsize) { + return UnallocatedEncoding(); + } + if (!sf && !scale.Bit<5>()) { + return UnallocatedEncoding(); + } + const u8 fracbits = 64 - scale.ZeroExtend(); + + const IR::U16U32U64 fltval = V_scalar(*fltsize, Vn); + IR::U32U64 intval; + if (intsize == 32) { + intval = ir.FPToFixedU32(fltval, fracbits, FP::RoundingMode::TowardsZero); + } else if (intsize == 64) { + intval = ir.FPToFixedU64(fltval, fracbits, FP::RoundingMode::TowardsZero); + } else { + UNREACHABLE(); + } + + X(intsize, Rd, intval); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conversion_integer.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conversion_integer.cpp new file mode 100755 index 000000000..2f98ebfb1 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_conversion_integer.cpp @@ -0,0 +1,199 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::SCVTF_float_int(bool sf, Imm<2> type, Reg Rn, Vec Vd) { + const size_t intsize = sf ? 64 : 32; + const auto fltsize = FPGetDataSize(type); + if (!fltsize || *fltsize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 intval = X(intsize, Rn); + IR::U32U64 fltval; + + if (*fltsize == 32) { + fltval = ir.FPSignedFixedToSingle(intval, 0, ir.current_location->FPCR().RMode()); + } else if (*fltsize == 64) { + fltval = ir.FPSignedFixedToDouble(intval, 0, ir.current_location->FPCR().RMode()); + } else { + UNREACHABLE(); + } + + V_scalar(*fltsize, Vd, fltval); + + return true; +} + +bool TranslatorVisitor::UCVTF_float_int(bool sf, Imm<2> type, Reg Rn, Vec Vd) { + const size_t intsize = sf ? 64 : 32; + const auto fltsize = FPGetDataSize(type); + if (!fltsize || *fltsize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 intval = X(intsize, Rn); + IR::U32U64 fltval; + + if (*fltsize == 32) { + fltval = ir.FPUnsignedFixedToSingle(intval, 0, ir.current_location->FPCR().RMode()); + } else if (*fltsize == 64) { + fltval = ir.FPUnsignedFixedToDouble(intval, 0, ir.current_location->FPCR().RMode()); + } else { + UNREACHABLE(); + } + + V_scalar(*fltsize, Vd, fltval); + + return true; +} + +bool TranslatorVisitor::FMOV_float_gen(bool sf, Imm<2> type, Imm<1> rmode_0, Imm<1> opc_0, size_t n, size_t d) { + // NOTE: + // opcode<2:1> == 0b11 + // rmode<1> == 0b0 + + if (type == 0b10 && rmode_0 != 1) { + return UnallocatedEncoding(); + } + + const size_t intsize = sf ? 64 : 32; + size_t fltsize = [type] { + switch (type.ZeroExtend()) { + case 0b00: + return 32; + case 0b01: + return 64; + case 0b10: + return 128; + case 0b11: + return 16; + default: + UNREACHABLE(); + } + }(); + + bool integer_to_float; + size_t part; + switch (rmode_0.ZeroExtend()) { + case 0b0: + if (fltsize != 16 && fltsize != intsize) { + return UnallocatedEncoding(); + } + integer_to_float = opc_0 == 0b1; + part = 0; + break; + default: + case 0b1: + if (intsize != 64 || fltsize != 128) { + return UnallocatedEncoding(); + } + integer_to_float = opc_0 == 0b1; + part = 1; + fltsize = 64; + break; + } + + if (integer_to_float) { + const IR::U16U32U64 intval = X(fltsize, static_cast(n)); + Vpart_scalar(fltsize, static_cast(d), part, intval); + } else { + const IR::UAny fltval = Vpart_scalar(fltsize, static_cast(n), part); + const IR::U32U64 intval = ZeroExtend(fltval, intsize); + X(intsize, static_cast(d), intval); + } + + return true; +} + +static bool FloaingPointConvertSignedInteger(TranslatorVisitor& v, bool sf, Imm<2> type, Vec Vn, Reg Rd, FP::RoundingMode rounding_mode) { + const size_t intsize = sf ? 64 : 32; + const auto fltsize = FPGetDataSize(type); + if (!fltsize) { + return v.UnallocatedEncoding(); + } + + const IR::U16U32U64 fltval = v.V_scalar(*fltsize, Vn); + IR::U32U64 intval; + + if (intsize == 32) { + intval = v.ir.FPToFixedS32(fltval, 0, rounding_mode); + } else if (intsize == 64) { + intval = v.ir.FPToFixedS64(fltval, 0, rounding_mode); + } else { + UNREACHABLE(); + } + + v.X(intsize, Rd, intval); + return true; +} + +static bool FloaingPointConvertUnsignedInteger(TranslatorVisitor& v, bool sf, Imm<2> type, Vec Vn, Reg Rd, FP::RoundingMode rounding_mode) { + const size_t intsize = sf ? 64 : 32; + const auto fltsize = FPGetDataSize(type); + if (!fltsize) { + return v.UnallocatedEncoding(); + } + + const IR::U16U32U64 fltval = v.V_scalar(*fltsize, Vn); + IR::U32U64 intval; + + if (intsize == 32) { + intval = v.ir.FPToFixedU32(fltval, 0, rounding_mode); + } else if (intsize == 64) { + intval = v.ir.FPToFixedU64(fltval, 0, rounding_mode); + } else { + UNREACHABLE(); + } + + v.X(intsize, Rd, intval); + return true; +} + +bool TranslatorVisitor::FCVTNS_float(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertSignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::ToNearest_TieEven); +} + +bool TranslatorVisitor::FCVTNU_float(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertUnsignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::ToNearest_TieEven); +} + +bool TranslatorVisitor::FCVTZS_float_int(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertSignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::TowardsZero); +} + +bool TranslatorVisitor::FCVTZU_float_int(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertUnsignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::TowardsZero); +} + +bool TranslatorVisitor::FCVTAS_float(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertSignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::ToNearest_TieAwayFromZero); +} + +bool TranslatorVisitor::FCVTAU_float(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertUnsignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::ToNearest_TieAwayFromZero); +} + +bool TranslatorVisitor::FCVTPS_float(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertSignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::TowardsPlusInfinity); +} + +bool TranslatorVisitor::FCVTPU_float(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertUnsignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::TowardsPlusInfinity); +} + +bool TranslatorVisitor::FCVTMS_float(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertSignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::TowardsMinusInfinity); +} + +bool TranslatorVisitor::FCVTMU_float(bool sf, Imm<2> type, Vec Vn, Reg Rd) { + return FloaingPointConvertUnsignedInteger(*this, sf, type, Vn, Rd, FP::RoundingMode::TowardsMinusInfinity); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp new file mode 100755 index 000000000..187f0a890 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_one_register.cpp @@ -0,0 +1,186 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::FMOV_float(Imm<2> type, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return UnallocatedEncoding(); + } + + const IR::U16U32U64 operand = V_scalar(*datasize, Vn); + + V_scalar(*datasize, Vd, operand); + return true; +} + +bool TranslatorVisitor::FABS_float(Imm<2> type, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return UnallocatedEncoding(); + } + + const IR::U16U32U64 operand = V_scalar(*datasize, Vn); + const IR::U16U32U64 result = ir.FPAbs(operand); + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FNEG_float(Imm<2> type, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return UnallocatedEncoding(); + } + + const IR::U16U32U64 operand = V_scalar(*datasize, Vn); + const IR::U16U32U64 result = ir.FPNeg(operand); + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FSQRT_float(Imm<2> type, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand = V_scalar(*datasize, Vn); + const IR::U32U64 result = ir.FPSqrt(operand); + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMOV_float_imm(Imm<2> type, Imm<8> imm8, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return UnallocatedEncoding(); + } + + IR::UAny result = [&]() -> IR::UAny { + switch (*datasize) { + case 16: { + const u16 sign = imm8.Bit<7>() ? 1 : 0; + const u16 exp = (imm8.Bit<6>() ? 0b0'1100 : 0b1'0000) | imm8.Bits<4, 5, u16>(); + const u16 fract = imm8.Bits<0, 3, u16>() << 6; + return ir.Imm16((sign << 15) | (exp << 10) | fract); + } + case 32: { + const u32 sign = imm8.Bit<7>() ? 1 : 0; + const u32 exp = (imm8.Bit<6>() ? 0b0111'1100 : 0b1000'0000) | imm8.Bits<4, 5, u32>(); + const u32 fract = imm8.Bits<0, 3, u32>() << 19; + return ir.Imm32((sign << 31) | (exp << 23) | fract); + } + case 64: + default: { + const u64 sign = imm8.Bit<7>() ? 1 : 0; + const u64 exp = (imm8.Bit<6>() ? 0b011'1111'1100 : 0b100'0000'0000) | imm8.Bits<4, 5, u64>(); + const u64 fract = imm8.Bits<0, 3, u64>() << 48; + return ir.Imm64((sign << 63) | (exp << 52) | fract); + } + } + }(); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FCVT_float(Imm<2> type, Imm<2> opc, Vec Vn, Vec Vd) { + if (type == opc) { + return UnallocatedEncoding(); + } + + const auto srcsize = FPGetDataSize(type); + const auto dstsize = FPGetDataSize(opc); + + if (!srcsize || !dstsize) { + return UnallocatedEncoding(); + } + + const IR::UAny operand = V_scalar(*srcsize, Vn); + const auto rounding_mode = ir.current_location->FPCR().RMode(); + + IR::UAny result; + switch (*srcsize) { + case 16: + switch (*dstsize) { + case 32: + result = ir.FPHalfToSingle(operand, rounding_mode); + break; + case 64: + result = ir.FPHalfToDouble(operand, rounding_mode); + break; + } + break; + case 32: + switch (*dstsize) { + case 16: + result = ir.FPSingleToHalf(operand, rounding_mode); + break; + case 64: + result = ir.FPSingleToDouble(operand, rounding_mode); + break; + } + break; + case 64: + switch (*dstsize) { + case 16: + result = ir.FPDoubleToHalf(operand, rounding_mode); + break; + case 32: + result = ir.FPDoubleToSingle(operand, rounding_mode); + break; + } + break; + } + + V_scalar(*dstsize, Vd, result); + + return true; +} + +static bool FloatingPointRoundToIntegral(TranslatorVisitor& v, Imm<2> type, Vec Vn, Vec Vd, FP::RoundingMode rounding_mode, bool exact) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return v.UnallocatedEncoding(); + } + + const IR::U16U32U64 operand = v.V_scalar(*datasize, Vn); + const IR::U16U32U64 result = v.ir.FPRoundInt(operand, rounding_mode, exact); + v.V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRINTN_float(Imm<2> type, Vec Vn, Vec Vd) { + return FloatingPointRoundToIntegral(*this, type, Vn, Vd, FP::RoundingMode::ToNearest_TieEven, false); +} + +bool TranslatorVisitor::FRINTP_float(Imm<2> type, Vec Vn, Vec Vd) { + return FloatingPointRoundToIntegral(*this, type, Vn, Vd, FP::RoundingMode::TowardsPlusInfinity, false); +} + +bool TranslatorVisitor::FRINTM_float(Imm<2> type, Vec Vn, Vec Vd) { + return FloatingPointRoundToIntegral(*this, type, Vn, Vd, FP::RoundingMode::TowardsMinusInfinity, false); +} + +bool TranslatorVisitor::FRINTZ_float(Imm<2> type, Vec Vn, Vec Vd) { + return FloatingPointRoundToIntegral(*this, type, Vn, Vd, FP::RoundingMode::TowardsZero, false); +} + +bool TranslatorVisitor::FRINTA_float(Imm<2> type, Vec Vn, Vec Vd) { + return FloatingPointRoundToIntegral(*this, type, Vn, Vd, FP::RoundingMode::ToNearest_TieAwayFromZero, false); +} + +bool TranslatorVisitor::FRINTX_float(Imm<2> type, Vec Vn, Vec Vd) { + return FloatingPointRoundToIntegral(*this, type, Vn, Vd, ir.current_location->FPCR().RMode(), true); +} + +bool TranslatorVisitor::FRINTI_float(Imm<2> type, Vec Vn, Vec Vd) { + return FloatingPointRoundToIntegral(*this, type, Vn, Vd, ir.current_location->FPCR().RMode(), false); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp new file mode 100755 index 000000000..eaad58c80 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_three_register.cpp @@ -0,0 +1,66 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::FMADD_float(Imm<2> type, Vec Vm, Vec Va, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return UnallocatedEncoding(); + } + + const IR::U16U32U64 operanda = V_scalar(*datasize, Va); + const IR::U16U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U16U32U64 operand2 = V_scalar(*datasize, Vm); + const IR::U16U32U64 result = ir.FPMulAdd(operanda, operand1, operand2); + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMSUB_float(Imm<2> type, Vec Vm, Vec Va, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return UnallocatedEncoding(); + } + + const IR::U16U32U64 operanda = V_scalar(*datasize, Va); + const IR::U16U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U16U32U64 operand2 = V_scalar(*datasize, Vm); + const IR::U16U32U64 result = ir.FPMulAdd(operanda, ir.FPNeg(operand1), operand2); + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FNMADD_float(Imm<2> type, Vec Vm, Vec Va, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return UnallocatedEncoding(); + } + + const IR::U16U32U64 operanda = V_scalar(*datasize, Va); + const IR::U16U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U16U32U64 operand2 = V_scalar(*datasize, Vm); + const IR::U16U32U64 result = ir.FPMulAdd(ir.FPNeg(operanda), ir.FPNeg(operand1), operand2); + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FNMSUB_float(Imm<2> type, Vec Vm, Vec Va, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize) { + return UnallocatedEncoding(); + } + + const IR::U16U32U64 operanda = V_scalar(*datasize, Va); + const IR::U16U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U16U32U64 operand2 = V_scalar(*datasize, Vm); + const IR::U16U32U64 result = ir.FPMulAdd(ir.FPNeg(operanda), operand1, operand2); + V_scalar(*datasize, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp new file mode 100755 index 000000000..a4dbda9cc --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/floating_point_data_processing_two_register.cpp @@ -0,0 +1,145 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::FMUL_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPMul(operand1, operand2); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FDIV_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPDiv(operand1, operand2); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FADD_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPAdd(operand1, operand2); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FSUB_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPSub(operand1, operand2); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMAX_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPMax(operand1, operand2); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMIN_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPMin(operand1, operand2); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMAXNM_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPMaxNumeric(operand1, operand2); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMINNM_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPMinNumeric(operand1, operand2); + + V_scalar(*datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FNMUL_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd) { + const auto datasize = FPGetDataSize(type); + if (!datasize || *datasize == 16) { + return UnallocatedEncoding(); + } + + const IR::U32U64 operand1 = V_scalar(*datasize, Vn); + const IR::U32U64 operand2 = V_scalar(*datasize, Vm); + + const IR::U32U64 result = ir.FPNeg(ir.FPMul(operand1, operand2)); + + V_scalar(*datasize, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.cpp new file mode 100755 index 000000000..23773727d --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.cpp @@ -0,0 +1,406 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/ir/terminal.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::InterpretThisInstruction() { + ir.SetTerm(IR::Term::Interpret(*ir.current_location)); + return false; +} + +bool TranslatorVisitor::UnpredictableInstruction() { + return RaiseException(Exception::UnpredictableInstruction); +} + +bool TranslatorVisitor::DecodeError() { + UNREACHABLE(); +} + +bool TranslatorVisitor::ReservedValue() { + return RaiseException(Exception::ReservedValue); +} + +bool TranslatorVisitor::UnallocatedEncoding() { + return RaiseException(Exception::UnallocatedEncoding); +} + +bool TranslatorVisitor::RaiseException(Exception exception) { + ir.SetPC(ir.Imm64(ir.current_location->PC() + 4)); + ir.ExceptionRaised(exception); + ir.SetTerm(IR::Term::CheckHalt{IR::Term::ReturnToDispatch{}}); + return false; +} + +std::optional TranslatorVisitor::DecodeBitMasks(bool immN, Imm<6> imms, Imm<6> immr, bool immediate) { + const int len = Common::HighestSetBit((immN ? 1 << 6 : 0) | (imms.ZeroExtend() ^ 0b111111)); + if (len < 1) { + return std::nullopt; + } + + const size_t levels = Common::Ones(len); + if (immediate && (imms.ZeroExtend() & levels) == levels) { + return std::nullopt; + } + + const s32 S = s32(imms.ZeroExtend() & levels); + const s32 R = s32(immr.ZeroExtend() & levels); + const u64 d = u64(S - R) & levels; + + const size_t esize = size_t{1} << len; + const u64 welem = Common::Ones(S + 1); + const u64 telem = Common::Ones(d + 1); + const u64 wmask = Common::RotateRight(Common::Replicate(welem, esize), R); + const u64 tmask = Common::Replicate(telem, esize); + + return BitMasks{wmask, tmask}; +} + +IR::UAny TranslatorVisitor::I(size_t bitsize, u64 value) { + switch (bitsize) { + case 8: + return ir.Imm8(static_cast(value)); + case 16: + return ir.Imm16(static_cast(value)); + case 32: + return ir.Imm32(static_cast(value)); + case 64: + return ir.Imm64(value); + default: + ASSERT_FALSE("Imm - get: Invalid bitsize"); + } +} + +IR::UAny TranslatorVisitor::X(size_t bitsize, Reg reg) { + switch (bitsize) { + case 8: + return ir.LeastSignificantByte(ir.GetW(reg)); + case 16: + return ir.LeastSignificantHalf(ir.GetW(reg)); + case 32: + return ir.GetW(reg); + case 64: + return ir.GetX(reg); + default: + ASSERT_FALSE("X - get: Invalid bitsize"); + } +} + +void TranslatorVisitor::X(size_t bitsize, Reg reg, IR::U32U64 value) { + switch (bitsize) { + case 32: + ir.SetW(reg, value); + return; + case 64: + ir.SetX(reg, value); + return; + default: + ASSERT_FALSE("X - set: Invalid bitsize"); + } +} + +IR::U32U64 TranslatorVisitor::SP(size_t bitsize) { + switch (bitsize) { + case 32: + return ir.LeastSignificantWord(ir.GetSP()); + case 64: + return ir.GetSP(); + default: + ASSERT_FALSE("SP - get : Invalid bitsize"); + } +} + +void TranslatorVisitor::SP(size_t bitsize, IR::U32U64 value) { + switch (bitsize) { + case 32: + ir.SetSP(ir.ZeroExtendWordToLong(value)); + break; + case 64: + ir.SetSP(value); + break; + default: + ASSERT_FALSE("SP - set : Invalid bitsize"); + } +} + +IR::U128 TranslatorVisitor::V(size_t bitsize, Vec vec) { + switch (bitsize) { + case 32: + return ir.GetS(vec); + case 64: + return ir.GetD(vec); + case 128: + return ir.GetQ(vec); + default: + ASSERT_FALSE("V - get : Invalid bitsize"); + } +} + +void TranslatorVisitor::V(size_t bitsize, Vec vec, IR::U128 value) { + switch (bitsize) { + case 32: + ir.SetS(vec, value); + return; + case 64: + // TODO: Remove VectorZeroUpper when possible. + ir.SetD(vec, ir.VectorZeroUpper(value)); + return; + case 128: + ir.SetQ(vec, value); + return; + default: + ASSERT_FALSE("V - Set : Invalid bitsize"); + } +} + +IR::UAnyU128 TranslatorVisitor::V_scalar(size_t bitsize, Vec vec) { + if (bitsize == 128) { + return V(128, vec); + } + // TODO: Optimize + return ir.VectorGetElement(bitsize, ir.GetQ(vec), 0); +} + +void TranslatorVisitor::V_scalar(size_t bitsize, Vec vec, IR::UAnyU128 value) { + if (bitsize == 128) { + V(128, vec, value); + return; + } + // TODO: Optimize + ir.SetQ(vec, ir.ZeroExtendToQuad(value)); +} + +IR::U128 TranslatorVisitor::Vpart(size_t bitsize, Vec vec, size_t part) { + ASSERT(part == 0 || part == 1); + ASSERT(bitsize == 64); + if (part == 0) { + return V(64, vec); + } + return ir.ZeroExtendToQuad(ir.VectorGetElement(bitsize, V(128, vec), part)); +} + +void TranslatorVisitor::Vpart(size_t bitsize, Vec vec, size_t part, IR::U128 value) { + ASSERT(part == 0 || part == 1); + if (part == 0) { + ASSERT(bitsize == 64); + V(128, vec, ir.VectorZeroExtend(bitsize, value)); + } else { + ASSERT(bitsize == 64); + V(128, vec, ir.VectorInterleaveLower(64, V(128, vec), value)); + } +} + +IR::UAny TranslatorVisitor::Vpart_scalar(size_t bitsize, Vec vec, size_t part) { + ASSERT(part == 0 || part == 1); + if (part == 0) { + ASSERT(bitsize == 8 || bitsize == 16 || bitsize == 32 || bitsize == 64); + } else { + ASSERT(bitsize == 64); + } + return ir.VectorGetElement(bitsize, V(128, vec), part); +} + +void TranslatorVisitor::Vpart_scalar(size_t bitsize, Vec vec, size_t part, IR::UAny value) { + ASSERT(part == 0 || part == 1); + if (part == 0) { + ASSERT(bitsize == 8 || bitsize == 16 || bitsize == 32 || bitsize == 64); + V(128, vec, ir.ZeroExtendToQuad(value)); + } else { + ASSERT(bitsize == 64); + V(128, vec, ir.VectorSetElement(64, V(128, vec), 1, value)); + } +} + +IR::UAnyU128 TranslatorVisitor::Mem(IR::U64 address, size_t bytesize, IR::AccType /*acc_type*/) { + switch (bytesize) { + case 1: + return ir.ReadMemory8(address); + case 2: + return ir.ReadMemory16(address); + case 4: + return ir.ReadMemory32(address); + case 8: + return ir.ReadMemory64(address); + case 16: + return ir.ReadMemory128(address); + default: + ASSERT_FALSE("Invalid bytesize parameter {}", bytesize); + } +} + +void TranslatorVisitor::Mem(IR::U64 address, size_t bytesize, IR::AccType /*acc_type*/, IR::UAnyU128 value) { + switch (bytesize) { + case 1: + ir.WriteMemory8(address, value); + return; + case 2: + ir.WriteMemory16(address, value); + return; + case 4: + ir.WriteMemory32(address, value); + return; + case 8: + ir.WriteMemory64(address, value); + return; + case 16: + ir.WriteMemory128(address, value); + return; + default: + ASSERT_FALSE("Invalid bytesize parameter {}", bytesize); + } +} + +IR::UAnyU128 TranslatorVisitor::ExclusiveMem(IR::U64 address, size_t bytesize, IR::AccType /*acctype*/) { + switch (bytesize) { + case 1: + return ir.ExclusiveReadMemory8(address); + case 2: + return ir.ExclusiveReadMemory16(address); + case 4: + return ir.ExclusiveReadMemory32(address); + case 8: + return ir.ExclusiveReadMemory64(address); + case 16: + return ir.ExclusiveReadMemory128(address); + default: + ASSERT_FALSE("Invalid bytesize parameter {}", bytesize); + } +} + +IR::U32 TranslatorVisitor::ExclusiveMem(IR::U64 address, size_t bytesize, IR::AccType /*acctype*/, IR::UAnyU128 value) { + switch (bytesize) { + case 1: + return ir.ExclusiveWriteMemory8(address, value); + case 2: + return ir.ExclusiveWriteMemory16(address, value); + case 4: + return ir.ExclusiveWriteMemory32(address, value); + case 8: + return ir.ExclusiveWriteMemory64(address, value); + case 16: + return ir.ExclusiveWriteMemory128(address, value); + default: + ASSERT_FALSE("Invalid bytesize parameter {}", bytesize); + } +} + +IR::U32U64 TranslatorVisitor::SignExtend(IR::UAny value, size_t to_size) { + switch (to_size) { + case 32: + return ir.SignExtendToWord(value); + case 64: + return ir.SignExtendToLong(value); + default: + ASSERT_FALSE("Invalid size parameter {}", to_size); + } +} + +IR::U32U64 TranslatorVisitor::ZeroExtend(IR::UAny value, size_t to_size) { + switch (to_size) { + case 32: + return ir.ZeroExtendToWord(value); + case 64: + return ir.ZeroExtendToLong(value); + default: + ASSERT_FALSE("Invalid size parameter {}", to_size); + } +} + +IR::U32U64 TranslatorVisitor::ShiftReg(size_t bitsize, Reg reg, Imm<2> shift, IR::U8 amount) { + IR::U32U64 result = X(bitsize, reg); + switch (shift.ZeroExtend()) { + case 0b00: + return ir.LogicalShiftLeft(result, amount); + case 0b01: + return ir.LogicalShiftRight(result, amount); + case 0b10: + return ir.ArithmeticShiftRight(result, amount); + case 0b11: + return ir.RotateRight(result, amount); + } + UNREACHABLE(); +} + +IR::U32U64 TranslatorVisitor::ExtendReg(size_t bitsize, Reg reg, Imm<3> option, u8 shift) { + ASSERT(shift <= 4); + ASSERT(bitsize == 32 || bitsize == 64); + IR::UAny val = X(bitsize, reg); + size_t len; + IR::U32U64 extended; + bool signed_extend; + + switch (option.ZeroExtend()) { + case 0b000: { // UXTB + val = ir.LeastSignificantByte(val); + len = 8; + signed_extend = false; + break; + } + case 0b001: { // UXTH + val = ir.LeastSignificantHalf(val); + len = 16; + signed_extend = false; + break; + } + case 0b010: { // UXTW + if (bitsize != 32) { + val = ir.LeastSignificantWord(val); + } + len = 32; + signed_extend = false; + break; + } + case 0b011: { // UXTX + len = 64; + signed_extend = false; + break; + } + case 0b100: { // SXTB + val = ir.LeastSignificantByte(val); + len = 8; + signed_extend = true; + break; + } + case 0b101: { // SXTH + val = ir.LeastSignificantHalf(val); + len = 16; + signed_extend = true; + break; + } + case 0b110: { // SXTW + if (bitsize != 32) { + val = ir.LeastSignificantWord(val); + } + len = 32; + signed_extend = true; + break; + } + case 0b111: { // SXTX + len = 64; + signed_extend = true; + break; + } + default: + UNREACHABLE(); + } + + if (len < bitsize) { + if (bitsize == 32) { + extended = signed_extend ? ir.SignExtendToWord(val) : ir.ZeroExtendToWord(val); + } else { + extended = signed_extend ? ir.SignExtendToLong(val) : ir.ZeroExtendToLong(val); + } + } else { + extended = val; + } + + return ir.LogicalShiftLeft(extended, ir.Imm8(shift)); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.h b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.h new file mode 100755 index 000000000..e51f811e5 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/impl.h @@ -0,0 +1,1084 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/frontend/A64/ir_emitter.h" +#include "dynarmic/frontend/A64/location_descriptor.h" +#include "dynarmic/frontend/A64/translate/translate.h" +#include "dynarmic/frontend/A64/types.h" +#include "dynarmic/frontend/imm.h" + +namespace Dynarmic::A64 { + +struct TranslatorVisitor final { + using instruction_return_type = bool; + + explicit TranslatorVisitor(IR::Block& block, LocationDescriptor descriptor, TranslationOptions options) + : ir(block, descriptor), options(std::move(options)) {} + + A64::IREmitter ir; + TranslationOptions options; + + bool InterpretThisInstruction(); + bool UnpredictableInstruction(); + bool DecodeError(); + bool ReservedValue(); + bool UnallocatedEncoding(); + bool RaiseException(Exception exception); + + struct BitMasks { + u64 wmask, tmask; + }; + + static std::optional DecodeBitMasks(bool immN, Imm<6> imms, Imm<6> immr, bool immediate); + + IR::UAny I(size_t bitsize, u64 value); + IR::UAny X(size_t bitsize, Reg reg); + void X(size_t bitsize, Reg reg, IR::U32U64 value); + IR::U32U64 SP(size_t bitsize); + void SP(size_t bitsize, IR::U32U64 value); + + IR::U128 V(size_t bitsize, Vec vec); + void V(size_t bitsize, Vec vec, IR::U128 value); + + IR::UAnyU128 V_scalar(size_t bitsize, Vec vec); + void V_scalar(size_t bitsize, Vec vec, IR::UAnyU128 value); + + IR::U128 Vpart(size_t bitsize, Vec vec, size_t part); + void Vpart(size_t bitsize, Vec vec, size_t part, IR::U128 value); + + IR::UAny Vpart_scalar(size_t bitsize, Vec vec, size_t part); + void Vpart_scalar(size_t bitsize, Vec vec, size_t part, IR::UAny value); + + IR::UAnyU128 Mem(IR::U64 address, size_t size, IR::AccType acctype); + void Mem(IR::U64 address, size_t size, IR::AccType acctype, IR::UAnyU128 value); + IR::UAnyU128 ExclusiveMem(IR::U64 address, size_t size, IR::AccType acctype); + IR::U32 ExclusiveMem(IR::U64 address, size_t size, IR::AccType acctype, IR::UAnyU128 value); + + IR::U32U64 SignExtend(IR::UAny value, size_t to_size); + IR::U32U64 ZeroExtend(IR::UAny value, size_t to_size); + IR::U32U64 ShiftReg(size_t bitsize, Reg reg, Imm<2> shift, IR::U8 amount); + IR::U32U64 ExtendReg(size_t bitsize, Reg reg, Imm<3> option, u8 shift); + + // Data processing - Immediate - PC relative addressing + bool ADR(Imm<2> immlo, Imm<19> immhi, Reg Rd); + bool ADRP(Imm<2> immlo, Imm<19> immhi, Reg Rd); + + // Data processing - Immediate - Add/Sub (with tag) + bool ADDG(Imm<6> offset_imm, Imm<4> tag_offset, Reg Rn, Reg Rd); + bool SUBG(Imm<6> offset_imm, Imm<4> tag_offset, Reg Rn, Reg Rd); + + // Data processing - Immediate - Add/Sub + bool ADD_imm(bool sf, Imm<2> shift, Imm<12> imm12, Reg Rn, Reg Rd); + bool ADDS_imm(bool sf, Imm<2> shift, Imm<12> imm12, Reg Rn, Reg Rd); + bool SUB_imm(bool sf, Imm<2> shift, Imm<12> imm12, Reg Rn, Reg Rd); + bool SUBS_imm(bool sf, Imm<2> shift, Imm<12> imm12, Reg Rn, Reg Rd); + + // Data processing - Immediate - Logical + bool AND_imm(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd); + bool ORR_imm(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd); + bool EOR_imm(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd); + bool ANDS_imm(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd); + + // Data processing - Immediate - Move Wide + bool MOVN(bool sf, Imm<2> hw, Imm<16> imm16, Reg Rd); + bool MOVZ(bool sf, Imm<2> hw, Imm<16> imm16, Reg Rd); + bool MOVK(bool sf, Imm<2> hw, Imm<16> imm16, Reg Rd); + + // Data processing - Immediate - Bitfield + bool SBFM(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd); + bool BFM(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd); + bool UBFM(bool sf, bool N, Imm<6> immr, Imm<6> imms, Reg Rn, Reg Rd); + bool ASR_1(Imm<5> immr, Reg Rn, Reg Rd); + bool ASR_2(Imm<6> immr, Reg Rn, Reg Rd); + bool SXTB_1(Reg Rn, Reg Rd); + bool SXTB_2(Reg Rn, Reg Rd); + bool SXTH_1(Reg Rn, Reg Rd); + bool SXTH_2(Reg Rn, Reg Rd); + bool SXTW(Reg Rn, Reg Rd); + + // Data processing - Immediate - Extract + bool EXTR(bool sf, bool N, Reg Rm, Imm<6> imms, Reg Rn, Reg Rd); + + // Conditional branch + bool B_cond(Imm<19> imm19, Cond cond); + + // Exception generation + bool SVC(Imm<16> imm16); + bool HVC(Imm<16> imm16); + bool SMC(Imm<16> imm16); + bool BRK(Imm<16> imm16); + bool HLT(Imm<16> imm16); + bool DCPS1(Imm<16> imm16); + bool DCPS2(Imm<16> imm16); + bool DCPS3(Imm<16> imm16); + + // System + bool MSR_imm(Imm<3> op1, Imm<4> CRm, Imm<3> op2); + bool HINT(Imm<4> CRm, Imm<3> op2); + bool NOP(); + bool YIELD(); + bool WFE(); + bool WFI(); + bool SEV(); + bool SEVL(); + bool XPAC_1(bool D, Reg Rd); + bool XPAC_2(); + bool PACIA_1(bool Z, Reg Rn, Reg Rd); + bool PACIA_2(); + bool PACIB_1(bool Z, Reg Rn, Reg Rd); + bool PACIB_2(); + bool AUTIA_1(bool Z, Reg Rn, Reg Rd); + bool AUTIA_2(); + bool AUTIB_1(bool Z, Reg Rn, Reg Rd); + bool AUTIB_2(); + bool BTI(Imm<2> upper_op2); + bool ESB(); + bool PSB(); + bool TSB(); + bool CSDB(); + bool CLREX(Imm<4> CRm); + bool DSB(Imm<4> CRm); + bool SSBB(); + bool PSSBB(); + bool DMB(Imm<4> CRm); + bool ISB(Imm<4> CRm); + bool SYS(Imm<3> op1, Imm<4> CRn, Imm<4> CRm, Imm<3> op2, Reg Rt); + bool SB(); + bool MSR_reg(Imm<1> o0, Imm<3> op1, Imm<4> CRn, Imm<4> CRm, Imm<3> op2, Reg Rt); + bool SYSL(Imm<3> op1, Imm<4> CRn, Imm<4> CRm, Imm<3> op2, Reg Rt); + bool MRS(Imm<1> o0, Imm<3> op1, Imm<4> CRn, Imm<4> CRm, Imm<3> op2, Reg Rt); + + // System - Flag manipulation instructions + bool CFINV(); + bool RMIF(Imm<6> lsb, Reg Rn, Imm<4> mask); + bool SETF8(Reg Rn); + bool SETF16(Reg Rn); + + // System - Flag format instructions + bool XAFlag(); + bool AXFlag(); + + // SYS: Data Cache + bool DC_IVAC(Reg Rt); + bool DC_ISW(Reg Rt); + bool DC_CSW(Reg Rt); + bool DC_CISW(Reg Rt); + bool DC_ZVA(Reg Rt); + bool DC_CVAC(Reg Rt); + bool DC_CVAU(Reg Rt); + bool DC_CVAP(Reg Rt); + bool DC_CIVAC(Reg Rt); + + // SYS: Instruction Cache + bool IC_IALLU(); + bool IC_IALLUIS(); + bool IC_IVAU(Reg Rt); + + // Unconditional branch (Register) + bool BR(Reg Rn); + bool BRA(bool Z, bool M, Reg Rn, Reg Rm); + bool BLR(Reg Rn); + bool BLRA(bool Z, bool M, Reg Rn, Reg Rm); + bool RET(Reg Rn); + bool RETA(bool M); + bool ERET(); + bool ERETA(bool M); + bool DRPS(); + + // Unconditional branch (immediate) + bool B_uncond(Imm<26> imm26); + bool BL(Imm<26> imm26); + + // Compare and branch (immediate) + bool CBZ(bool sf, Imm<19> imm19, Reg Rt); + bool CBNZ(bool sf, Imm<19> imm19, Reg Rt); + bool TBZ(Imm<1> b5, Imm<5> b40, Imm<14> imm14, Reg Rt); + bool TBNZ(Imm<1> b5, Imm<5> b40, Imm<14> imm14, Reg Rt); + + // Loads and stores - Advanced SIMD Load/Store multiple structures + bool STx_mult_1(bool Q, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt); + bool STx_mult_2(bool Q, Reg Rm, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt); + bool LDx_mult_1(bool Q, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt); + bool LDx_mult_2(bool Q, Reg Rm, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt); + + // Loads and stores - Advanced SIMD Load/Store single structures + bool ST1_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool ST1_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool ST3_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool ST3_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool ST2_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool ST2_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool ST4_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool ST4_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD1_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD1_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD3_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD3_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD1R_1(bool Q, Imm<2> size, Reg Rn, Vec Vt); + bool LD1R_2(bool Q, Reg Rm, Imm<2> size, Reg Rn, Vec Vt); + bool LD3R_1(bool Q, Imm<2> size, Reg Rn, Vec Vt); + bool LD3R_2(bool Q, Reg Rm, Imm<2> size, Reg Rn, Vec Vt); + bool LD2_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD2_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD4_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD4_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt); + bool LD2R_1(bool Q, Imm<2> size, Reg Rn, Vec Vt); + bool LD2R_2(bool Q, Reg Rm, Imm<2> size, Reg Rn, Vec Vt); + bool LD4R_1(bool Q, Imm<2> size, Reg Rn, Vec Vt); + bool LD4R_2(bool Q, Reg Rm, Imm<2> size, Reg Rn, Vec Vt); + + // Loads and stores - Load/Store Exclusive + bool STXR(Imm<2> size, Reg Rs, Reg Rn, Reg Rt); + bool STLXR(Imm<2> size, Reg Rs, Reg Rn, Reg Rt); + bool STXP(Imm<1> size, Reg Rs, Reg Rt2, Reg Rn, Reg Rt); + bool STLXP(Imm<1> size, Reg Rs, Reg Rt2, Reg Rn, Reg Rt); + bool LDXR(Imm<2> size, Reg Rn, Reg Rt); + bool LDAXR(Imm<2> size, Reg Rn, Reg Rt); + bool LDXP(Imm<1> size, Reg Rt2, Reg Rn, Reg Rt); + bool LDAXP(Imm<1> size, Reg Rt2, Reg Rn, Reg Rt); + bool STLLR(Imm<2> size, Reg Rn, Reg Rt); + bool STLR(Imm<2> size, Reg Rn, Reg Rt); + bool LDLAR(Imm<2> size, Reg Rn, Reg Rt); + bool LDAR(Imm<2> size, Reg Rn, Reg Rt); + bool CASP(bool sz, bool L, Reg Rs, bool o0, Reg Rn, Reg Rt); + bool CASB(bool L, Reg Rs, bool o0, Reg Rn, Reg Rt); + bool CASH(bool L, Reg Rs, bool o0, Reg Rn, Reg Rt); + bool CAS(bool sz, bool L, Reg Rs, bool o0, Reg Rn, Reg Rt); + + // Loads and stores - Load register (literal) + bool LDR_lit_gen(bool opc_0, Imm<19> imm19, Reg Rt); + bool LDR_lit_fpsimd(Imm<2> opc, Imm<19> imm19, Vec Vt); + bool LDRSW_lit(Imm<19> imm19, Reg Rt); + bool PRFM_lit(Imm<19> imm19, Imm<5> prfop); + + // Loads and stores - Load/Store no-allocate pair + bool STNP_LDNP_gen(Imm<1> upper_opc, Imm<1> L, Imm<7> imm7, Reg Rt2, Reg Rn, Reg Rt); + bool STNP_LDNP_fpsimd(Imm<2> opc, Imm<1> L, Imm<7> imm7, Vec Vt2, Reg Rn, Vec Vt); + + // Loads and stores - Load/Store register pair + bool STP_LDP_gen(Imm<2> opc, bool not_postindex, bool wback, Imm<1> L, Imm<7> imm7, Reg Rt2, Reg Rn, Reg Rt); + bool STP_LDP_fpsimd(Imm<2> opc, bool not_postindex, bool wback, Imm<1> L, Imm<7> imm7, Vec Vt2, Reg Rn, Vec Vt); + bool STGP_1(Imm<7> offset_imm, Reg Rt2, Reg Rn, Reg Rt); + bool STGP_2(Imm<7> offset_imm, Reg Rt2, Reg Rn, Reg Rt); + bool STGP_3(Imm<7> offset_imm, Reg Rt2, Reg Rn, Reg Rt); + + // Loads and stores - Load/Store register (immediate) + bool STRx_LDRx_imm_1(Imm<2> size, Imm<2> opc, Imm<9> imm9, bool not_postindex, Reg Rn, Reg Rt); + bool STRx_LDRx_imm_2(Imm<2> size, Imm<2> opc, Imm<12> imm12, Reg Rn, Reg Rt); + bool STURx_LDURx(Imm<2> size, Imm<2> opc, Imm<9> imm9, Reg Rn, Reg Rt); + bool PRFM_imm(Imm<12> imm12, Reg Rn, Reg Rt); + bool PRFM_unscaled_imm(Imm<9> imm9, Reg Rn, Reg Rt); + bool STR_imm_fpsimd_1(Imm<2> size, Imm<1> opc_1, Imm<9> imm9, bool not_postindex, Reg Rn, Vec Vt); + bool STR_imm_fpsimd_2(Imm<2> size, Imm<1> opc_1, Imm<12> imm12, Reg Rn, Vec Vt); + bool LDR_imm_fpsimd_1(Imm<2> size, Imm<1> opc_1, Imm<9> imm9, bool not_postindex, Reg Rn, Vec Vt); + bool LDR_imm_fpsimd_2(Imm<2> size, Imm<1> opc_1, Imm<12> imm12, Reg Rn, Vec Vt); + bool STUR_fpsimd(Imm<2> size, Imm<1> opc_1, Imm<9> imm9, Reg Rn, Vec Vt); + bool LDUR_fpsimd(Imm<2> size, Imm<1> opc_1, Imm<9> imm9, Reg Rn, Vec Vt); + + // Loads and stores - Load/Store register (unprivileged) + bool STTRB(Imm<9> imm9, Reg Rn, Reg Rt); + bool LDTRB(Imm<9> imm9, Reg Rn, Reg Rt); + bool LDTRSB(Imm<2> opc, Imm<9> imm9, Reg Rn, Reg Rt); + bool STTRH(Imm<9> imm9, Reg Rn, Reg Rt); + bool LDTRH(Imm<9> imm9, Reg Rn, Reg Rt); + bool LDTRSH(Imm<2> opc, Imm<9> imm9, Reg Rn, Reg Rt); + bool STTR(Imm<2> size, Imm<9> imm9, Reg Rn, Reg Rt); + bool LDTR(Imm<2> size, Imm<9> imm9, Reg Rn, Reg Rt); + bool LDTRSW(Imm<9> imm9, Reg Rn, Reg Rt); + + // Loads and stores - Atomic memory options + bool LDADDB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDCLRB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDEORB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSETB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSMAXB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSMINB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDUMAXB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDUMINB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool SWPB(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDAPRB(Reg Rn, Reg Rt); + bool LDADDH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDCLRH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDEORH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSETH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSMAXH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSMINH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDUMAXH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDUMINH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool SWPH(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDAPRH(Reg Rn, Reg Rt); + bool LDADD(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDCLR(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDEOR(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSET(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSMAX(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDSMIN(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDUMAX(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDUMIN(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool SWP(bool A, bool R, Reg Rs, Reg Rn, Reg Rt); + bool LDAPR(Reg Rn, Reg Rt); + + // Loads and stores - Load/Store register (register offset) + bool STRx_reg(Imm<2> size, Imm<1> opc_1, Reg Rm, Imm<3> option, bool S, Reg Rn, Reg Rt); + bool LDRx_reg(Imm<2> size, Imm<1> opc_1, Reg Rm, Imm<3> option, bool S, Reg Rn, Reg Rt); + bool STR_reg_fpsimd(Imm<2> size, Imm<1> opc_1, Reg Rm, Imm<3> option, bool S, Reg Rn, Vec Vt); + bool LDR_reg_fpsimd(Imm<2> size, Imm<1> opc_1, Reg Rm, Imm<3> option, bool S, Reg Rn, Vec Vt); + + // Loads and stores - Load/Store memory tags + bool STG_1(Imm<9> imm9, Reg Rn); + bool STG_2(Imm<9> imm9, Reg Rn); + bool STG_3(Imm<9> imm9, Reg Rn); + bool LDG(Imm<9> offset_imm, Reg Rn, Reg Rt); + bool STZG_1(Imm<9> offset_imm, Reg Rn); + bool STZG_2(Imm<9> offset_imm, Reg Rn); + bool STZG_3(Imm<9> offset_imm, Reg Rn); + bool ST2G_1(Imm<9> offset_imm, Reg Rn); + bool ST2G_2(Imm<9> offset_imm, Reg Rn); + bool ST2G_3(Imm<9> offset_imm, Reg Rn); + bool STGV(Reg Rn, Reg Rt); + bool STZ2G_1(Imm<9> offset_imm, Reg Rn); + bool STZ2G_2(Imm<9> offset_imm, Reg Rn); + bool STZ2G_3(Imm<9> offset_imm, Reg Rn); + bool LDGV(Reg Rn, Reg Rt); + + // Loads and stores - Load/Store register (pointer authentication) + bool LDRA(bool M, bool S, Imm<9> imm9, bool W, Reg Rn, Reg Rt); + + // Data Processing - Register - 2 source + bool UDIV(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool SDIV(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool LSLV(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool LSRV(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool ASRV(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool RORV(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool CRC32(bool sf, Reg Rm, Imm<2> sz, Reg Rn, Reg Rd); + bool CRC32C(bool sf, Reg Rm, Imm<2> sz, Reg Rn, Reg Rd); + bool PACGA(Reg Rm, Reg Rn, Reg Rd); + bool SUBP(Reg Rm, Reg Rn, Reg Rd); + bool IRG(Reg Rm, Reg Rn, Reg Rd); + bool GMI(Reg Rm, Reg Rn, Reg Rd); + bool SUBPS(Reg Rm, Reg Rn, Reg Rd); + + // Data Processing - Register - 1 source + bool RBIT_int(bool sf, Reg Rn, Reg Rd); + bool REV16_int(bool sf, Reg Rn, Reg Rd); + bool REV(bool sf, bool opc_0, Reg Rn, Reg Rd); + bool CLZ_int(bool sf, Reg Rn, Reg Rd); + bool CLS_int(bool sf, Reg Rn, Reg Rd); + bool REV32_int(Reg Rn, Reg Rd); + bool PACDA(bool Z, Reg Rn, Reg Rd); + bool PACDB(bool Z, Reg Rn, Reg Rd); + bool AUTDA(bool Z, Reg Rn, Reg Rd); + bool AUTDB(bool Z, Reg Rn, Reg Rd); + + // Data Processing - Register - Logical (shifted register) + bool AND_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool BIC_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool ORR_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool ORN_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool EOR_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool EON(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool ANDS_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool BICS(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + + // Data Processing - Register - Add/Sub (shifted register) + bool ADD_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool ADDS_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool SUB_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + bool SUBS_shift(bool sf, Imm<2> shift, Reg Rm, Imm<6> imm6, Reg Rn, Reg Rd); + + // Data Processing - Register - Add/Sub (shifted register) + bool ADD_ext(bool sf, Reg Rm, Imm<3> option, Imm<3> imm3, Reg Rn, Reg Rd); + bool ADDS_ext(bool sf, Reg Rm, Imm<3> option, Imm<3> imm3, Reg Rn, Reg Rd); + bool SUB_ext(bool sf, Reg Rm, Imm<3> option, Imm<3> imm3, Reg Rn, Reg Rd); + bool SUBS_ext(bool sf, Reg Rm, Imm<3> option, Imm<3> imm3, Reg Rn, Reg Rd); + + // Data Processing - Register - Add/Sub (with carry) + bool ADC(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool ADCS(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool SBC(bool sf, Reg Rm, Reg Rn, Reg Rd); + bool SBCS(bool sf, Reg Rm, Reg Rn, Reg Rd); + + // Data Processing - Register - Conditional compare + bool CCMN_reg(bool sf, Reg Rm, Cond cond, Reg Rn, Imm<4> nzcv); + bool CCMP_reg(bool sf, Reg Rm, Cond cond, Reg Rn, Imm<4> nzcv); + bool CCMN_imm(bool sf, Imm<5> imm5, Cond cond, Reg Rn, Imm<4> nzcv); + bool CCMP_imm(bool sf, Imm<5> imm5, Cond cond, Reg Rn, Imm<4> nzcv); + + // Data Processing - Register - Conditional select + bool CSEL(bool sf, Reg Rm, Cond cond, Reg Rn, Reg Rd); + bool CSINC(bool sf, Reg Rm, Cond cond, Reg Rn, Reg Rd); + bool CSINV(bool sf, Reg Rm, Cond cond, Reg Rn, Reg Rd); + bool CSNEG(bool sf, Reg Rm, Cond cond, Reg Rn, Reg Rd); + + // Data Processing - Register - 3 source + bool MADD(bool sf, Reg Rm, Reg Ra, Reg Rn, Reg Rd); + bool MSUB(bool sf, Reg Rm, Reg Ra, Reg Rn, Reg Rd); + bool SMADDL(Reg Rm, Reg Ra, Reg Rn, Reg Rd); + bool SMSUBL(Reg Rm, Reg Ra, Reg Rn, Reg Rd); + bool SMULH(Reg Rm, Reg Rn, Reg Rd); + bool UMADDL(Reg Rm, Reg Ra, Reg Rn, Reg Rd); + bool UMSUBL(Reg Rm, Reg Ra, Reg Rn, Reg Rd); + bool UMULH(Reg Rm, Reg Rn, Reg Rd); + + // Data Processing - FP and SIMD - AES + bool AESE(Vec Vn, Vec Vd); + bool AESD(Vec Vn, Vec Vd); + bool AESMC(Vec Vn, Vec Vd); + bool AESIMC(Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SHA + bool SHA1C(Vec Vm, Vec Vn, Vec Vd); + bool SHA1P(Vec Vm, Vec Vn, Vec Vd); + bool SHA1M(Vec Vm, Vec Vn, Vec Vd); + bool SHA1SU0(Vec Vm, Vec Vn, Vec Vd); + bool SHA256H(Vec Vm, Vec Vn, Vec Vd); + bool SHA256H2(Vec Vm, Vec Vn, Vec Vd); + bool SHA256SU1(Vec Vm, Vec Vn, Vec Vd); + bool SHA1H(Vec Vn, Vec Vd); + bool SHA1SU1(Vec Vn, Vec Vd); + bool SHA256SU0(Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Scalar copy + bool DUP_elt_1(Imm<5> imm5, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Scalar three + bool FMULX_vec_1(Vec Vm, Vec Vn, Vec Vd); + bool FMULX_vec_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FCMEQ_reg_1(Vec Vm, Vec Vn, Vec Vd); + bool FCMEQ_reg_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FRECPS_1(Vec Vm, Vec Vn, Vec Vd); + bool FRECPS_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FRSQRTS_1(Vec Vm, Vec Vn, Vec Vd); + bool FRSQRTS_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FCMGE_reg_1(Vec Vm, Vec Vn, Vec Vd); + bool FCMGE_reg_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FACGE_1(Vec Vm, Vec Vn, Vec Vd); + bool FACGE_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FABD_1(Vec Vm, Vec Vn, Vec Vd); + bool FABD_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FCMGT_reg_1(Vec Vm, Vec Vn, Vec Vd); + bool FCMGT_reg_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FACGT_1(Vec Vm, Vec Vn, Vec Vd); + bool FACGT_2(bool sz, Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Two register misc FP16 + bool FCVTNS_1(Vec Vn, Vec Vd); + bool FCVTMS_1(Vec Vn, Vec Vd); + bool FCVTAS_1(Vec Vn, Vec Vd); + bool SCVTF_int_1(Vec Vn, Vec Vd); + bool FCMGT_zero_1(Vec Vn, Vec Vd); + bool FCMEQ_zero_1(Vec Vn, Vec Vd); + bool FCMLT_1(Vec Vn, Vec Vd); + bool FCVTPS_1(Vec Vn, Vec Vd); + bool FCVTZS_int_1(Vec Vn, Vec Vd); + bool FRECPE_1(Vec Vn, Vec Vd); + bool FRECPX_1(Vec Vn, Vec Vd); + bool FCVTNU_1(Vec Vn, Vec Vd); + bool FCVTMU_1(Vec Vn, Vec Vd); + bool FCVTAU_1(Vec Vn, Vec Vd); + bool UCVTF_int_1(Vec Vn, Vec Vd); + bool FCMGE_zero_1(Vec Vn, Vec Vd); + bool FCMLE_1(Vec Vn, Vec Vd); + bool FCVTPU_1(Vec Vn, Vec Vd); + bool FCVTZU_int_1(Vec Vn, Vec Vd); + bool FRSQRTE_1(Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Two register misc + bool FCVTNS_2(bool sz, Vec Vn, Vec Vd); + bool FCVTMS_2(bool sz, Vec Vn, Vec Vd); + bool FCVTAS_2(bool sz, Vec Vn, Vec Vd); + bool SCVTF_int_2(bool sz, Vec Vn, Vec Vd); + bool FCMGT_zero_2(bool sz, Vec Vn, Vec Vd); + bool FCMEQ_zero_2(bool sz, Vec Vn, Vec Vd); + bool FCMLT_2(bool sz, Vec Vn, Vec Vd); + bool FCVTPS_2(bool sz, Vec Vn, Vec Vd); + bool FCVTZS_int_2(bool sz, Vec Vn, Vec Vd); + bool FRECPE_2(bool sz, Vec Vn, Vec Vd); + bool FRECPX_2(bool sz, Vec Vn, Vec Vd); + bool FCVTNU_2(bool sz, Vec Vn, Vec Vd); + bool FCVTMU_2(bool sz, Vec Vn, Vec Vd); + bool FCVTAU_2(bool sz, Vec Vn, Vec Vd); + bool UCVTF_int_2(bool sz, Vec Vn, Vec Vd); + bool FCMGE_zero_2(bool sz, Vec Vn, Vec Vd); + bool FCMLE_2(bool sz, Vec Vn, Vec Vd); + bool FCVTPU_2(bool sz, Vec Vn, Vec Vd); + bool FCVTZU_int_2(bool sz, Vec Vn, Vec Vd); + bool FRSQRTE_2(bool sz, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Scalar two register misc FP16 + bool FCVTNS_3(bool Q, Vec Vn, Vec Vd); + bool FCVTMS_3(bool Q, Vec Vn, Vec Vd); + bool FCVTAS_3(bool Q, Vec Vn, Vec Vd); + bool SCVTF_int_3(bool Q, Vec Vn, Vec Vd); + bool FCMGT_zero_3(bool Q, Vec Vn, Vec Vd); + bool FCMEQ_zero_3(bool Q, Vec Vn, Vec Vd); + bool FCMLT_3(bool Q, Vec Vn, Vec Vd); + bool FCVTPS_3(bool Q, Vec Vn, Vec Vd); + bool FCVTZS_int_3(bool Q, Vec Vn, Vec Vd); + bool FRECPE_3(bool Q, Vec Vn, Vec Vd); + bool FCVTNU_3(bool Q, Vec Vn, Vec Vd); + bool FCVTMU_3(bool Q, Vec Vn, Vec Vd); + bool FCVTAU_3(bool Q, Vec Vn, Vec Vd); + bool UCVTF_int_3(bool Q, Vec Vn, Vec Vd); + bool FCMGE_zero_3(bool Q, Vec Vn, Vec Vd); + bool FCMLE_3(bool Q, Vec Vn, Vec Vd); + bool FCVTPU_3(bool Q, Vec Vn, Vec Vd); + bool FCVTZU_int_3(bool Q, Vec Vn, Vec Vd); + bool FRSQRTE_3(bool Q, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Scalar two register misc + bool FCVTNS_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTMS_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTAS_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool SCVTF_int_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCMGT_zero_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCMEQ_zero_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCMLT_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTPS_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTZS_int_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRECPE_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTNU_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTMU_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTAU_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool UCVTF_int_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCMGE_zero_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCMLE_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTPU_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTZU_int_4(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRSQRTE_4(bool Q, bool sz, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Scalar three same extra + bool SQRDMLAH_vec_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQRDMLAH_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQRDMLSH_vec_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQRDMLSH_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Scalar two-register misc + bool SUQADD_1(Imm<2> size, Vec Vn, Vec Vd); + bool SQABS_1(Imm<2> size, Vec Vn, Vec Vd); + bool CMGT_zero_1(Imm<2> size, Vec Vn, Vec Vd); + bool CMEQ_zero_1(Imm<2> size, Vec Vn, Vec Vd); + bool CMLT_1(Imm<2> size, Vec Vn, Vec Vd); + bool ABS_1(Imm<2> size, Vec Vn, Vec Vd); + bool SQXTN_1(Imm<2> size, Vec Vn, Vec Vd); + bool USQADD_1(Imm<2> size, Vec Vn, Vec Vd); + bool SQNEG_1(Imm<2> size, Vec Vn, Vec Vd); + bool CMGE_zero_1(Imm<2> size, Vec Vn, Vec Vd); + bool CMLE_1(Imm<2> size, Vec Vn, Vec Vd); + bool NEG_1(Imm<2> size, Vec Vn, Vec Vd); + bool SQXTUN_1(Imm<2> size, Vec Vn, Vec Vd); + bool UQXTN_1(Imm<2> size, Vec Vn, Vec Vd); + bool FCVTXN_1(bool sz, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Scalar pairwise + bool ADDP_pair(Imm<2> size, Vec Vn, Vec Vd); + bool FMAXNMP_pair_1(Vec Vn, Vec Vd); + bool FMAXNMP_pair_2(bool sz, Vec Vn, Vec Vd); + bool FADDP_pair_1(Vec Vn, Vec Vd); + bool FADDP_pair_2(bool sz, Vec Vn, Vec Vd); + bool FMAXP_pair_1(Vec Vn, Vec Vd); + bool FMAXP_pair_2(bool sz, Vec Vn, Vec Vd); + bool FMINNMP_pair_1(Vec Vn, Vec Vd); + bool FMINNMP_pair_2(bool sz, Vec Vn, Vec Vd); + bool FMINP_pair_1(Vec Vn, Vec Vd); + bool FMINP_pair_2(bool sz, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Scalar three different + bool SQDMLAL_vec_1(Imm<2> size, Reg Rm, Reg Rn, Vec Vd); + bool SQDMLSL_vec_1(Imm<2> size, Reg Rm, Reg Rn, Vec Vd); + bool SQDMULL_vec_1(Imm<2> size, Reg Rm, Reg Rn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Scalar three same + bool SQADD_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQSUB_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMGT_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMGE_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SSHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQSHL_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SRSHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQRSHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool ADD_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMTST_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQDMULH_vec_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UQADD_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UQSUB_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMHI_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMHS_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool USHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UQSHL_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool URSHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UQRSHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SUB_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMEQ_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQRDMULH_vec_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Scalar shift by immediate + bool SSHR_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SSRA_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SRSHR_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SRSRA_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SHL_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQSHL_imm_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQSHRN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQRSHRN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SCVTF_fix_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool FCVTZS_fix_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool USHR_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool USRA_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool URSHR_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool URSRA_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SRI_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SLI_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQSHLU_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool UQSHL_imm_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQSHRUN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQRSHRUN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool UQSHRN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool UQRSHRN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool UCVTF_fix_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool FCVTZU_fix_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Scalar x indexed element + bool SQDMLAL_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQDMLSL_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQDMULL_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQDMULH_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQRDMULH_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLA_elt_1(Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLA_elt_2(bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLS_elt_1(Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLS_elt_2(bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMUL_elt_1(Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMUL_elt_2(bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQRDMLAH_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQRDMLSH_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMULX_elt_1(Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMULX_elt_2(bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Table Lookup + bool TBL(bool Q, Vec Vm, Imm<2> len, size_t Vn, Vec Vd); + bool TBX(bool Q, Vec Vm, Imm<2> len, size_t Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Permute + bool UZP1(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool TRN1(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool ZIP1(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UZP2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool TRN2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool ZIP2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Extract + bool EXT(bool Q, Vec Vm, Imm<4> imm4, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Copy + bool DUP_elt_2(bool Q, Imm<5> imm5, Vec Vn, Vec Vd); + bool DUP_gen(bool Q, Imm<5> imm5, Reg Rn, Vec Vd); + bool SMOV(bool Q, Imm<5> imm5, Vec Vn, Reg Rd); + bool UMOV(bool Q, Imm<5> imm5, Vec Vn, Reg Rd); + bool INS_gen(Imm<5> imm5, Reg Rn, Vec Vd); + bool INS_elt(Imm<5> imm5, Imm<4> imm4, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Three same + bool FMULX_vec_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FCMEQ_reg_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FRECPS_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FRSQRTS_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FCMGE_reg_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FACGE_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FABD_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FCMGT_reg_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FACGT_3(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMAXNM_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMLA_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FADD_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMAX_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMINNM_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMLS_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FSUB_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMIN_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMAXNMP_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FADDP_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMUL_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMAXP_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FDIV_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMINNMP_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMINP_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Three same extra + bool SDOT_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UDOT_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool FCMLA_vec(bool Q, Imm<2> size, Vec Vm, Imm<2> rot, Vec Vn, Vec Vd); + bool FCADD_vec(bool Q, Imm<2> size, Vec Vm, Imm<1> rot, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Two register misc + bool REV64_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool REV16_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SADDLP(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool CLS_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool CNT(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SADALP(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool XTN(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool FCVTN(bool Q, bool sz, Vec Vn, Vec Vd); + bool FCVTL(bool Q, bool sz, Vec Vn, Vec Vd); + bool URECPE(bool Q, bool sz, Vec Vn, Vec Vd); + bool REV32_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool UADDLP(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool CLZ_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool UADALP(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SHLL(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool NOT(bool Q, Vec Vn, Vec Vd); + bool RBIT_asimd(bool Q, Vec Vn, Vec Vd); + bool URSQRTE(bool Q, bool sz, Vec Vn, Vec Vd); + bool SUQADD_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SQABS_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool CMGT_zero_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool CMEQ_zero_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool CMLT_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool ABS_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SQXTN_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool USQADD_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SQNEG_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool CMGE_zero_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool CMLE_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool NEG_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SQXTUN_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool UQXTN_2(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool FCVTXN_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINTN_1(bool Q, Vec Vn, Vec Vd); + bool FRINTN_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINTM_1(bool Q, Vec Vn, Vec Vd); + bool FRINTM_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FABS_1(bool Q, Vec Vn, Vec Vd); + bool FABS_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINTP_1(bool Q, Vec Vn, Vec Vd); + bool FRINTP_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINTZ_1(bool Q, Vec Vn, Vec Vd); + bool FRINTZ_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINTA_1(bool Q, Vec Vn, Vec Vd); + bool FRINTA_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINTX_1(bool Q, Vec Vn, Vec Vd); + bool FRINTX_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FNEG_1(bool Q, Vec Vn, Vec Vd); + bool FNEG_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINTI_1(bool Q, Vec Vn, Vec Vd); + bool FRINTI_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FSQRT_1(bool Q, Vec Vn, Vec Vd); + bool FSQRT_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINT32X_1(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINT64X_1(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINT32Z_1(bool Q, bool sz, Vec Vn, Vec Vd); + bool FRINT64Z_1(bool Q, bool sz, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD across lanes + bool SADDLV(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SMAXV(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool SMINV(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool ADDV(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool FMAXNMV_1(bool Q, Vec Vn, Vec Vd); + bool FMAXNMV_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FMAXV_1(bool Q, Vec Vn, Vec Vd); + bool FMAXV_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FMINNMV_1(bool Q, Vec Vn, Vec Vd); + bool FMINNMV_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool FMINV_1(bool Q, Vec Vn, Vec Vd); + bool FMINV_2(bool Q, bool sz, Vec Vn, Vec Vd); + bool UADDLV(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool UMAXV(bool Q, Imm<2> size, Vec Vn, Vec Vd); + bool UMINV(bool Q, Imm<2> size, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD three different + bool SADDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SADDW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SSUBL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SSUBW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool ADDHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SABAL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SUBHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SABDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SMLAL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SMLSL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SMULL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool PMULL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UADDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UADDW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool USUBL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool USUBW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool RADDHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UABAL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool RSUBHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UABDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UMLAL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UMLSL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UMULL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQDMLAL_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQDMLSL_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQDMULL_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD three same + bool SHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SRHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SHSUB(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SMAX(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SMIN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SABD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SABA(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool MLA_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool MUL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SMAXP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SMINP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool ADDP_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool FMLAL_vec_1(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMLAL_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool AND_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool BIC_asimd_reg(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMLSL_vec_1(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMLSL_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool ORR_asimd_reg(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool ORN_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool UHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool URHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UHSUB(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UMAX(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UMIN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UABD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UABA(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool MLS_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool PMUL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UMAXP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UMINP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool EOR_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool BSL(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool BIT(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool BIF(bool Q, Vec Vm, Vec Vn, Vec Vd); + bool FMAXNM_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMLA_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FADD_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMAX_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMINNM_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMLS_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FSUB_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMIN_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMAXNMP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FADDP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMUL_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMAXP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FDIV_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMINNMP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMINP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FMULX_vec_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FCMEQ_reg_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FRECPS_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FRSQRTS_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FCMGE_reg_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FACGE_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FABD_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FCMGT_reg_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool FACGT_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd); + bool SQADD_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQSUB_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMGT_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMGE_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SSHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQSHL_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SRSHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQRSHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool ADD_vector(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMTST_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQDMULH_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UQADD_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UQSUB_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMHI_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMHS_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool USHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UQSHL_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool URSHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool UQRSHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SUB_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool CMEQ_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + bool SQRDMULH_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD modified immediate + bool MOVI(bool Q, bool op, Imm<1> a, Imm<1> b, Imm<1> c, Imm<4> cmode, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd); + bool FMOV_2(bool Q, bool op, Imm<1> a, Imm<1> b, Imm<1> c, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd); + bool FMOV_3(bool Q, Imm<1> a, Imm<1> b, Imm<1> c, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd); + + // Data Processing - FP and SIMD - SIMD Shift by immediate + bool SSHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SSRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SRSHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SRSRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SHL_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQSHL_imm_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SHRN(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool RSHRN(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQRSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SSHLL(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SCVTF_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool FCVTZS_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool USHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool USRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool URSHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool URSRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SRI_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SLI_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQSHLU_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool UQSHL_imm_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQSHRUN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool SQRSHRUN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool UQSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool UQRSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool USHLL(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool UCVTF_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + bool FCVTZU_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SIMD vector x indexed element + bool SMLAL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQDMLAL_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SMLSL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQDMLSL_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool MUL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SMULL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vm, Imm<1> H, Vec Vn, Vec Vd); + bool SQDMULL_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQDMULH_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQRDMULH_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SDOT_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLA_elt_3(bool Q, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLA_elt_4(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLS_elt_3(bool Q, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLS_elt_4(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMUL_elt_3(bool Q, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMUL_elt_4(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLAL_elt_1(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLAL_elt_2(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLSL_elt_1(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMLSL_elt_2(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool MLA_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool UMLAL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool MLS_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool UMLSL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool UMULL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQRDMLAH_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool UDOT_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool SQRDMLSH_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMULX_elt_3(bool Q, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FMULX_elt_4(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd); + bool FCMLA_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<2> rot, Imm<1> H, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Cryptographic three register + bool SM3TT1A(Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd); + bool SM3TT1B(Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd); + bool SM3TT2A(Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd); + bool SM3TT2B(Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SHA512 three register + bool SHA512H(Vec Vm, Vec Vn, Vec Vd); + bool SHA512H2(Vec Vm, Vec Vn, Vec Vd); + bool SHA512SU1(Vec Vm, Vec Vn, Vec Vd); + bool RAX1(Vec Vm, Vec Vn, Vec Vd); + bool XAR(Vec Vm, Imm<6> imm6, Vec Vn, Vec Vd); + bool SM3PARTW1(Vec Vm, Vec Vn, Vec Vd); + bool SM3PARTW2(Vec Vm, Vec Vn, Vec Vd); + bool SM4EKEY(Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Cryptographic four register + bool EOR3(Vec Vm, Vec Va, Vec Vn, Vec Vd); + bool BCAX(Vec Vm, Vec Va, Vec Vn, Vec Vd); + bool SM3SS1(Vec Vm, Vec Va, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - SHA512 two register + bool SHA512SU0(Vec Vn, Vec Vd); + bool SM4E(Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Conversion between floating point and fixed point + bool SCVTF_float_fix(bool sf, Imm<2> type, Imm<6> scale, Reg Rn, Vec Vd); + bool UCVTF_float_fix(bool sf, Imm<2> type, Imm<6> scale, Reg Rn, Vec Vd); + bool FCVTZS_float_fix(bool sf, Imm<2> type, Imm<6> scale, Vec Vn, Reg Rd); + bool FCVTZU_float_fix(bool sf, Imm<2> type, Imm<6> scale, Vec Vn, Reg Rd); + + // Data Processing - FP and SIMD - Conversion between floating point and integer + bool FCVTNS_float(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FCVTNU_float(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool SCVTF_float_int(bool sf, Imm<2> type, Reg Rn, Vec Vd); + bool UCVTF_float_int(bool sf, Imm<2> type, Reg Rn, Vec Vd); + bool FCVTAS_float(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FCVTAU_float(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FMOV_float_gen(bool sf, Imm<2> type, Imm<1> rmode_0, Imm<1> opc_0, size_t n, size_t d); + bool FCVTPS_float(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FCVTPU_float(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FCVTMS_float(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FCVTMU_float(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FCVTZS_float_int(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FCVTZU_float_int(bool sf, Imm<2> type, Vec Vn, Reg Rd); + bool FJCVTZS(Vec Vn, Reg Rd); + + // Data Processing - FP and SIMD - Floating point data processing + bool FMOV_float(Imm<2> type, Vec Vn, Vec Vd); + bool FABS_float(Imm<2> type, Vec Vn, Vec Vd); + bool FNEG_float(Imm<2> type, Vec Vn, Vec Vd); + bool FSQRT_float(Imm<2> type, Vec Vn, Vec Vd); + bool FCVT_float(Imm<2> type, Imm<2> opc, Vec Vn, Vec Vd); + bool FRINTN_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINTP_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINTM_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINTZ_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINTA_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINTX_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINTI_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINT32X_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINT64X_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINT32Z_float(Imm<2> type, Vec Vn, Vec Vd); + bool FRINT64Z_float(Imm<2> type, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Floating point compare + bool FCMP_float(Imm<2> type, Vec Vm, Vec Vn, bool cmp_with_zero); + bool FCMPE_float(Imm<2> type, Vec Vm, Vec Vn, bool cmp_with_zero); + + // Data Processing - FP and SIMD - Floating point immediate + bool FMOV_float_imm(Imm<2> type, Imm<8> imm8, Vec Vd); + + // Data Processing - FP and SIMD - Floating point conditional compare + bool FCCMP_float(Imm<2> type, Vec Vm, Cond cond, Vec Vn, Imm<4> nzcv); + bool FCCMPE_float(Imm<2> type, Vec Vm, Cond cond, Vec Vn, Imm<4> nzcv); + + // Data Processing - FP and SIMD - Floating point data processing two register + bool FMUL_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + bool FDIV_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + bool FADD_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + bool FSUB_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + bool FMAX_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + bool FMIN_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + bool FMAXNM_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + bool FMINNM_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + bool FNMUL_float(Imm<2> type, Vec Vm, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Floating point conditional select + bool FCSEL_float(Imm<2> type, Vec Vm, Cond cond, Vec Vn, Vec Vd); + + // Data Processing - FP and SIMD - Floating point data processing three register + bool FMADD_float(Imm<2> type, Vec Vm, Vec Va, Vec Vn, Vec Vd); + bool FMSUB_float(Imm<2> type, Vec Vm, Vec Va, Vec Vn, Vec Vd); + bool FNMADD_float(Imm<2> type, Vec Vm, Vec Va, Vec Vn, Vec Vd); + bool FNMSUB_float(Imm<2> type, Vec Vm, Vec Va, Vec Vn, Vec Vd); +}; + +inline std::optional FPGetDataSize(Imm<2> type) { + switch (type.ZeroExtend()) { + case 0b00: + return 32; + case 0b01: + return 64; + case 0b11: + return 16; + } + return std::nullopt; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_exclusive.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_exclusive.cpp new file mode 100755 index 000000000..0e67e11b4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_exclusive.cpp @@ -0,0 +1,209 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +static bool ExclusiveSharedDecodeAndOperation(TranslatorVisitor& v, bool pair, size_t size, bool L, bool o0, std::optional Rs, std::optional Rt2, Reg Rn, Reg Rt) { + // Shared Decode + + const auto acctype = o0 ? IR::AccType::ORDERED : IR::AccType::ATOMIC; + const auto memop = L ? IR::MemOp::LOAD : IR::MemOp::STORE; + const size_t elsize = 8 << size; + const size_t regsize = elsize == 64 ? 64 : 32; + const size_t datasize = pair ? elsize * 2 : elsize; + + // Operation + + const size_t dbytes = datasize / 8; + + if (memop == IR::MemOp::LOAD && pair && Rt == *Rt2) { + return v.UnpredictableInstruction(); + } else if (memop == IR::MemOp::STORE && (*Rs == Rt || (pair && *Rs == *Rt2))) { + if (!v.options.define_unpredictable_behaviour) { + return v.UnpredictableInstruction(); + } + // UNPREDICTABLE: The Constraint_NONE case is executed. + } else if (memop == IR::MemOp::STORE && *Rs == Rn && Rn != Reg::R31) { + return v.UnpredictableInstruction(); + } + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP Alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + + switch (memop) { + case IR::MemOp::STORE: { + IR::UAnyU128 data; + if (pair && elsize == 64) { + data = v.ir.Pack2x64To1x128(v.X(64, Rt), v.X(64, *Rt2)); + } else if (pair && elsize == 32) { + data = v.ir.Pack2x32To1x64(v.X(32, Rt), v.X(32, *Rt2)); + } else { + data = v.X(elsize, Rt); + } + const IR::U32 status = v.ExclusiveMem(address, dbytes, acctype, data); + v.X(32, *Rs, status); + break; + } + case IR::MemOp::LOAD: { + const IR::UAnyU128 data = v.ExclusiveMem(address, dbytes, acctype); + if (pair && elsize == 64) { + v.X(64, Rt, v.ir.VectorGetElement(64, data, 0)); + v.X(64, *Rt2, v.ir.VectorGetElement(64, data, 1)); + } else if (pair && elsize == 32) { + v.X(32, Rt, v.ir.LeastSignificantWord(data)); + v.X(32, *Rt2, v.ir.MostSignificantWord(data).result); + } else { + v.X(regsize, Rt, v.ZeroExtend(data, regsize)); + } + break; + } + default: + UNREACHABLE(); + } + + return true; +} + +bool TranslatorVisitor::STXR(Imm<2> sz, Reg Rs, Reg Rn, Reg Rt) { + const bool pair = false; + const size_t size = sz.ZeroExtend(); + const bool L = 0; + const bool o0 = 0; + return ExclusiveSharedDecodeAndOperation(*this, pair, size, L, o0, Rs, {}, Rn, Rt); +} + +bool TranslatorVisitor::STLXR(Imm<2> sz, Reg Rs, Reg Rn, Reg Rt) { + const bool pair = false; + const size_t size = sz.ZeroExtend(); + const bool L = 0; + const bool o0 = 1; + return ExclusiveSharedDecodeAndOperation(*this, pair, size, L, o0, Rs, {}, Rn, Rt); +} + +bool TranslatorVisitor::STXP(Imm<1> sz, Reg Rs, Reg Rt2, Reg Rn, Reg Rt) { + const bool pair = true; + const size_t size = concatenate(Imm<1>{1}, sz).ZeroExtend(); + const bool L = 0; + const bool o0 = 0; + return ExclusiveSharedDecodeAndOperation(*this, pair, size, L, o0, Rs, Rt2, Rn, Rt); +} + +bool TranslatorVisitor::STLXP(Imm<1> sz, Reg Rs, Reg Rt2, Reg Rn, Reg Rt) { + const bool pair = true; + const size_t size = concatenate(Imm<1>{1}, sz).ZeroExtend(); + const bool L = 0; + const bool o0 = 1; + return ExclusiveSharedDecodeAndOperation(*this, pair, size, L, o0, Rs, Rt2, Rn, Rt); +} + +bool TranslatorVisitor::LDXR(Imm<2> sz, Reg Rn, Reg Rt) { + const bool pair = false; + const size_t size = sz.ZeroExtend(); + const bool L = 1; + const bool o0 = 0; + return ExclusiveSharedDecodeAndOperation(*this, pair, size, L, o0, {}, {}, Rn, Rt); +} + +bool TranslatorVisitor::LDAXR(Imm<2> sz, Reg Rn, Reg Rt) { + const bool pair = false; + const size_t size = sz.ZeroExtend(); + const bool L = 1; + const bool o0 = 1; + return ExclusiveSharedDecodeAndOperation(*this, pair, size, L, o0, {}, {}, Rn, Rt); +} + +bool TranslatorVisitor::LDXP(Imm<1> sz, Reg Rt2, Reg Rn, Reg Rt) { + const bool pair = true; + const size_t size = concatenate(Imm<1>{1}, sz).ZeroExtend(); + const bool L = 1; + const bool o0 = 0; + return ExclusiveSharedDecodeAndOperation(*this, pair, size, L, o0, {}, Rt2, Rn, Rt); +} + +bool TranslatorVisitor::LDAXP(Imm<1> sz, Reg Rt2, Reg Rn, Reg Rt) { + const bool pair = true; + const size_t size = concatenate(Imm<1>{1}, sz).ZeroExtend(); + const bool L = 1; + const bool o0 = 1; + return ExclusiveSharedDecodeAndOperation(*this, pair, size, L, o0, {}, Rt2, Rn, Rt); +} + +static bool OrderedSharedDecodeAndOperation(TranslatorVisitor& v, size_t size, bool L, bool o0, Reg Rn, Reg Rt) { + // Shared Decode + + const auto acctype = !o0 ? IR::AccType::LIMITEDORDERED : IR::AccType::ORDERED; + const auto memop = L ? IR::MemOp::LOAD : IR::MemOp::STORE; + const size_t elsize = 8 << size; + const size_t regsize = elsize == 64 ? 64 : 32; + const size_t datasize = elsize; + + // Operation + + const size_t dbytes = datasize / 8; + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP Alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + + switch (memop) { + case IR::MemOp::STORE: { + const IR::UAny data = v.X(datasize, Rt); + v.Mem(address, dbytes, acctype, data); + break; + } + case IR::MemOp::LOAD: { + const IR::UAny data = v.Mem(address, dbytes, acctype); + v.X(regsize, Rt, v.ZeroExtend(data, regsize)); + break; + } + default: + UNREACHABLE(); + } + + return true; +} + +bool TranslatorVisitor::STLLR(Imm<2> sz, Reg Rn, Reg Rt) { + const size_t size = sz.ZeroExtend(); + const bool L = 0; + const bool o0 = 0; + return OrderedSharedDecodeAndOperation(*this, size, L, o0, Rn, Rt); +} + +bool TranslatorVisitor::STLR(Imm<2> sz, Reg Rn, Reg Rt) { + const size_t size = sz.ZeroExtend(); + const bool L = 0; + const bool o0 = 1; + return OrderedSharedDecodeAndOperation(*this, size, L, o0, Rn, Rt); +} + +bool TranslatorVisitor::LDLAR(Imm<2> sz, Reg Rn, Reg Rt) { + const size_t size = sz.ZeroExtend(); + const bool L = 1; + const bool o0 = 0; + return OrderedSharedDecodeAndOperation(*this, size, L, o0, Rn, Rt); +} + +bool TranslatorVisitor::LDAR(Imm<2> sz, Reg Rn, Reg Rt) { + const size_t size = sz.ZeroExtend(); + const bool L = 1; + const bool o0 = 1; + return OrderedSharedDecodeAndOperation(*this, size, L, o0, Rn, Rt); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_load_literal.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_load_literal.cpp new file mode 100755 index 000000000..995aba425 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_load_literal.cpp @@ -0,0 +1,55 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::LDR_lit_gen(bool opc_0, Imm<19> imm19, Reg Rt) { + const size_t size = opc_0 == 0 ? 4 : 8; + const s64 offset = concatenate(imm19, Imm<2>{0}).SignExtend(); + + const u64 address = ir.PC() + offset; + const auto data = Mem(ir.Imm64(address), size, IR::AccType::NORMAL); + + X(8 * size, Rt, data); + return true; +} + +bool TranslatorVisitor::LDR_lit_fpsimd(Imm<2> opc, Imm<19> imm19, Vec Vt) { + if (opc == 0b11) { + return UnallocatedEncoding(); + } + + const u64 size = 4 << opc.ZeroExtend(); + const u64 offset = imm19.SignExtend() << 2; + const IR::U64 address = ir.Imm64(ir.PC() + offset); + const IR::UAnyU128 data = Mem(address, size, IR::AccType::VEC); + + if (size == 16) { + V(128, Vt, data); + } else { + V(128, Vt, ir.ZeroExtendToQuad(data)); + } + return true; +} + +bool TranslatorVisitor::LDRSW_lit(Imm<19> imm19, Reg Rt) { + const s64 offset = concatenate(imm19, Imm<2>{0}).SignExtend(); + const u64 address = ir.PC() + offset; + const auto data = Mem(ir.Imm64(address), 4, IR::AccType::NORMAL); + + X(64, Rt, ir.SignExtendWordToLong(data)); + return true; +} + +bool TranslatorVisitor::PRFM_lit(Imm<19> /*imm19*/, Imm<5> /*prfop*/) { + // s64 offset = concatenate(imm19, Imm<2>{0}).SignExtend(); + // u64 address = ir.PC() + offset; + // Prefetch(address, prfop); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_multiple_structures.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_multiple_structures.cpp new file mode 100755 index 000000000..77c57a965 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_multiple_structures.cpp @@ -0,0 +1,134 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +static bool SharedDecodeAndOperation(TranslatorVisitor& v, bool wback, IR::MemOp memop, bool Q, std::optional Rm, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt) { + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + const size_t elements = datasize / esize; + const size_t ebytes = esize / 8; + + size_t rpt, selem; + switch (opcode.ZeroExtend()) { + case 0b0000: + rpt = 1; + selem = 4; + break; + case 0b0010: + rpt = 4; + selem = 1; + break; + case 0b0100: + rpt = 1; + selem = 3; + break; + case 0b0110: + rpt = 3; + selem = 1; + break; + case 0b0111: + rpt = 1; + selem = 1; + break; + case 0b1000: + rpt = 1; + selem = 2; + break; + case 0b1010: + rpt = 2; + selem = 1; + break; + default: + return v.UnallocatedEncoding(); + } + ASSERT(rpt == 1 || selem == 1); + + if ((size == 0b11 && !Q) && selem != 1) { + return v.ReservedValue(); + } + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP Alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + + IR::U64 offs = v.ir.Imm64(0); + if (selem == 1) { + for (size_t r = 0; r < rpt; r++) { + const Vec tt = static_cast((VecNumber(Vt) + r) % 32); + if (memop == IR::MemOp::LOAD) { + const IR::UAnyU128 vec = v.Mem(v.ir.Add(address, offs), ebytes * elements, IR::AccType::VEC); + v.V_scalar(datasize, tt, vec); + } else { + const IR::UAnyU128 vec = v.V_scalar(datasize, tt); + v.Mem(v.ir.Add(address, offs), ebytes * elements, IR::AccType::VEC, vec); + } + offs = v.ir.Add(offs, v.ir.Imm64(ebytes * elements)); + } + } else { + for (size_t e = 0; e < elements; e++) { + for (size_t s = 0; s < selem; s++) { + const Vec tt = static_cast((VecNumber(Vt) + s) % 32); + if (memop == IR::MemOp::LOAD) { + const IR::UAny elem = v.Mem(v.ir.Add(address, offs), ebytes, IR::AccType::VEC); + const IR::U128 vec = v.ir.VectorSetElement(esize, v.V(datasize, tt), e, elem); + v.V(datasize, tt, vec); + } else { + const IR::UAny elem = v.ir.VectorGetElement(esize, v.V(datasize, tt), e); + v.Mem(v.ir.Add(address, offs), ebytes, IR::AccType::VEC, elem); + } + offs = v.ir.Add(offs, v.ir.Imm64(ebytes)); + } + } + } + + if (wback) { + if (*Rm != Reg::SP) { + offs = v.X(64, *Rm); + } + + if (Rn == Reg::SP) { + v.SP(64, v.ir.Add(address, offs)); + } else { + v.X(64, Rn, v.ir.Add(address, offs)); + } + } + + return true; +} + +bool TranslatorVisitor::STx_mult_1(bool Q, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt) { + const bool wback = false; + const auto memop = IR::MemOp::STORE; + return SharedDecodeAndOperation(*this, wback, memop, Q, {}, opcode, size, Rn, Vt); +} + +bool TranslatorVisitor::STx_mult_2(bool Q, Reg Rm, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt) { + const bool wback = true; + const auto memop = IR::MemOp::STORE; + return SharedDecodeAndOperation(*this, wback, memop, Q, Rm, opcode, size, Rn, Vt); +} + +bool TranslatorVisitor::LDx_mult_1(bool Q, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt) { + const bool wback = false; + const auto memop = IR::MemOp::LOAD; + return SharedDecodeAndOperation(*this, wback, memop, Q, {}, opcode, size, Rn, Vt); +} + +bool TranslatorVisitor::LDx_mult_2(bool Q, Reg Rm, Imm<4> opcode, Imm<2> size, Reg Rn, Vec Vt) { + const bool wback = true; + const auto memop = IR::MemOp::LOAD; + return SharedDecodeAndOperation(*this, wback, memop, Q, Rm, opcode, size, Rn, Vt); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_no_allocate_pair.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_no_allocate_pair.cpp new file mode 100755 index 000000000..c85cc5524 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_no_allocate_pair.cpp @@ -0,0 +1,22 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +// Given the LDNP and STNP instructions are simply hinting at non-temporal +// accesses, we can treat them as regular LDP and STP instructions for the +// time being since we don't perform data caching. + +bool TranslatorVisitor::STNP_LDNP_gen(Imm<1> upper_opc, Imm<1> L, Imm<7> imm7, Reg Rt2, Reg Rn, Reg Rt) { + return STP_LDP_gen(Imm<2>{upper_opc.ZeroExtend() << 1}, true, false, L, imm7, Rt2, Rn, Rt); +} + +bool TranslatorVisitor::STNP_LDNP_fpsimd(Imm<2> opc, Imm<1> L, Imm<7> imm7, Vec Vt2, Reg Rn, Vec Vt) { + return STP_LDP_fpsimd(opc, true, false, L, imm7, Vt2, Rn, Vt); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_immediate.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_immediate.cpp new file mode 100755 index 000000000..d939c45f2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_immediate.cpp @@ -0,0 +1,249 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +static bool LoadStoreRegisterImmediate(TranslatorVisitor& v, bool wback, bool postindex, size_t scale, u64 offset, Imm<2> size, Imm<2> opc, Reg Rn, Reg Rt) { + IR::MemOp memop; + bool signed_ = false; + size_t regsize = 0; + + if (opc.Bit<1>() == 0) { + memop = opc.Bit<0>() ? IR::MemOp::LOAD : IR::MemOp::STORE; + regsize = size == 0b11 ? 64 : 32; + signed_ = false; + } else if (size == 0b11) { + memop = IR::MemOp::PREFETCH; + ASSERT(!opc.Bit<0>()); + } else { + memop = IR::MemOp::LOAD; + ASSERT(!(size == 0b10 && opc.Bit<0>() == 1)); + regsize = opc.Bit<0>() ? 32 : 64; + signed_ = true; + } + + if (memop == IR::MemOp::LOAD && wback && Rn == Rt && Rn != Reg::R31) { + return v.UnpredictableInstruction(); + } + if (memop == IR::MemOp::STORE && wback && Rn == Rt && Rn != Reg::R31) { + return v.UnpredictableInstruction(); + } + + // TODO: Check SP alignment + IR::U64 address = Rn == Reg::SP ? IR::U64(v.SP(64)) : IR::U64(v.X(64, Rn)); + if (!postindex) { + address = v.ir.Add(address, v.ir.Imm64(offset)); + } + + const size_t datasize = 8 << scale; + switch (memop) { + case IR::MemOp::STORE: { + const auto data = v.X(datasize, Rt); + v.Mem(address, datasize / 8, IR::AccType::NORMAL, data); + break; + } + case IR::MemOp::LOAD: { + const auto data = v.Mem(address, datasize / 8, IR::AccType::NORMAL); + if (signed_) { + v.X(regsize, Rt, v.SignExtend(data, regsize)); + } else { + v.X(regsize, Rt, v.ZeroExtend(data, regsize)); + } + break; + } + case IR::MemOp::PREFETCH: + // Prefetch(address, Rt) + break; + } + + if (wback) { + if (postindex) { + address = v.ir.Add(address, v.ir.Imm64(offset)); + } + + if (Rn == Reg::SP) { + v.SP(64, address); + } else { + v.X(64, Rn, address); + } + } + + return true; +} + +bool TranslatorVisitor::STRx_LDRx_imm_1(Imm<2> size, Imm<2> opc, Imm<9> imm9, bool not_postindex, Reg Rn, Reg Rt) { + const bool wback = true; + const bool postindex = !not_postindex; + const size_t scale = size.ZeroExtend(); + const u64 offset = imm9.SignExtend(); + + return LoadStoreRegisterImmediate(*this, wback, postindex, scale, offset, size, opc, Rn, Rt); +} + +bool TranslatorVisitor::STRx_LDRx_imm_2(Imm<2> size, Imm<2> opc, Imm<12> imm12, Reg Rn, Reg Rt) { + const bool wback = false; + const bool postindex = false; + const size_t scale = size.ZeroExtend(); + const u64 offset = imm12.ZeroExtend() << scale; + + return LoadStoreRegisterImmediate(*this, wback, postindex, scale, offset, size, opc, Rn, Rt); +} + +bool TranslatorVisitor::STURx_LDURx(Imm<2> size, Imm<2> opc, Imm<9> imm9, Reg Rn, Reg Rt) { + const bool wback = false; + const bool postindex = false; + const size_t scale = size.ZeroExtend(); + const u64 offset = imm9.SignExtend(); + + return LoadStoreRegisterImmediate(*this, wback, postindex, scale, offset, size, opc, Rn, Rt); +} + +bool TranslatorVisitor::PRFM_imm([[maybe_unused]] Imm<12> imm12, [[maybe_unused]] Reg Rn, [[maybe_unused]] Reg Rt) { + // Currently a NOP (which is valid behavior, as indicated by + // the ARMv8 architecture reference manual) + return true; +} + +bool TranslatorVisitor::PRFM_unscaled_imm([[maybe_unused]] Imm<9> imm9, [[maybe_unused]] Reg Rn, [[maybe_unused]] Reg Rt) { + // Currently a NOP (which is valid behavior, as indicated by + // the ARMv8 architecture reference manual) + return true; +} + +static bool LoadStoreSIMD(TranslatorVisitor& v, bool wback, bool postindex, size_t scale, u64 offset, IR::MemOp memop, Reg Rn, Vec Vt) { + const auto acctype = IR::AccType::VEC; + const size_t datasize = 8 << scale; + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP Alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + + if (!postindex) { + address = v.ir.Add(address, v.ir.Imm64(offset)); + } + + switch (memop) { + case IR::MemOp::STORE: + if (datasize == 128) { + const IR::U128 data = v.V(128, Vt); + v.Mem(address, 16, acctype, data); + } else { + const IR::UAny data = v.ir.VectorGetElement(datasize, v.V(128, Vt), 0); + v.Mem(address, datasize / 8, acctype, data); + } + break; + case IR::MemOp::LOAD: + if (datasize == 128) { + const IR::U128 data = v.Mem(address, 16, acctype); + v.V(128, Vt, data); + } else { + const IR::UAny data = v.Mem(address, datasize / 8, acctype); + v.V(128, Vt, v.ir.ZeroExtendToQuad(data)); + } + break; + default: + UNREACHABLE(); + } + + if (wback) { + if (postindex) { + address = v.ir.Add(address, v.ir.Imm64(offset)); + } + + if (Rn == Reg::SP) { + v.SP(64, address); + } else { + v.X(64, Rn, address); + } + } + + return true; +} + +bool TranslatorVisitor::STR_imm_fpsimd_1(Imm<2> size, Imm<1> opc_1, Imm<9> imm9, bool not_postindex, Reg Rn, Vec Vt) { + const size_t scale = concatenate(opc_1, size).ZeroExtend(); + if (scale > 4) { + return UnallocatedEncoding(); + } + + const bool wback = true; + const bool postindex = !not_postindex; + const u64 offset = imm9.SignExtend(); + + return LoadStoreSIMD(*this, wback, postindex, scale, offset, IR::MemOp::STORE, Rn, Vt); +} + +bool TranslatorVisitor::STR_imm_fpsimd_2(Imm<2> size, Imm<1> opc_1, Imm<12> imm12, Reg Rn, Vec Vt) { + const size_t scale = concatenate(opc_1, size).ZeroExtend(); + if (scale > 4) { + return UnallocatedEncoding(); + } + + const bool wback = false; + const bool postindex = false; + const u64 offset = imm12.ZeroExtend() << scale; + + return LoadStoreSIMD(*this, wback, postindex, scale, offset, IR::MemOp::STORE, Rn, Vt); +} + +bool TranslatorVisitor::LDR_imm_fpsimd_1(Imm<2> size, Imm<1> opc_1, Imm<9> imm9, bool not_postindex, Reg Rn, Vec Vt) { + const size_t scale = concatenate(opc_1, size).ZeroExtend(); + if (scale > 4) { + return UnallocatedEncoding(); + } + + const bool wback = true; + const bool postindex = !not_postindex; + const u64 offset = imm9.SignExtend(); + + return LoadStoreSIMD(*this, wback, postindex, scale, offset, IR::MemOp::LOAD, Rn, Vt); +} + +bool TranslatorVisitor::LDR_imm_fpsimd_2(Imm<2> size, Imm<1> opc_1, Imm<12> imm12, Reg Rn, Vec Vt) { + const size_t scale = concatenate(opc_1, size).ZeroExtend(); + if (scale > 4) { + return UnallocatedEncoding(); + } + + const bool wback = false; + const bool postindex = false; + const u64 offset = imm12.ZeroExtend() << scale; + + return LoadStoreSIMD(*this, wback, postindex, scale, offset, IR::MemOp::LOAD, Rn, Vt); +} + +bool TranslatorVisitor::STUR_fpsimd(Imm<2> size, Imm<1> opc_1, Imm<9> imm9, Reg Rn, Vec Vt) { + const size_t scale = concatenate(opc_1, size).ZeroExtend(); + if (scale > 4) { + return UnallocatedEncoding(); + } + + const bool wback = false; + const bool postindex = false; + const u64 offset = imm9.SignExtend(); + + return LoadStoreSIMD(*this, wback, postindex, scale, offset, IR::MemOp::STORE, Rn, Vt); +} + +bool TranslatorVisitor::LDUR_fpsimd(Imm<2> size, Imm<1> opc_1, Imm<9> imm9, Reg Rn, Vec Vt) { + const size_t scale = concatenate(opc_1, size).ZeroExtend(); + if (scale > 4) { + return UnallocatedEncoding(); + } + + const bool wback = false; + const bool postindex = false; + const u64 offset = imm9.SignExtend(); + + return LoadStoreSIMD(*this, wback, postindex, scale, offset, IR::MemOp::LOAD, Rn, Vt); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_pair.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_pair.cpp new file mode 100755 index 000000000..4c81564f7 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_pair.cpp @@ -0,0 +1,154 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::STP_LDP_gen(Imm<2> opc, bool not_postindex, bool wback, Imm<1> L, Imm<7> imm7, Reg Rt2, Reg Rn, Reg Rt) { + if ((L == 0 && opc.Bit<0>() == 1) || opc == 0b11) { + return UnallocatedEncoding(); + } + + const auto memop = L == 1 ? IR::MemOp::LOAD : IR::MemOp::STORE; + if (memop == IR::MemOp::LOAD && wback && (Rt == Rn || Rt2 == Rn) && Rn != Reg::R31) { + return UnpredictableInstruction(); + } + if (memop == IR::MemOp::STORE && wback && (Rt == Rn || Rt2 == Rn) && Rn != Reg::R31) { + return UnpredictableInstruction(); + } + if (memop == IR::MemOp::LOAD && Rt == Rt2) { + return UnpredictableInstruction(); + } + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP Alignment + address = SP(64); + } else { + address = X(64, Rn); + } + + const bool postindex = !not_postindex; + const bool signed_ = opc.Bit<0>() != 0; + const size_t scale = 2 + opc.Bit<1>(); + const size_t datasize = 8 << scale; + const u64 offset = imm7.SignExtend() << scale; + + if (!postindex) { + address = ir.Add(address, ir.Imm64(offset)); + } + + const size_t dbytes = datasize / 8; + switch (memop) { + case IR::MemOp::STORE: { + const IR::U32U64 data1 = X(datasize, Rt); + const IR::U32U64 data2 = X(datasize, Rt2); + Mem(address, dbytes, IR::AccType::NORMAL, data1); + Mem(ir.Add(address, ir.Imm64(dbytes)), dbytes, IR::AccType::NORMAL, data2); + break; + } + case IR::MemOp::LOAD: { + const IR::U32U64 data1 = Mem(address, dbytes, IR::AccType::NORMAL); + const IR::U32U64 data2 = Mem(ir.Add(address, ir.Imm64(dbytes)), dbytes, IR::AccType::NORMAL); + if (signed_) { + X(64, Rt, SignExtend(data1, 64)); + X(64, Rt2, SignExtend(data2, 64)); + } else { + X(datasize, Rt, data1); + X(datasize, Rt2, data2); + } + break; + } + case IR::MemOp::PREFETCH: + UNREACHABLE(); + } + + if (wback) { + if (postindex) { + address = ir.Add(address, ir.Imm64(offset)); + } + + if (Rn == Reg::SP) { + SP(64, address); + } else { + X(64, Rn, address); + } + } + + return true; +} + +bool TranslatorVisitor::STP_LDP_fpsimd(Imm<2> opc, bool not_postindex, bool wback, Imm<1> L, Imm<7> imm7, Vec Vt2, Reg Rn, Vec Vt) { + if (opc == 0b11) { + return UnallocatedEncoding(); + } + + const auto memop = L == 1 ? IR::MemOp::LOAD : IR::MemOp::STORE; + if (memop == IR::MemOp::LOAD && Vt == Vt2) { + return UnpredictableInstruction(); + } + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP Alignment + address = SP(64); + } else { + address = X(64, Rn); + } + + const bool postindex = !not_postindex; + const size_t scale = 2 + opc.ZeroExtend(); + const size_t datasize = 8 << scale; + const u64 offset = imm7.SignExtend() << scale; + const size_t dbytes = datasize / 8; + + if (!postindex) { + address = ir.Add(address, ir.Imm64(offset)); + } + + switch (memop) { + case IR::MemOp::STORE: { + IR::UAnyU128 data1 = V(datasize, Vt); + IR::UAnyU128 data2 = V(datasize, Vt2); + if (datasize != 128) { + data1 = ir.VectorGetElement(datasize, data1, 0); + data2 = ir.VectorGetElement(datasize, data2, 0); + } + Mem(address, dbytes, IR::AccType::VEC, data1); + Mem(ir.Add(address, ir.Imm64(dbytes)), dbytes, IR::AccType::VEC, data2); + break; + } + case IR::MemOp::LOAD: { + IR::UAnyU128 data1 = Mem(address, dbytes, IR::AccType::VEC); + IR::UAnyU128 data2 = Mem(ir.Add(address, ir.Imm64(dbytes)), dbytes, IR::AccType::VEC); + if (datasize != 128) { + data1 = ir.ZeroExtendToQuad(data1); + data2 = ir.ZeroExtendToQuad(data2); + } + V(datasize, Vt, data1); + V(datasize, Vt2, data2); + break; + } + case IR::MemOp::PREFETCH: + UNREACHABLE(); + } + + if (wback) { + if (postindex) { + address = ir.Add(address, ir.Imm64(offset)); + } + + if (Rn == Reg::SP) { + SP(64, address); + } else { + X(64, Rn, address); + } + } + + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_register_offset.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_register_offset.cpp new file mode 100755 index 000000000..979109586 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_register_offset.cpp @@ -0,0 +1,160 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +static bool RegSharedDecodeAndOperation(TranslatorVisitor& v, size_t scale, u8 shift, Imm<2> size, Imm<1> opc_1, Imm<1> opc_0, Reg Rm, Imm<3> option, Reg Rn, Reg Rt) { + // Shared Decode + + const auto acctype = IR::AccType::NORMAL; + IR::MemOp memop; + size_t regsize = 64; + bool signed_ = false; + + if (opc_1 == 0) { + memop = opc_0 == 1 ? IR::MemOp::LOAD : IR::MemOp::STORE; + regsize = size == 0b11 ? 64 : 32; + signed_ = false; + } else if (size == 0b11) { + memop = IR::MemOp::PREFETCH; + if (opc_0 == 1) { + return v.UnallocatedEncoding(); + } + } else { + memop = IR::MemOp::LOAD; + if (size == 0b10 && opc_0 == 1) { + return v.UnallocatedEncoding(); + } + regsize = opc_0 == 1 ? 32 : 64; + signed_ = true; + } + + const size_t datasize = 8 << scale; + + // Operation + + const IR::U64 offset = v.ExtendReg(64, Rm, option, shift); + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + address = v.ir.Add(address, offset); + + switch (memop) { + case IR::MemOp::STORE: { + const IR::UAny data = v.X(datasize, Rt); + v.Mem(address, datasize / 8, acctype, data); + break; + } + case IR::MemOp::LOAD: { + const IR::UAny data = v.Mem(address, datasize / 8, acctype); + if (signed_) { + v.X(regsize, Rt, v.SignExtend(data, regsize)); + } else { + v.X(regsize, Rt, v.ZeroExtend(data, regsize)); + } + break; + } + case IR::MemOp::PREFETCH: + // TODO: Prefetch + break; + default: + UNREACHABLE(); + } + + return true; +} + +bool TranslatorVisitor::STRx_reg(Imm<2> size, Imm<1> opc_1, Reg Rm, Imm<3> option, bool S, Reg Rn, Reg Rt) { + const Imm<1> opc_0{0}; + const size_t scale = size.ZeroExtend(); + const u8 shift = S ? static_cast(scale) : 0; + if (!option.Bit<1>()) { + return UnallocatedEncoding(); + } + return RegSharedDecodeAndOperation(*this, scale, shift, size, opc_1, opc_0, Rm, option, Rn, Rt); +} + +bool TranslatorVisitor::LDRx_reg(Imm<2> size, Imm<1> opc_1, Reg Rm, Imm<3> option, bool S, Reg Rn, Reg Rt) { + const Imm<1> opc_0{1}; + const size_t scale = size.ZeroExtend(); + const u8 shift = S ? static_cast(scale) : 0; + if (!option.Bit<1>()) { + return UnallocatedEncoding(); + } + return RegSharedDecodeAndOperation(*this, scale, shift, size, opc_1, opc_0, Rm, option, Rn, Rt); +} + +static bool VecSharedDecodeAndOperation(TranslatorVisitor& v, size_t scale, u8 shift, Imm<1> opc_0, Reg Rm, Imm<3> option, Reg Rn, Vec Vt) { + // Shared Decode + + const auto acctype = IR::AccType::VEC; + const auto memop = opc_0 == 1 ? IR::MemOp::LOAD : IR::MemOp::STORE; + const size_t datasize = 8 << scale; + + // Operation + + const IR::U64 offset = v.ExtendReg(64, Rm, option, shift); + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + address = v.ir.Add(address, offset); + + switch (memop) { + case IR::MemOp::STORE: { + const IR::UAnyU128 data = v.V_scalar(datasize, Vt); + v.Mem(address, datasize / 8, acctype, data); + break; + } + case IR::MemOp::LOAD: { + const IR::UAnyU128 data = v.Mem(address, datasize / 8, acctype); + v.V_scalar(datasize, Vt, data); + break; + } + default: + UNREACHABLE(); + } + + return true; +} + +bool TranslatorVisitor::STR_reg_fpsimd(Imm<2> size, Imm<1> opc_1, Reg Rm, Imm<3> option, bool S, Reg Rn, Vec Vt) { + const Imm<1> opc_0{0}; + const size_t scale = concatenate(opc_1, size).ZeroExtend(); + if (scale > 4) { + return UnallocatedEncoding(); + } + const u8 shift = S ? static_cast(scale) : 0; + if (!option.Bit<1>()) { + return UnallocatedEncoding(); + } + return VecSharedDecodeAndOperation(*this, scale, shift, opc_0, Rm, option, Rn, Vt); +} + +bool TranslatorVisitor::LDR_reg_fpsimd(Imm<2> size, Imm<1> opc_1, Reg Rm, Imm<3> option, bool S, Reg Rn, Vec Vt) { + const Imm<1> opc_0{1}; + const size_t scale = concatenate(opc_1, size).ZeroExtend(); + if (scale > 4) { + return UnallocatedEncoding(); + } + const u8 shift = S ? static_cast(scale) : 0; + if (!option.Bit<1>()) { + return UnallocatedEncoding(); + } + return VecSharedDecodeAndOperation(*this, scale, shift, opc_0, Rm, option, Rn, Vt); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_unprivileged.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_unprivileged.cpp new file mode 100755 index 000000000..d3f4194ff --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_register_unprivileged.cpp @@ -0,0 +1,149 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +static bool StoreRegister(TranslatorVisitor& v, const size_t datasize, const Imm<9> imm9, const Reg Rn, const Reg Rt) { + const u64 offset = imm9.SignExtend(); + const auto acctype = IR::AccType::UNPRIV; + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check Stack Alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + address = v.ir.Add(address, v.ir.Imm64(offset)); + + const IR::UAny data = v.X(datasize, Rt); + v.Mem(address, datasize / 8, acctype, data); + return true; +} + +static bool LoadRegister(TranslatorVisitor& v, const size_t datasize, const Imm<9> imm9, const Reg Rn, const Reg Rt) { + const u64 offset = imm9.SignExtend(); + const auto acctype = IR::AccType::UNPRIV; + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check Stack Alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + address = v.ir.Add(address, v.ir.Imm64(offset)); + + const IR::UAny data = v.Mem(address, datasize / 8, acctype); + // max is used to zeroextend < 32 to 32, and > 32 to 64 + const size_t extended_size = std::max(32, datasize); + v.X(extended_size, Rt, v.ZeroExtend(data, extended_size)); + return true; +} + +static bool LoadRegisterSigned(TranslatorVisitor& v, const size_t datasize, const Imm<2> opc, const Imm<9> imm9, const Reg Rn, const Reg Rt) { + const u64 offset = imm9.SignExtend(); + const auto acctype = IR::AccType::UNPRIV; + + IR::MemOp memop; + bool is_signed; + size_t regsize; + if (opc.Bit<1>() == 0) { + // store or zero-extending load + memop = opc.Bit<0>() ? IR::MemOp::LOAD : IR::MemOp::STORE; + regsize = 32; + is_signed = false; + } else { + // sign-extending load + memop = IR::MemOp::LOAD; + regsize = opc.Bit<0>() ? 32 : 64; + is_signed = true; + } + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check Stack Alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + address = v.ir.Add(address, v.ir.Imm64(offset)); + + switch (memop) { + case IR::MemOp::STORE: + v.Mem(address, datasize / 8, acctype, v.X(datasize, Rt)); + break; + case IR::MemOp::LOAD: { + const IR::UAny data = v.Mem(address, datasize / 8, acctype); + if (is_signed) { + v.X(regsize, Rt, v.SignExtend(data, regsize)); + } else { + v.X(regsize, Rt, v.ZeroExtend(data, regsize)); + } + break; + } + case IR::MemOp::PREFETCH: + // Prefetch(address, Rt); + break; + } + return true; +} + +bool TranslatorVisitor::STTRB(Imm<9> imm9, Reg Rn, Reg Rt) { + return StoreRegister(*this, 8, imm9, Rn, Rt); +} + +bool TranslatorVisitor::STTRH(Imm<9> imm9, Reg Rn, Reg Rt) { + return StoreRegister(*this, 16, imm9, Rn, Rt); +} + +bool TranslatorVisitor::STTR(Imm<2> size, Imm<9> imm9, Reg Rn, Reg Rt) { + const size_t scale = size.ZeroExtend(); + const size_t datasize = 8 << scale; + return StoreRegister(*this, datasize, imm9, Rn, Rt); +} + +bool TranslatorVisitor::LDTRB(Imm<9> imm9, Reg Rn, Reg Rt) { + return LoadRegister(*this, 8, imm9, Rn, Rt); +} + +bool TranslatorVisitor::LDTRH(Imm<9> imm9, Reg Rn, Reg Rt) { + return LoadRegister(*this, 16, imm9, Rn, Rt); +} + +bool TranslatorVisitor::LDTR(Imm<2> size, Imm<9> imm9, Reg Rn, Reg Rt) { + const size_t scale = size.ZeroExtend(); + const size_t datasize = 8 << scale; + return LoadRegister(*this, datasize, imm9, Rn, Rt); +} + +bool TranslatorVisitor::LDTRSB(Imm<2> opc, Imm<9> imm9, Reg Rn, Reg Rt) { + return LoadRegisterSigned(*this, 8, opc, imm9, Rn, Rt); +} + +bool TranslatorVisitor::LDTRSH(Imm<2> opc, Imm<9> imm9, Reg Rn, Reg Rt) { + return LoadRegisterSigned(*this, 16, opc, imm9, Rn, Rt); +} + +bool TranslatorVisitor::LDTRSW(Imm<9> imm9, Reg Rn, Reg Rt) { + const u64 offset = imm9.SignExtend(); + const auto acctype = IR::AccType::UNPRIV; + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check Stack Alignment + address = SP(64); + } else { + address = X(64, Rn); + } + address = ir.Add(address, ir.Imm64(offset)); + + const IR::UAny data = Mem(address, 4, acctype); + X(64, Rt, SignExtend(data, 64)); + return true; +} +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_single_structure.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_single_structure.cpp new file mode 100755 index 000000000..b4bc84294 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/load_store_single_structure.cpp @@ -0,0 +1,224 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +static bool SharedDecodeAndOperation(TranslatorVisitor& v, bool wback, IR::MemOp memop, bool Q, bool S, bool R, bool replicate, std::optional Rm, Imm<3> opcode, Imm<2> size, Reg Rn, Vec Vt) { + const size_t selem = (opcode.Bit<0>() << 1 | u32{R}) + 1; + size_t scale = opcode.Bits<1, 2>(); + size_t index = 0; + + switch (scale) { + case 0: + index = Q << 3 | S << 2 | size.ZeroExtend(); + break; + case 1: + if (size.Bit<0>()) { + return v.UnallocatedEncoding(); + } + index = Q << 2 | S << 1 | u32{size.Bit<1>()}; + break; + case 2: + if (size.Bit<1>()) { + return v.UnallocatedEncoding(); + } + if (size.Bit<0>()) { + if (S) { + return v.UnallocatedEncoding(); + } + index = Q; + scale = 3; + } else { + index = Q << 1 | u32{S}; + } + break; + case 3: + if (memop == IR::MemOp::STORE || S) { + return v.UnallocatedEncoding(); + } + scale = size.ZeroExtend(); + break; + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << scale; + const size_t ebytes = esize / 8; + + IR::U64 address; + if (Rn == Reg::SP) { + // TODO: Check SP Alignment + address = v.SP(64); + } else { + address = v.X(64, Rn); + } + + IR::U64 offs = v.ir.Imm64(0); + if (replicate) { + for (size_t s = 0; s < selem; s++) { + const Vec tt = static_cast((VecNumber(Vt) + s) % 32); + const IR::UAnyU128 element = v.Mem(v.ir.Add(address, offs), ebytes, IR::AccType::VEC); + const IR::U128 broadcasted_element = v.ir.VectorBroadcast(esize, element); + + v.V(datasize, tt, broadcasted_element); + + offs = v.ir.Add(offs, v.ir.Imm64(ebytes)); + } + } else { + for (size_t s = 0; s < selem; s++) { + const Vec tt = static_cast((VecNumber(Vt) + s) % 32); + const IR::U128 rval = v.V(128, tt); + + if (memop == IR::MemOp::LOAD) { + const IR::UAny elem = v.Mem(v.ir.Add(address, offs), ebytes, IR::AccType::VEC); + const IR::U128 vec = v.ir.VectorSetElement(esize, rval, index, elem); + v.V(128, tt, vec); + } else { + const IR::UAny elem = v.ir.VectorGetElement(esize, rval, index); + v.Mem(v.ir.Add(address, offs), ebytes, IR::AccType::VEC, elem); + } + offs = v.ir.Add(offs, v.ir.Imm64(ebytes)); + } + } + + if (wback) { + if (*Rm != Reg::SP) { + offs = v.X(64, *Rm); + } + + if (Rn == Reg::SP) { + v.SP(64, v.ir.Add(address, offs)); + } else { + v.X(64, Rn, v.ir.Add(address, offs)); + } + } + + return true; +} + +bool TranslatorVisitor::LD1_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::LOAD, Q, S, false, false, {}, + Imm<3>{upper_opcode.ZeroExtend() << 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD1_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::LOAD, Q, S, false, false, Rm, + Imm<3>{upper_opcode.ZeroExtend() << 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD1R_1(bool Q, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::LOAD, Q, false, false, true, + {}, Imm<3>{0b110}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD1R_2(bool Q, Reg Rm, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::LOAD, Q, false, false, true, + Rm, Imm<3>{0b110}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD2_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::LOAD, Q, S, true, false, {}, + Imm<3>{upper_opcode.ZeroExtend() << 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD2_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::LOAD, Q, S, true, false, Rm, + Imm<3>{upper_opcode.ZeroExtend() << 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD2R_1(bool Q, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::LOAD, Q, false, true, true, + {}, Imm<3>{0b110}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD2R_2(bool Q, Reg Rm, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::LOAD, Q, false, true, true, + Rm, Imm<3>{0b110}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD3_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::LOAD, Q, S, false, false, {}, + Imm<3>{(upper_opcode.ZeroExtend() << 1) | 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD3_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::LOAD, Q, S, false, false, Rm, + Imm<3>{(upper_opcode.ZeroExtend() << 1) | 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD3R_1(bool Q, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::LOAD, Q, false, false, true, + {}, Imm<3>{0b111}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD3R_2(bool Q, Reg Rm, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::LOAD, Q, false, false, true, + Rm, Imm<3>{0b111}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD4_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::LOAD, Q, S, true, false, {}, + Imm<3>{(upper_opcode.ZeroExtend() << 1) | 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD4_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::LOAD, Q, S, true, false, Rm, + Imm<3>{(upper_opcode.ZeroExtend() << 1) | 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD4R_1(bool Q, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::LOAD, Q, false, true, true, + {}, Imm<3>{0b111}, size, Rn, Vt); +} + +bool TranslatorVisitor::LD4R_2(bool Q, Reg Rm, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::LOAD, Q, false, true, true, + Rm, Imm<3>{0b111}, size, Rn, Vt); +} + +bool TranslatorVisitor::ST1_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::STORE, Q, S, false, false, {}, + Imm<3>{upper_opcode.ZeroExtend() << 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::ST1_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::STORE, Q, S, false, false, Rm, + Imm<3>{upper_opcode.ZeroExtend() << 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::ST2_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::STORE, Q, S, true, false, {}, + Imm<3>{upper_opcode.ZeroExtend() << 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::ST2_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::STORE, Q, S, true, false, Rm, + Imm<3>{upper_opcode.ZeroExtend() << 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::ST3_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::STORE, Q, S, false, false, {}, + Imm<3>{(upper_opcode.ZeroExtend() << 1) | 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::ST3_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::STORE, Q, S, false, false, Rm, + Imm<3>{(upper_opcode.ZeroExtend() << 1) | 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::ST4_sngl_1(bool Q, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, false, IR::MemOp::STORE, Q, S, true, false, {}, + Imm<3>{(upper_opcode.ZeroExtend() << 1) | 1}, size, Rn, Vt); +} + +bool TranslatorVisitor::ST4_sngl_2(bool Q, Reg Rm, Imm<2> upper_opcode, bool S, Imm<2> size, Reg Rn, Vec Vt) { + return SharedDecodeAndOperation(*this, true, IR::MemOp::STORE, Q, S, true, false, Rm, + Imm<3>{(upper_opcode.ZeroExtend() << 1) | 1}, size, Rn, Vt); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/move_wide.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/move_wide.cpp new file mode 100755 index 000000000..7bd2e6e35 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/move_wide.cpp @@ -0,0 +1,59 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::MOVN(bool sf, Imm<2> hw, Imm<16> imm16, Reg Rd) { + if (!sf && hw.Bit<1>()) { + return UnallocatedEncoding(); + } + + const size_t datasize = sf ? 64 : 32; + const size_t pos = hw.ZeroExtend() << 4; + + u64 value = imm16.ZeroExtend() << pos; + value = ~value; + + const auto result = I(datasize, value); + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::MOVZ(bool sf, Imm<2> hw, Imm<16> imm16, Reg Rd) { + if (!sf && hw.Bit<1>()) { + return UnallocatedEncoding(); + } + + const size_t datasize = sf ? 64 : 32; + const size_t pos = hw.ZeroExtend() << 4; + + const u64 value = imm16.ZeroExtend() << pos; + const auto result = I(datasize, value); + + X(datasize, Rd, result); + return true; +} + +bool TranslatorVisitor::MOVK(bool sf, Imm<2> hw, Imm<16> imm16, Reg Rd) { + if (!sf && hw.Bit<1>()) { + return UnallocatedEncoding(); + } + + const size_t datasize = sf ? 64 : 32; + const size_t pos = hw.ZeroExtend() << 4; + + const u64 mask = u64(0xFFFF) << pos; + const u64 value = imm16.ZeroExtend() << pos; + + auto result = X(datasize, Rd); + result = ir.And(result, I(datasize, ~mask)); + result = ir.Or(result, I(datasize, value)); + X(datasize, Rd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_across_lanes.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_across_lanes.cpp new file mode 100755 index 000000000..47aa5871c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_across_lanes.cpp @@ -0,0 +1,237 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class Signedness { + Signed, + Unsigned +}; + +bool LongAdd(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vn, Vec Vd, Signedness sign) { + if ((size == 0b10 && !Q) || size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + const size_t elements = datasize / esize; + + const IR::U128 operand = v.V(datasize, Vn); + + const auto get_element = [&](IR::U128 vec, size_t element) { + const auto vec_element = v.ir.VectorGetElement(esize, vec, element); + + if (sign == Signedness::Signed) { + return v.ir.SignExtendToLong(vec_element); + } + + return v.ir.ZeroExtendToLong(vec_element); + }; + + IR::U64 sum = get_element(operand, 0); + for (size_t i = 1; i < elements; i++) { + sum = v.ir.Add(sum, get_element(operand, i)); + } + + if (size == 0b00) { + v.V(datasize, Vd, v.ir.ZeroExtendToQuad(v.ir.LeastSignificantHalf(sum))); + } else if (size == 0b01) { + v.V(datasize, Vd, v.ir.ZeroExtendToQuad(v.ir.LeastSignificantWord(sum))); + } else { + v.V(datasize, Vd, v.ir.ZeroExtendToQuad(sum)); + } + + return true; +} + +enum class MinMaxOperation { + Max, + MaxNumeric, + Min, + MinNumeric, +}; + +bool FPMinMax(TranslatorVisitor& v, bool Q, bool sz, Vec Vn, Vec Vd, MinMaxOperation operation) { + if (!Q || sz) { + return v.ReservedValue(); + } + + const size_t esize = 32; + const size_t datasize = 128; + const size_t elements = datasize / esize; + + const IR::U128 operand = v.V(datasize, Vn); + + const auto op = [&](const IR::U32U64& lhs, const IR::U32U64& rhs) { + switch (operation) { + case MinMaxOperation::Max: + return v.ir.FPMax(lhs, rhs); + case MinMaxOperation::MaxNumeric: + return v.ir.FPMaxNumeric(lhs, rhs); + case MinMaxOperation::Min: + return v.ir.FPMin(lhs, rhs); + case MinMaxOperation::MinNumeric: + return v.ir.FPMinNumeric(lhs, rhs); + default: + UNREACHABLE(); + } + }; + + const auto reduce = [&](size_t start, size_t end) { + IR::U32U64 result = v.ir.VectorGetElement(esize, operand, start); + + for (size_t i = start + 1; i < end; i++) { + const IR::U32U64 element = v.ir.VectorGetElement(esize, operand, i); + + result = op(result, element); + } + + return result; + }; + + const IR::U32U64 hi = reduce(elements / 2, elements); + const IR::U32U64 lo = reduce(0, elements / 2); + const IR::U32U64 result = op(lo, hi); + + v.V_scalar(esize, Vd, result); + return true; +} + +enum class ScalarMinMaxOperation { + Max, + Min, +}; + +bool ScalarMinMax(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vn, Vec Vd, ScalarMinMaxOperation operation, Signedness sign) { + if ((size == 0b10 && !Q) || size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + const size_t elements = datasize / esize; + + const auto get_element = [&](IR::U128 vec, size_t element) { + const auto vec_element = v.ir.VectorGetElement(esize, vec, element); + + if (sign == Signedness::Signed) { + return v.ir.SignExtendToWord(vec_element); + } + + return v.ir.ZeroExtendToWord(vec_element); + }; + + const auto op_func = [&](const auto& a, const auto& b) { + switch (operation) { + case ScalarMinMaxOperation::Max: + if (sign == Signedness::Signed) { + return v.ir.MaxSigned(a, b); + } + return v.ir.MaxUnsigned(a, b); + + case ScalarMinMaxOperation::Min: + if (sign == Signedness::Signed) { + return v.ir.MinSigned(a, b); + } + return v.ir.MinUnsigned(a, b); + + default: + UNREACHABLE(); + } + }; + + const IR::U128 operand = v.V(datasize, Vn); + + IR::U32 value = get_element(operand, 0); + for (size_t i = 1; i < elements; i++) { + value = op_func(value, get_element(operand, i)); + } + + if (size == 0b00) { + v.V(datasize, Vd, v.ir.ZeroExtendToQuad(v.ir.LeastSignificantByte(value))); + } else if (size == 0b01) { + v.V(datasize, Vd, v.ir.ZeroExtendToQuad(v.ir.LeastSignificantHalf(value))); + } else { + v.V(datasize, Vd, v.ir.ZeroExtendToQuad(value)); + } + + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::ADDV(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if ((size == 0b10 && !Q) || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + const size_t elements = datasize / esize; + + const IR::U128 operand = V(datasize, Vn); + + const auto get_element = [&](IR::U128 vec, size_t element) { + return ir.ZeroExtendToWord(ir.VectorGetElement(esize, vec, element)); + }; + + IR::U32 sum = get_element(operand, 0); + for (size_t i = 1; i < elements; i++) { + sum = ir.Add(sum, get_element(operand, i)); + } + + if (size == 0b00) { + V(datasize, Vd, ir.ZeroExtendToQuad(ir.LeastSignificantByte(sum))); + } else if (size == 0b01) { + V(datasize, Vd, ir.ZeroExtendToQuad(ir.LeastSignificantHalf(sum))); + } else { + V(datasize, Vd, ir.ZeroExtendToQuad(sum)); + } + + return true; +} + +bool TranslatorVisitor::FMAXNMV_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPMinMax(*this, Q, sz, Vn, Vd, MinMaxOperation::MaxNumeric); +} + +bool TranslatorVisitor::FMAXV_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPMinMax(*this, Q, sz, Vn, Vd, MinMaxOperation::Max); +} + +bool TranslatorVisitor::FMINNMV_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPMinMax(*this, Q, sz, Vn, Vd, MinMaxOperation::MinNumeric); +} + +bool TranslatorVisitor::FMINV_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPMinMax(*this, Q, sz, Vn, Vd, MinMaxOperation::Min); +} + +bool TranslatorVisitor::SADDLV(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return LongAdd(*this, Q, size, Vn, Vd, Signedness::Signed); +} + +bool TranslatorVisitor::SMAXV(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return ScalarMinMax(*this, Q, size, Vn, Vd, ScalarMinMaxOperation::Max, Signedness::Signed); +} + +bool TranslatorVisitor::SMINV(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return ScalarMinMax(*this, Q, size, Vn, Vd, ScalarMinMaxOperation::Min, Signedness::Signed); +} + +bool TranslatorVisitor::UADDLV(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return LongAdd(*this, Q, size, Vn, Vd, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMAXV(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return ScalarMinMax(*this, Q, size, Vn, Vd, ScalarMinMaxOperation::Max, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMINV(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return ScalarMinMax(*this, Q, size, Vn, Vd, ScalarMinMaxOperation::Min, Signedness::Unsigned); +} +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_aes.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_aes.cpp new file mode 100755 index 000000000..d604703ef --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_aes.cpp @@ -0,0 +1,46 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::AESD(Vec Vn, Vec Vd) { + const IR::U128 operand1 = ir.GetQ(Vd); + const IR::U128 operand2 = ir.GetQ(Vn); + + const IR::U128 result = ir.AESDecryptSingleRound(ir.VectorEor(operand1, operand2)); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::AESE(Vec Vn, Vec Vd) { + const IR::U128 operand1 = ir.GetQ(Vd); + const IR::U128 operand2 = ir.GetQ(Vn); + + const IR::U128 result = ir.AESEncryptSingleRound(ir.VectorEor(operand1, operand2)); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::AESIMC(Vec Vn, Vec Vd) { + const IR::U128 operand = ir.GetQ(Vn); + const IR::U128 result = ir.AESInverseMixColumns(operand); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::AESMC(Vec Vn, Vec Vd) { + const IR::U128 operand = ir.GetQ(Vn); + const IR::U128 result = ir.AESMixColumns(operand); + + ir.SetQ(Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_copy.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_copy.cpp new file mode 100755 index 000000000..e5a47ce29 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_copy.cpp @@ -0,0 +1,158 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::DUP_elt_1(Imm<5> imm5, Vec Vn, Vec Vd) { + const size_t size = Common::LowestSetBit(imm5.ZeroExtend()); + if (size > 3) { + return ReservedValue(); + } + + const size_t index = imm5.ZeroExtend() >> (size + 1); + const size_t idxdsize = imm5.Bit<4>() ? 128 : 64; + const size_t esize = 8 << size; + + const IR::U128 operand = V(idxdsize, Vn); + const IR::UAny element = ir.VectorGetElement(esize, operand, index); + const IR::U128 result = ir.ZeroExtendToQuad(element); + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::DUP_elt_2(bool Q, Imm<5> imm5, Vec Vn, Vec Vd) { + const size_t size = Common::LowestSetBit(imm5.ZeroExtend()); + if (size > 3) { + return ReservedValue(); + } + + if (size == 3 && !Q) { + return ReservedValue(); + } + + const size_t index = imm5.ZeroExtend() >> (size + 1); + const size_t idxdsize = imm5.Bit<4>() ? 128 : 64; + const size_t esize = 8 << size; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(idxdsize, Vn); + const IR::UAny element = ir.VectorGetElement(esize, operand, index); + const IR::U128 result = Q ? ir.VectorBroadcast(esize, element) : ir.VectorBroadcastLower(esize, element); + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::DUP_gen(bool Q, Imm<5> imm5, Reg Rn, Vec Vd) { + const size_t size = Common::LowestSetBit(imm5.ZeroExtend()); + if (size > 3) { + return ReservedValue(); + } + + if (size == 3 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size; + const size_t datasize = Q ? 128 : 64; + + const IR::UAny element = X(esize, Rn); + + const IR::U128 result = Q ? ir.VectorBroadcast(esize, element) : ir.VectorBroadcastLower(esize, element); + + V(datasize, Vd, result); + + return true; +} + +bool TranslatorVisitor::SMOV(bool Q, Imm<5> imm5, Vec Vn, Reg Rd) { + const size_t size = Common::LowestSetBit(imm5.ZeroExtend()); + if (size == 2 && !Q) { + return UnallocatedEncoding(); + } + + if (size > 2) { + return ReservedValue(); + } + + const size_t idxdsize = imm5.Bit<4>() ? 128 : 64; + const size_t index = imm5.ZeroExtend() >> (size + 1); + const size_t esize = 8 << size; + const size_t datasize = Q ? 64 : 32; + + const IR::U128 operand = V(idxdsize, Vn); + + const IR::UAny elem = ir.VectorGetElement(esize, operand, index); + X(datasize, Rd, SignExtend(elem, datasize)); + + return true; +} + +bool TranslatorVisitor::UMOV(bool Q, Imm<5> imm5, Vec Vn, Reg Rd) { + const size_t size = Common::LowestSetBit(imm5.ZeroExtend()); + if (size < 3 && Q) { + return UnallocatedEncoding(); + } + + if (size == 3 && !Q) { + return UnallocatedEncoding(); + } + + if (size > 3) { + return ReservedValue(); + } + + const size_t idxdsize = imm5.Bit<4>() ? 128 : 64; + const size_t index = imm5.ZeroExtend() >> (size + 1); + const size_t esize = 8 << size; + const size_t datasize = Q ? 64 : 32; + + const IR::U128 operand = V(idxdsize, Vn); + + const IR::UAny elem = ir.VectorGetElement(esize, operand, index); + X(datasize, Rd, ZeroExtend(elem, datasize)); + + return true; +} + +bool TranslatorVisitor::INS_gen(Imm<5> imm5, Reg Rn, Vec Vd) { + const size_t size = Common::LowestSetBit(imm5.ZeroExtend()); + if (size > 3) { + return ReservedValue(); + } + + const size_t index = imm5.ZeroExtend() >> (size + 1); + const size_t esize = 8 << size; + const size_t datasize = 128; + + const IR::UAny element = X(esize, Rn); + const IR::U128 result = ir.VectorSetElement(esize, V(datasize, Vd), index, element); + V(datasize, Vd, result); + + return true; +} + +bool TranslatorVisitor::INS_elt(Imm<5> imm5, Imm<4> imm4, Vec Vn, Vec Vd) { + const size_t size = Common::LowestSetBit(imm5.ZeroExtend()); + if (size > 3) { + return ReservedValue(); + } + + const size_t dst_index = imm5.ZeroExtend() >> (size + 1); + const size_t src_index = imm4.ZeroExtend() >> size; + const size_t idxdsize = imm4.Bit<3>() ? 128 : 64; + const size_t esize = 8 << size; + + const IR::U128 operand = V(idxdsize, Vn); + const IR::UAny elem = ir.VectorGetElement(esize, operand, src_index); + const IR::U128 result = ir.VectorSetElement(esize, V(128, Vd), dst_index, elem); + V(128, Vd, result); + + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_crypto_four_register.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_crypto_four_register.cpp new file mode 100755 index 000000000..0e1bae797 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_crypto_four_register.cpp @@ -0,0 +1,52 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::EOR3(Vec Vm, Vec Va, Vec Vn, Vec Vd) { + const IR::U128 a = ir.GetQ(Va); + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U128 result = ir.VectorEor(ir.VectorEor(n, m), a); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::BCAX(Vec Vm, Vec Va, Vec Vn, Vec Vd) { + const IR::U128 a = ir.GetQ(Va); + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U128 result = ir.VectorEor(n, ir.VectorAnd(m, ir.VectorNot(a))); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SM3SS1(Vec Vm, Vec Va, Vec Vn, Vec Vd) { + const IR::U128 a = ir.GetQ(Va); + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U32 top_a = ir.VectorGetElement(32, a, 3); + const IR::U32 top_m = ir.VectorGetElement(32, m, 3); + const IR::U32 top_n = ir.VectorGetElement(32, n, 3); + + const IR::U32 rotated_n = ir.RotateRight(top_n, ir.Imm8(20)); + const IR::U32 sum = ir.Add(ir.Add(rotated_n, top_m), top_a); + const IR::U32 result = ir.RotateRight(sum, ir.Imm8(25)); + + const IR::U128 zero_vector = ir.ZeroVector(); + const IR::U128 vector_result = ir.VectorSetElement(32, zero_vector, 3, result); + + ir.SetQ(Vd, vector_result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_crypto_three_register.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_crypto_three_register.cpp new file mode 100755 index 000000000..f4810f2de --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_crypto_three_register.cpp @@ -0,0 +1,102 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class SM3TTVariant { + A, + B, +}; + +bool SM3TT1(TranslatorVisitor& v, Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd, SM3TTVariant behavior) { + const IR::U128 d = v.ir.GetQ(Vd); + const IR::U128 m = v.ir.GetQ(Vm); + const IR::U128 n = v.ir.GetQ(Vn); + const u32 index = imm2.ZeroExtend(); + + const IR::U32 top_d = v.ir.VectorGetElement(32, d, 3); + const IR::U32 before_top_d = v.ir.VectorGetElement(32, d, 2); + const IR::U32 after_low_d = v.ir.VectorGetElement(32, d, 1); + const IR::U32 low_d = v.ir.VectorGetElement(32, d, 0); + const IR::U32 top_n = v.ir.VectorGetElement(32, n, 3); + + const IR::U32 wj_prime = v.ir.VectorGetElement(32, m, index); + const IR::U32 ss2 = v.ir.Eor(top_n, v.ir.RotateRight(top_d, v.ir.Imm8(20))); + const IR::U32 tt1 = [&] { + if (behavior == SM3TTVariant::A) { + return v.ir.Eor(after_low_d, v.ir.Eor(top_d, before_top_d)); + } + const IR::U32 tmp1 = v.ir.And(top_d, after_low_d); + const IR::U32 tmp2 = v.ir.And(top_d, before_top_d); + const IR::U32 tmp3 = v.ir.And(after_low_d, before_top_d); + return v.ir.Or(v.ir.Or(tmp1, tmp2), tmp3); + }(); + const IR::U32 final_tt1 = v.ir.Add(tt1, v.ir.Add(low_d, v.ir.Add(ss2, wj_prime))); + + const IR::U128 zero_vector = v.ir.ZeroVector(); + const IR::U128 tmp1 = v.ir.VectorSetElement(32, zero_vector, 0, after_low_d); + const IR::U128 tmp2 = v.ir.VectorSetElement(32, tmp1, 1, v.ir.RotateRight(before_top_d, v.ir.Imm8(23))); + const IR::U128 tmp3 = v.ir.VectorSetElement(32, tmp2, 2, top_d); + const IR::U128 result = v.ir.VectorSetElement(32, tmp3, 3, final_tt1); + + v.ir.SetQ(Vd, result); + return true; +} + +bool SM3TT2(TranslatorVisitor& v, Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd, SM3TTVariant behavior) { + const IR::U128 d = v.ir.GetQ(Vd); + const IR::U128 m = v.ir.GetQ(Vm); + const IR::U128 n = v.ir.GetQ(Vn); + const u32 index = imm2.ZeroExtend(); + + const IR::U32 top_d = v.ir.VectorGetElement(32, d, 3); + const IR::U32 before_top_d = v.ir.VectorGetElement(32, d, 2); + const IR::U32 after_low_d = v.ir.VectorGetElement(32, d, 1); + const IR::U32 low_d = v.ir.VectorGetElement(32, d, 0); + const IR::U32 top_n = v.ir.VectorGetElement(32, n, 3); + + const IR::U32 wj = v.ir.VectorGetElement(32, m, index); + const IR::U32 tt2 = [&] { + if (behavior == SM3TTVariant::A) { + return v.ir.Eor(after_low_d, v.ir.Eor(top_d, before_top_d)); + } + const IR::U32 tmp1 = v.ir.And(top_d, before_top_d); + const IR::U32 tmp2 = v.ir.And(v.ir.Not(top_d), after_low_d); + return v.ir.Or(tmp1, tmp2); + }(); + const IR::U32 final_tt2 = v.ir.Add(tt2, v.ir.Add(low_d, v.ir.Add(top_n, wj))); + const IR::U32 top_result = v.ir.Eor(final_tt2, v.ir.Eor(v.ir.RotateRight(final_tt2, v.ir.Imm8(23)), + v.ir.RotateRight(final_tt2, v.ir.Imm8(15)))); + + const IR::U128 zero_vector = v.ir.ZeroVector(); + const IR::U128 tmp1 = v.ir.VectorSetElement(32, zero_vector, 0, after_low_d); + const IR::U128 tmp2 = v.ir.VectorSetElement(32, tmp1, 1, v.ir.RotateRight(before_top_d, v.ir.Imm8(13))); + const IR::U128 tmp3 = v.ir.VectorSetElement(32, tmp2, 2, top_d); + const IR::U128 result = v.ir.VectorSetElement(32, tmp3, 3, top_result); + + v.ir.SetQ(Vd, result); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::SM3TT1A(Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd) { + return SM3TT1(*this, Vm, imm2, Vn, Vd, SM3TTVariant::A); +} + +bool TranslatorVisitor::SM3TT1B(Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd) { + return SM3TT1(*this, Vm, imm2, Vn, Vd, SM3TTVariant::B); +} + +bool TranslatorVisitor::SM3TT2A(Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd) { + return SM3TT2(*this, Vm, imm2, Vn, Vd, SM3TTVariant::A); +} + +bool TranslatorVisitor::SM3TT2B(Vec Vm, Imm<2> imm2, Vec Vn, Vec Vd) { + return SM3TT2(*this, Vm, imm2, Vn, Vd, SM3TTVariant::B); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_extract.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_extract.cpp new file mode 100755 index 000000000..bb5dcbe93 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_extract.cpp @@ -0,0 +1,27 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::EXT(bool Q, Vec Vm, Imm<4> imm4, Vec Vn, Vec Vd) { + if (!Q && imm4.Bit<3>()) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t position = imm4.ZeroExtend() << 3; + + const IR::U128 lo = V(datasize, Vn); + const IR::U128 hi = V(datasize, Vm); + const IR::U128 result = datasize == 64 ? ir.VectorExtractLower(lo, hi, position) : ir.VectorExtract(lo, hi, position); + + V(datasize, Vd, result); + + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_modified_immediate.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_modified_immediate.cpp new file mode 100755 index 000000000..ed45bf59c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_modified_immediate.cpp @@ -0,0 +1,129 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::MOVI(bool Q, bool op, Imm<1> a, Imm<1> b, Imm<1> c, Imm<4> cmode, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + // MOVI + // also FMOV (vector, immediate) when cmode == 0b1111 + const auto movi = [&] { + const u64 imm64 = AdvSIMDExpandImm(op, cmode, concatenate(a, b, c, d, e, f, g, h)); + const IR::U128 imm = datasize == 64 ? ir.ZeroExtendToQuad(ir.Imm64(imm64)) : ir.VectorBroadcast(64, ir.Imm64(imm64)); + V(128, Vd, imm); + return true; + }; + + // MVNI + const auto mvni = [&] { + const u64 imm64 = ~AdvSIMDExpandImm(op, cmode, concatenate(a, b, c, d, e, f, g, h)); + const IR::U128 imm = datasize == 64 ? ir.ZeroExtendToQuad(ir.Imm64(imm64)) : ir.VectorBroadcast(64, ir.Imm64(imm64)); + V(128, Vd, imm); + return true; + }; + + // ORR (vector, immediate) + const auto orr = [&] { + const u64 imm64 = AdvSIMDExpandImm(op, cmode, concatenate(a, b, c, d, e, f, g, h)); + const IR::U128 imm = datasize == 64 ? ir.ZeroExtendToQuad(ir.Imm64(imm64)) : ir.VectorBroadcast(64, ir.Imm64(imm64)); + const IR::U128 operand = V(datasize, Vd); + const IR::U128 result = ir.VectorOr(operand, imm); + V(datasize, Vd, result); + return true; + }; + + // BIC (vector, immediate) + const auto bic = [&] { + const u64 imm64 = ~AdvSIMDExpandImm(op, cmode, concatenate(a, b, c, d, e, f, g, h)); + const IR::U128 imm = datasize == 64 ? ir.ZeroExtendToQuad(ir.Imm64(imm64)) : ir.VectorBroadcast(64, ir.Imm64(imm64)); + const IR::U128 operand = V(datasize, Vd); + const IR::U128 result = ir.VectorAnd(operand, imm); + V(datasize, Vd, result); + return true; + }; + + switch (concatenate(cmode, Imm<1>{op}).ZeroExtend()) { + case 0b00000: + case 0b00100: + case 0b01000: + case 0b01100: + case 0b10000: + case 0b10100: + case 0b11000: + case 0b11010: + case 0b11100: + case 0b11101: + case 0b11110: + return movi(); + case 0b11111: + if (!Q) { + return UnallocatedEncoding(); + } + return movi(); + case 0b00001: + case 0b00101: + case 0b01001: + case 0b01101: + case 0b10001: + case 0b10101: + case 0b11001: + case 0b11011: + return mvni(); + case 0b00010: + case 0b00110: + case 0b01010: + case 0b01110: + case 0b10010: + case 0b10110: + return orr(); + case 0b00011: + case 0b00111: + case 0b01011: + case 0b01111: + case 0b10011: + case 0b10111: + return bic(); + } + + UNREACHABLE(); +} + +bool TranslatorVisitor::FMOV_2(bool Q, bool op, Imm<1> a, Imm<1> b, Imm<1> c, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + if (op && !Q) { + return UnallocatedEncoding(); + } + + const u64 imm64 = AdvSIMDExpandImm(op, Imm<4>{0b1111}, concatenate(a, b, c, d, e, f, g, h)); + + const IR::U128 imm = datasize == 64 ? ir.ZeroExtendToQuad(ir.Imm64(imm64)) : ir.VectorBroadcast(64, ir.Imm64(imm64)); + V(128, Vd, imm); + return true; +} + +bool TranslatorVisitor::FMOV_3(bool Q, Imm<1> a, Imm<1> b, Imm<1> c, Imm<1> d, Imm<1> e, Imm<1> f, Imm<1> g, Imm<1> h, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const Imm<8> imm8 = concatenate(a, b, c, d, e, f, g, h); + const u16 imm16 = [&imm8] { + u16 imm16 = 0; + imm16 |= imm8.Bit<7>() ? 0x8000 : 0; + imm16 |= imm8.Bit<6>() ? 0x3000 : 0x4000; + imm16 |= imm8.Bits<0, 5, u16>() << 6; + return imm16; + }(); + const u64 imm64 = Common::Replicate(imm16, 16); + + const IR::U128 imm = datasize == 64 ? ir.ZeroExtendToQuad(ir.Imm64(imm64)) : ir.VectorBroadcast(64, ir.Imm64(imm64)); + V(128, Vd, imm); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_permute.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_permute.cpp new file mode 100755 index 000000000..95f3a37e0 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_permute.cpp @@ -0,0 +1,113 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class Transposition { + TRN1, + TRN2, +}; + +bool VectorTranspose(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, Transposition type) { + if (!Q && size == 0b11) { + return v.ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const u8 esize = static_cast(8 << size.ZeroExtend()); + + const IR::U128 m = v.V(datasize, Vm); + const IR::U128 n = v.V(datasize, Vn); + const IR::U128 result = v.ir.VectorTranspose(esize, n, m, type == Transposition::TRN2); + + v.V(datasize, Vd, result); + return true; +} + +enum class UnzipType { + Even, + Odd, +}; + +bool VectorUnzip(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, UnzipType type) { + if (size == 0b11 && !Q) { + return v.ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 n = v.V(datasize, Vn); + const IR::U128 m = v.V(datasize, Vm); + const IR::U128 result = type == UnzipType::Even + ? (Q ? v.ir.VectorDeinterleaveEven(esize, n, m) : v.ir.VectorDeinterleaveEvenLower(esize, n, m)) + : (Q ? v.ir.VectorDeinterleaveOdd(esize, n, m) : v.ir.VectorDeinterleaveOddLower(esize, n, m)); + + v.V(datasize, Vd, result); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::TRN1(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return VectorTranspose(*this, Q, size, Vm, Vn, Vd, Transposition::TRN1); +} + +bool TranslatorVisitor::TRN2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return VectorTranspose(*this, Q, size, Vm, Vn, Vd, Transposition::TRN2); +} + +bool TranslatorVisitor::UZP1(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return VectorUnzip(*this, Q, size, Vm, Vn, Vd, UnzipType::Even); +} + +bool TranslatorVisitor::UZP2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return VectorUnzip(*this, Q, size, Vm, Vn, Vd, UnzipType::Odd); +} + +bool TranslatorVisitor::ZIP1(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorInterleaveLower(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::ZIP2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = [&] { + if (Q) { + return ir.VectorInterleaveUpper(esize, operand1, operand2); + } + + // TODO: Urgh. + const IR::U128 interleaved = ir.VectorInterleaveLower(esize, operand1, operand2); + return ir.VectorZeroUpper(ir.VectorShuffleWords(interleaved, 0b01001110)); + }(); + + V(datasize, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_pairwise.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_pairwise.cpp new file mode 100755 index 000000000..63615b0f9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_pairwise.cpp @@ -0,0 +1,80 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class MinMaxOperation { + Max, + MaxNumeric, + Min, + MinNumeric, +}; + +bool FPPairwiseMinMax(TranslatorVisitor& v, bool sz, Vec Vn, Vec Vd, MinMaxOperation operation) { + const size_t esize = sz ? 64 : 32; + + const IR::U128 operand = v.V(128, Vn); + const IR::U32U64 element1 = v.ir.VectorGetElement(esize, operand, 0); + const IR::U32U64 element2 = v.ir.VectorGetElement(esize, operand, 1); + const IR::U32U64 result = [&] { + switch (operation) { + case MinMaxOperation::Max: + return v.ir.FPMax(element1, element2); + case MinMaxOperation::MaxNumeric: + return v.ir.FPMaxNumeric(element1, element2); + case MinMaxOperation::Min: + return v.ir.FPMin(element1, element2); + case MinMaxOperation::MinNumeric: + return v.ir.FPMinNumeric(element1, element2); + default: + UNREACHABLE(); + } + }(); + + v.V(128, Vd, v.ir.ZeroExtendToQuad(result)); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::ADDP_pair(Imm<2> size, Vec Vn, Vec Vd) { + if (size != 0b11) { + return ReservedValue(); + } + + const IR::U64 operand1 = ir.VectorGetElement(64, V(128, Vn), 0); + const IR::U64 operand2 = ir.VectorGetElement(64, V(128, Vn), 1); + const IR::U128 result = ir.ZeroExtendToQuad(ir.Add(operand1, operand2)); + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::FADDP_pair_2(bool size, Vec Vn, Vec Vd) { + const size_t esize = size ? 64 : 32; + + const IR::U32U64 operand1 = ir.VectorGetElement(esize, V(128, Vn), 0); + const IR::U32U64 operand2 = ir.VectorGetElement(esize, V(128, Vn), 1); + const IR::U128 result = ir.ZeroExtendToQuad(ir.FPAdd(operand1, operand2)); + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::FMAXNMP_pair_2(bool sz, Vec Vn, Vec Vd) { + return FPPairwiseMinMax(*this, sz, Vn, Vd, MinMaxOperation::MaxNumeric); +} + +bool TranslatorVisitor::FMAXP_pair_2(bool sz, Vec Vn, Vec Vd) { + return FPPairwiseMinMax(*this, sz, Vn, Vd, MinMaxOperation::Max); +} + +bool TranslatorVisitor::FMINNMP_pair_2(bool sz, Vec Vn, Vec Vd) { + return FPPairwiseMinMax(*this, sz, Vn, Vd, MinMaxOperation::MinNumeric); +} + +bool TranslatorVisitor::FMINP_pair_2(bool sz, Vec Vn, Vec Vd) { + return FPPairwiseMinMax(*this, sz, Vn, Vd, MinMaxOperation::Min); +} +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp new file mode 100755 index 000000000..df58c6698 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_shift_by_immediate.cpp @@ -0,0 +1,352 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class Narrowing { + Truncation, + SaturateToUnsigned, + SaturateToSigned, +}; + +enum class SaturatingShiftLeftType { + Signed, + Unsigned, + SignedWithUnsignedSaturation, +}; + +enum class ShiftExtraBehavior { + None, + Accumulate, +}; + +enum class Signedness { + Signed, + Unsigned, +}; + +enum class FloatConversionDirection { + FixedToFloat, + FloatToFixed, +}; + +bool SaturatingShiftLeft(TranslatorVisitor& v, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, SaturatingShiftLeftType type) { + if (immh == 0b0000) { + return v.ReservedValue(); + } + + const size_t esize = 8U << Common::HighestSetBit(immh.ZeroExtend()); + const size_t shift_amount = concatenate(immh, immb).ZeroExtend() - esize; + + const IR::U128 operand = v.ir.ZeroExtendToQuad(v.V_scalar(esize, Vn)); + const IR::U128 shift = v.ir.ZeroExtendToQuad(v.I(esize, shift_amount)); + const IR::U128 result = [&v, esize, operand, shift, type] { + if (type == SaturatingShiftLeftType::Signed) { + return v.ir.VectorSignedSaturatedShiftLeft(esize, operand, shift); + } + + if (type == SaturatingShiftLeftType::Unsigned) { + return v.ir.VectorUnsignedSaturatedShiftLeft(esize, operand, shift); + } + + return v.ir.VectorSignedSaturatedShiftLeftUnsigned(esize, operand, shift); + }(); + + v.ir.SetQ(Vd, result); + return true; +} + +bool ShiftRight(TranslatorVisitor& v, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, ShiftExtraBehavior behavior, Signedness signedness) { + if (!immh.Bit<3>()) { + return v.ReservedValue(); + } + + const size_t esize = 64; + const u8 shift_amount = static_cast((esize * 2) - concatenate(immh, immb).ZeroExtend()); + + const IR::U64 operand = v.V_scalar(esize, Vn); + IR::U64 result = [&]() -> IR::U64 { + if (signedness == Signedness::Signed) { + return v.ir.ArithmeticShiftRight(operand, v.ir.Imm8(shift_amount)); + } + return v.ir.LogicalShiftRight(operand, v.ir.Imm8(shift_amount)); + }(); + + if (behavior == ShiftExtraBehavior::Accumulate) { + const IR::U64 addend = v.V_scalar(esize, Vd); + result = v.ir.Add(result, addend); + } + + v.V_scalar(esize, Vd, result); + return true; +} + +bool RoundingShiftRight(TranslatorVisitor& v, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, ShiftExtraBehavior behavior, Signedness signedness) { + if (!immh.Bit<3>()) { + return v.ReservedValue(); + } + + const size_t esize = 64; + const u8 shift_amount = static_cast((esize * 2) - concatenate(immh, immb).ZeroExtend()); + + const IR::U64 operand = v.V_scalar(esize, Vn); + const IR::U64 round_bit = v.ir.LogicalShiftRight(v.ir.LogicalShiftLeft(operand, v.ir.Imm8(64 - shift_amount)), v.ir.Imm8(63)); + const IR::U64 result = [&] { + const IR::U64 shifted = [&]() -> IR::U64 { + if (signedness == Signedness::Signed) { + return v.ir.ArithmeticShiftRight(operand, v.ir.Imm8(shift_amount)); + } + return v.ir.LogicalShiftRight(operand, v.ir.Imm8(shift_amount)); + }(); + + IR::U64 tmp = v.ir.Add(shifted, round_bit); + + if (behavior == ShiftExtraBehavior::Accumulate) { + tmp = v.ir.Add(tmp, v.V_scalar(esize, Vd)); + } + + return tmp; + }(); + + v.V_scalar(esize, Vd, result); + return true; +} + +enum class ShiftDirection { + Left, + Right, +}; + +bool ShiftAndInsert(TranslatorVisitor& v, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, ShiftDirection direction) { + if (!immh.Bit<3>()) { + return v.ReservedValue(); + } + + const size_t esize = 64; + + const u8 shift_amount = [&] { + if (direction == ShiftDirection::Right) { + return static_cast((esize * 2) - concatenate(immh, immb).ZeroExtend()); + } + + return static_cast(concatenate(immh, immb).ZeroExtend() - esize); + }(); + + const u64 mask = [&] { + if (direction == ShiftDirection::Right) { + return shift_amount == esize ? 0 : Common::Ones(esize) >> shift_amount; + } + + return Common::Ones(esize) << shift_amount; + }(); + + const IR::U64 operand1 = v.V_scalar(esize, Vn); + const IR::U64 operand2 = v.V_scalar(esize, Vd); + + const IR::U64 shifted = [&] { + if (direction == ShiftDirection::Right) { + return v.ir.LogicalShiftRight(operand1, v.ir.Imm8(shift_amount)); + } + + return v.ir.LogicalShiftLeft(operand1, v.ir.Imm8(shift_amount)); + }(); + + const IR::U64 result = v.ir.Or(v.ir.And(operand2, v.ir.Not(v.ir.Imm64(mask))), shifted); + v.V_scalar(esize, Vd, result); + return true; +} + +bool ShiftRightNarrowing(TranslatorVisitor& v, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, Narrowing narrowing, Signedness signedness) { + if (immh == 0b0000) { + return v.ReservedValue(); + } + + if (immh.Bit<3>()) { + return v.ReservedValue(); + } + + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t source_esize = 2 * esize; + const u8 shift_amount = static_cast(source_esize - concatenate(immh, immb).ZeroExtend()); + + const IR::U128 operand = v.ir.ZeroExtendToQuad(v.ir.VectorGetElement(source_esize, v.V(128, Vn), 0)); + + IR::U128 wide_result = [&] { + if (signedness == Signedness::Signed) { + return v.ir.VectorArithmeticShiftRight(source_esize, operand, shift_amount); + } + return v.ir.VectorLogicalShiftRight(source_esize, operand, shift_amount); + }(); + + const IR::U128 result = [&] { + switch (narrowing) { + case Narrowing::Truncation: + return v.ir.VectorNarrow(source_esize, wide_result); + case Narrowing::SaturateToUnsigned: + if (signedness == Signedness::Signed) { + return v.ir.VectorSignedSaturatedNarrowToUnsigned(source_esize, wide_result); + } + return v.ir.VectorUnsignedSaturatedNarrow(source_esize, wide_result); + case Narrowing::SaturateToSigned: + ASSERT(signedness == Signedness::Signed); + return v.ir.VectorSignedSaturatedNarrowToSigned(source_esize, wide_result); + } + UNREACHABLE(); + }(); + + const IR::UAny segment = v.ir.VectorGetElement(esize, result, 0); + v.V_scalar(esize, Vd, segment); + return true; +} + +bool ScalarFPConvertWithRound(TranslatorVisitor& v, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, Signedness sign, FloatConversionDirection direction, FP::RoundingMode rounding_mode) { + const u32 immh_value = immh.ZeroExtend(); + + if ((immh_value & 0b1110) == 0b0000) { + return v.ReservedValue(); + } + + // TODO: We currently don't handle FP16, so bail like the ARM reference manual allows. + if ((immh_value & 0b1110) == 0b0010) { + return v.ReservedValue(); + } + + const size_t esize = (immh_value & 0b1000) != 0 ? 64 : 32; + const size_t concat = concatenate(immh, immb).ZeroExtend(); + const size_t fbits = (esize * 2) - concat; + + const IR::U32U64 operand = v.V_scalar(esize, Vn); + const IR::U32U64 result = [&]() -> IR::U32U64 { + switch (direction) { + case FloatConversionDirection::FloatToFixed: + if (esize == 64) { + return sign == Signedness::Signed + ? v.ir.FPToFixedS64(operand, fbits, rounding_mode) + : v.ir.FPToFixedU64(operand, fbits, rounding_mode); + } + + return sign == Signedness::Signed + ? v.ir.FPToFixedS32(operand, fbits, rounding_mode) + : v.ir.FPToFixedU32(operand, fbits, rounding_mode); + + case FloatConversionDirection::FixedToFloat: + if (esize == 64) { + return sign == Signedness::Signed + ? v.ir.FPSignedFixedToDouble(operand, fbits, rounding_mode) + : v.ir.FPUnsignedFixedToDouble(operand, fbits, rounding_mode); + } + + return sign == Signedness::Signed + ? v.ir.FPSignedFixedToSingle(operand, fbits, rounding_mode) + : v.ir.FPUnsignedFixedToSingle(operand, fbits, rounding_mode); + } + + UNREACHABLE(); + }(); + + v.V_scalar(esize, Vd, result); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::FCVTZS_fix_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, immh, immb, Vn, Vd, Signedness::Signed, FloatConversionDirection::FloatToFixed, FP::RoundingMode::TowardsZero); +} + +bool TranslatorVisitor::FCVTZU_fix_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, immh, immb, Vn, Vd, Signedness::Unsigned, FloatConversionDirection::FloatToFixed, FP::RoundingMode::TowardsZero); +} + +bool TranslatorVisitor::SCVTF_fix_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, immh, immb, Vn, Vd, Signedness::Signed, FloatConversionDirection::FixedToFloat, ir.current_location->FPCR().RMode()); +} + +bool TranslatorVisitor::UCVTF_fix_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, immh, immb, Vn, Vd, Signedness::Unsigned, FloatConversionDirection::FixedToFloat, ir.current_location->FPCR().RMode()); +} + +bool TranslatorVisitor::SLI_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftAndInsert(*this, immh, immb, Vn, Vd, ShiftDirection::Left); +} + +bool TranslatorVisitor::SRI_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftAndInsert(*this, immh, immb, Vn, Vd, ShiftDirection::Right); +} + +bool TranslatorVisitor::SQSHL_imm_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return SaturatingShiftLeft(*this, immh, immb, Vn, Vd, SaturatingShiftLeftType::Signed); +} + +bool TranslatorVisitor::SQSHLU_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return SaturatingShiftLeft(*this, immh, immb, Vn, Vd, SaturatingShiftLeftType::SignedWithUnsignedSaturation); +} + +bool TranslatorVisitor::SQSHRN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, immh, immb, Vn, Vd, Narrowing::SaturateToSigned, Signedness::Signed); +} + +bool TranslatorVisitor::SQSHRUN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, immh, immb, Vn, Vd, Narrowing::SaturateToUnsigned, Signedness::Signed); +} + +bool TranslatorVisitor::SRSHR_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return RoundingShiftRight(*this, immh, immb, Vn, Vd, ShiftExtraBehavior::None, Signedness::Signed); +} + +bool TranslatorVisitor::SRSRA_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return RoundingShiftRight(*this, immh, immb, Vn, Vd, ShiftExtraBehavior::Accumulate, Signedness::Signed); +} + +bool TranslatorVisitor::SSHR_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, immh, immb, Vn, Vd, ShiftExtraBehavior::None, Signedness::Signed); +} + +bool TranslatorVisitor::SSRA_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, immh, immb, Vn, Vd, ShiftExtraBehavior::Accumulate, Signedness::Signed); +} + +bool TranslatorVisitor::SHL_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + if (!immh.Bit<3>()) { + return ReservedValue(); + } + + const size_t esize = 64; + const u8 shift_amount = static_cast(concatenate(immh, immb).ZeroExtend() - esize); + + const IR::U64 operand = V_scalar(esize, Vn); + const IR::U64 result = ir.LogicalShiftLeft(operand, ir.Imm8(shift_amount)); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::UQSHL_imm_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return SaturatingShiftLeft(*this, immh, immb, Vn, Vd, SaturatingShiftLeftType::Unsigned); +} + +bool TranslatorVisitor::UQSHRN_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, immh, immb, Vn, Vd, Narrowing::SaturateToUnsigned, Signedness::Unsigned); +} + +bool TranslatorVisitor::URSHR_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return RoundingShiftRight(*this, immh, immb, Vn, Vd, ShiftExtraBehavior::None, Signedness::Unsigned); +} + +bool TranslatorVisitor::URSRA_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return RoundingShiftRight(*this, immh, immb, Vn, Vd, ShiftExtraBehavior::Accumulate, Signedness::Unsigned); +} + +bool TranslatorVisitor::USHR_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, immh, immb, Vn, Vd, ShiftExtraBehavior::None, Signedness::Unsigned); +} + +bool TranslatorVisitor::USRA_1(Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, immh, immb, Vn, Vd, ShiftExtraBehavior::Accumulate, Signedness::Unsigned); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_three_same.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_three_same.cpp new file mode 100755 index 000000000..76ef26ad4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_three_same.cpp @@ -0,0 +1,437 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class ComparisonType { + EQ, + GE, + GT, + HI, + HS, + LE, + LT, +}; + +enum class ComparisonVariant { + Register, + Zero, +}; + +enum class Signedness { + Signed, + Unsigned, +}; + +bool RoundingShiftLeft(TranslatorVisitor& v, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, Signedness sign) { + if (size != 0b11) { + return v.ReservedValue(); + } + + const IR::U128 operand1 = v.V(64, Vn); + const IR::U128 operand2 = v.V(64, Vm); + const IR::U128 result = [&] { + if (sign == Signedness::Signed) { + return v.ir.VectorRoundingShiftLeftSigned(64, operand1, operand2); + } + + return v.ir.VectorRoundingShiftLeftUnsigned(64, operand1, operand2); + }(); + + v.V(64, Vd, result); + return true; +} + +bool ScalarCompare(TranslatorVisitor& v, Imm<2> size, std::optional Vm, Vec Vn, Vec Vd, ComparisonType type, ComparisonVariant variant) { + if (size != 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 64; + const size_t datasize = 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = variant == ComparisonVariant::Register ? v.V(datasize, *Vm) : v.ir.ZeroVector(); + + const IR::U128 result = [&] { + switch (type) { + case ComparisonType::EQ: + return v.ir.VectorEqual(esize, operand1, operand2); + case ComparisonType::GE: + return v.ir.VectorGreaterEqualSigned(esize, operand1, operand2); + case ComparisonType::GT: + return v.ir.VectorGreaterSigned(esize, operand1, operand2); + case ComparisonType::HI: + return v.ir.VectorGreaterUnsigned(esize, operand1, operand2); + case ComparisonType::HS: + return v.ir.VectorGreaterEqualUnsigned(esize, operand1, operand2); + case ComparisonType::LE: + return v.ir.VectorLessEqualSigned(esize, operand1, operand2); + case ComparisonType::LT: + default: + return v.ir.VectorLessSigned(esize, operand1, operand2); + } + }(); + + v.V_scalar(datasize, Vd, v.ir.VectorGetElement(esize, result, 0)); + return true; +} + +enum class FPComparisonType { + EQ, + GE, + AbsoluteGE, + GT, + AbsoluteGT +}; + +bool ScalarFPCompareRegister(TranslatorVisitor& v, bool sz, Vec Vm, Vec Vn, Vec Vd, FPComparisonType type) { + const size_t esize = sz ? 64 : 32; + const size_t datasize = esize; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + const IR::U128 result = [&] { + switch (type) { + case FPComparisonType::EQ: + return v.ir.FPVectorEqual(esize, operand1, operand2); + case FPComparisonType::GE: + return v.ir.FPVectorGreaterEqual(esize, operand1, operand2); + case FPComparisonType::AbsoluteGE: + return v.ir.FPVectorGreaterEqual(esize, + v.ir.FPVectorAbs(esize, operand1), + v.ir.FPVectorAbs(esize, operand2)); + case FPComparisonType::GT: + return v.ir.FPVectorGreater(esize, operand1, operand2); + case FPComparisonType::AbsoluteGT: + return v.ir.FPVectorGreater(esize, + v.ir.FPVectorAbs(esize, operand1), + v.ir.FPVectorAbs(esize, operand2)); + } + + UNREACHABLE(); + }(); + + v.V_scalar(datasize, Vd, v.ir.VectorGetElement(esize, result, 0)); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::SQADD_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 8 << size.ZeroExtend(); + + const IR::UAny operand1 = V_scalar(esize, Vn); + const IR::UAny operand2 = V_scalar(esize, Vm); + const auto result = ir.SignedSaturatedAdd(operand1, operand2); + ir.OrQC(result.overflow); + V_scalar(esize, Vd, result.result); + return true; +} + +bool TranslatorVisitor::SQDMULH_vec_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + + const IR::UAny operand1 = V_scalar(esize, Vn); + const IR::UAny operand2 = V_scalar(esize, Vm); + const auto result = ir.SignedSaturatedDoublingMultiplyReturnHigh(operand1, operand2); + + ir.OrQC(result.overflow); + + V_scalar(esize, Vd, result.result); + return true; +} + +bool TranslatorVisitor::SQRDMULH_vec_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vn), 0)); + const IR::U128 operand2 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vm), 0)); + const IR::UpperAndLower multiply = ir.VectorSignedSaturatedDoublingMultiply(esize, operand1, operand2); + const IR::U128 result = ir.VectorAdd(esize, multiply.upper, ir.VectorLogicalShiftRight(esize, multiply.lower, static_cast(esize - 1))); + + V_scalar(esize, Vd, ir.VectorGetElement(esize, result, 0)); + return true; +} + +bool TranslatorVisitor::SQSUB_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 8 << size.ZeroExtend(); + + const IR::UAny operand1 = V_scalar(esize, Vn); + const IR::UAny operand2 = V_scalar(esize, Vm); + const auto result = ir.SignedSaturatedSub(operand1, operand2); + ir.OrQC(result.overflow); + V_scalar(esize, Vd, result.result); + return true; +} + +bool TranslatorVisitor::UQADD_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 8 << size.ZeroExtend(); + + const IR::UAny operand1 = V_scalar(esize, Vn); + const IR::UAny operand2 = V_scalar(esize, Vm); + const auto result = ir.UnsignedSaturatedAdd(operand1, operand2); + ir.OrQC(result.overflow); + V_scalar(esize, Vd, result.result); + return true; +} + +bool TranslatorVisitor::UQSUB_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 8 << size.ZeroExtend(); + + const IR::UAny operand1 = V_scalar(esize, Vn); + const IR::UAny operand2 = V_scalar(esize, Vm); + const auto result = ir.UnsignedSaturatedSub(operand1, operand2); + ir.OrQC(result.overflow); + V_scalar(esize, Vd, result.result); + return true; +} + +bool TranslatorVisitor::ADD_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size != 0b11) { + return ReservedValue(); + } + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = esize; + + const IR::U64 operand1 = V_scalar(datasize, Vn); + const IR::U64 operand2 = V_scalar(datasize, Vm); + const IR::U64 result = ir.Add(operand1, operand2); + V_scalar(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CMEQ_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, Vm, Vn, Vd, ComparisonType::EQ, ComparisonVariant::Register); +} + +bool TranslatorVisitor::CMEQ_zero_1(Imm<2> size, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, {}, Vn, Vd, ComparisonType::EQ, ComparisonVariant::Zero); +} + +bool TranslatorVisitor::CMGE_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, Vm, Vn, Vd, ComparisonType::GE, ComparisonVariant::Register); +} + +bool TranslatorVisitor::CMGE_zero_1(Imm<2> size, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, {}, Vn, Vd, ComparisonType::GE, ComparisonVariant::Zero); +} + +bool TranslatorVisitor::CMGT_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, Vm, Vn, Vd, ComparisonType::GT, ComparisonVariant::Register); +} + +bool TranslatorVisitor::CMGT_zero_1(Imm<2> size, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, {}, Vn, Vd, ComparisonType::GT, ComparisonVariant::Zero); +} + +bool TranslatorVisitor::CMLE_1(Imm<2> size, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, {}, Vn, Vd, ComparisonType::LE, ComparisonVariant::Zero); +} + +bool TranslatorVisitor::CMLT_1(Imm<2> size, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, {}, Vn, Vd, ComparisonType::LT, ComparisonVariant::Zero); +} + +bool TranslatorVisitor::CMHI_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, Vm, Vn, Vd, ComparisonType::HI, ComparisonVariant::Register); +} + +bool TranslatorVisitor::CMHS_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return ScalarCompare(*this, size, Vm, Vn, Vd, ComparisonType::HS, ComparisonVariant::Register); +} + +bool TranslatorVisitor::CMTST_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size != 0b11) { + return ReservedValue(); + } + + const IR::U128 operand1 = V(64, Vn); + const IR::U128 operand2 = V(64, Vm); + const IR::U128 anded = ir.VectorAnd(operand1, operand2); + const IR::U128 result = ir.VectorNot(ir.VectorEqual(64, anded, ir.ZeroVector())); + + V(64, Vd, result); + return true; +} + +bool TranslatorVisitor::FABD_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 operand1 = V_scalar(esize, Vn); + const IR::U32U64 operand2 = V_scalar(esize, Vm); + const IR::U32U64 result = ir.FPAbs(ir.FPSub(operand1, operand2)); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMULX_vec_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 operand1 = V_scalar(esize, Vn); + const IR::U32U64 operand2 = V_scalar(esize, Vm); + const IR::U32U64 result = ir.FPMulX(operand1, operand2); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRECPS_1(Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 16; + + const IR::U16 operand1 = V_scalar(esize, Vn); + const IR::U16 operand2 = V_scalar(esize, Vm); + const IR::U16 result = ir.FPRecipStepFused(operand1, operand2); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRECPS_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 operand1 = V_scalar(esize, Vn); + const IR::U32U64 operand2 = V_scalar(esize, Vm); + const IR::U32U64 result = ir.FPRecipStepFused(operand1, operand2); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRSQRTS_1(Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 16; + + const IR::U16 operand1 = V_scalar(esize, Vn); + const IR::U16 operand2 = V_scalar(esize, Vm); + const IR::U16 result = ir.FPRSqrtStepFused(operand1, operand2); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRSQRTS_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 operand1 = V_scalar(esize, Vn); + const IR::U32U64 operand2 = V_scalar(esize, Vm); + const IR::U32U64 result = ir.FPRSqrtStepFused(operand1, operand2); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FACGE_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + return ScalarFPCompareRegister(*this, sz, Vm, Vn, Vd, FPComparisonType::AbsoluteGE); +} + +bool TranslatorVisitor::FACGT_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + return ScalarFPCompareRegister(*this, sz, Vm, Vn, Vd, FPComparisonType::AbsoluteGT); +} + +bool TranslatorVisitor::FCMEQ_reg_1(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 lhs = V(128, Vn); + const IR::U128 rhs = V(128, Vm); + const IR::U128 result = ir.FPVectorEqual(16, lhs, rhs); + + V_scalar(16, Vd, ir.VectorGetElement(16, result, 0)); + return true; +} + +bool TranslatorVisitor::FCMEQ_reg_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + return ScalarFPCompareRegister(*this, sz, Vm, Vn, Vd, FPComparisonType::EQ); +} + +bool TranslatorVisitor::FCMGE_reg_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + return ScalarFPCompareRegister(*this, sz, Vm, Vn, Vd, FPComparisonType::GE); +} + +bool TranslatorVisitor::FCMGT_reg_2(bool sz, Vec Vm, Vec Vn, Vec Vd) { + return ScalarFPCompareRegister(*this, sz, Vm, Vn, Vd, FPComparisonType::GT); +} + +bool TranslatorVisitor::SQSHL_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 8U << size.ZeroExtend(); + + const IR::U128 operand1 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vn), 0)); + const IR::U128 operand2 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vm), 0)); + const IR::U128 result = ir.VectorSignedSaturatedShiftLeft(esize, operand1, operand2); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SRSHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return RoundingShiftLeft(*this, size, Vm, Vn, Vd, Signedness::Signed); +} + +bool TranslatorVisitor::SSHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size != 0b11) { + return ReservedValue(); + } + + const IR::U128 operand1 = V(64, Vn); + const IR::U128 operand2 = V(64, Vm); + const IR::U128 result = ir.VectorArithmeticVShift(64, operand1, operand2); + + V(64, Vd, result); + return true; +} + +bool TranslatorVisitor::SUB_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size != 0b11) { + return ReservedValue(); + } + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = esize; + + const IR::U64 operand1 = V_scalar(datasize, Vn); + const IR::U64 operand2 = V_scalar(datasize, Vm); + const IR::U64 result = ir.Sub(operand1, operand2); + V_scalar(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::UQSHL_reg_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 8U << size.ZeroExtend(); + + const IR::U128 operand1 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vn), 0)); + const IR::U128 operand2 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vm), 0)); + const IR::U128 result = ir.VectorUnsignedSaturatedShiftLeft(esize, operand1, operand2); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::URSHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return RoundingShiftLeft(*this, size, Vm, Vn, Vd, Signedness::Unsigned); +} + +bool TranslatorVisitor::USHL_1(Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size != 0b11) { + return ReservedValue(); + } + + const IR::U128 operand1 = V(64, Vn); + const IR::U128 operand2 = V(64, Vm); + const IR::U128 result = ir.VectorLogicalVShift(64, operand1, operand2); + + V(64, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp new file mode 100755 index 000000000..2289f5cbd --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_two_register_misc.cpp @@ -0,0 +1,331 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class ComparisonType { + EQ, + GE, + GT, + LE, + LT +}; + +enum class Signedness { + Signed, + Unsigned +}; + +bool ScalarFPCompareAgainstZero(TranslatorVisitor& v, bool sz, Vec Vn, Vec Vd, ComparisonType type) { + const size_t esize = sz ? 64 : 32; + const size_t datasize = esize; + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 zero = v.ir.ZeroVector(); + const IR::U128 result = [&] { + switch (type) { + case ComparisonType::EQ: + return v.ir.FPVectorEqual(esize, operand, zero); + case ComparisonType::GE: + return v.ir.FPVectorGreaterEqual(esize, operand, zero); + case ComparisonType::GT: + return v.ir.FPVectorGreater(esize, operand, zero); + case ComparisonType::LE: + return v.ir.FPVectorGreaterEqual(esize, zero, operand); + case ComparisonType::LT: + return v.ir.FPVectorGreater(esize, zero, operand); + } + + UNREACHABLE(); + }(); + + v.V_scalar(datasize, Vd, v.ir.VectorGetElement(esize, result, 0)); + return true; +} + +bool ScalarFPConvertWithRound(TranslatorVisitor& v, bool sz, Vec Vn, Vec Vd, FP::RoundingMode rmode, Signedness sign) { + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 operand = v.V_scalar(esize, Vn); + const IR::U32U64 result = [&]() -> IR::U32U64 { + if (sz) { + return sign == Signedness::Signed + ? v.ir.FPToFixedS64(operand, 0, rmode) + : v.ir.FPToFixedU64(operand, 0, rmode); + } + + return sign == Signedness::Signed + ? v.ir.FPToFixedS32(operand, 0, rmode) + : v.ir.FPToFixedU32(operand, 0, rmode); + }(); + + v.V_scalar(esize, Vd, result); + return true; +} + +using NarrowingFn = IR::U128 (IR::IREmitter::*)(size_t, const IR::U128&); + +bool SaturatedNarrow(TranslatorVisitor& v, Imm<2> size, Vec Vn, Vec Vd, NarrowingFn fn) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand = v.ir.ZeroExtendToQuad(v.V_scalar(2 * esize, Vn)); + const IR::U128 result = (v.ir.*fn)(2 * esize, operand); + + v.V_scalar(64, Vd, v.ir.VectorGetElement(64, result, 0)); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::ABS_1(Imm<2> size, Vec Vn, Vec Vd) { + if (size != 0b11) { + return ReservedValue(); + } + + const IR::U64 operand1 = V_scalar(64, Vn); + const IR::U64 operand2 = ir.ArithmeticShiftRight(operand1, ir.Imm8(63)); + const IR::U64 result = ir.Sub(ir.Eor(operand1, operand2), operand2); + + V_scalar(64, Vd, result); + return true; +} + +bool TranslatorVisitor::FCMEQ_zero_1(Vec Vn, Vec Vd) { + const IR::U128 operand = ir.ZeroExtendToQuad(V_scalar(16, Vn)); + const IR::U128 zero = ir.ZeroVector(); + const IR::U128 result = ir.FPVectorEqual(16, operand, zero); + + V_scalar(16, Vd, ir.VectorGetElement(16, result, 0)); + return true; +} + +bool TranslatorVisitor::FCMEQ_zero_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPCompareAgainstZero(*this, sz, Vn, Vd, ComparisonType::EQ); +} + +bool TranslatorVisitor::FCMGE_zero_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPCompareAgainstZero(*this, sz, Vn, Vd, ComparisonType::GE); +} + +bool TranslatorVisitor::FCMGT_zero_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPCompareAgainstZero(*this, sz, Vn, Vd, ComparisonType::GT); +} + +bool TranslatorVisitor::FCMLE_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPCompareAgainstZero(*this, sz, Vn, Vd, ComparisonType::LE); +} + +bool TranslatorVisitor::FCMLT_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPCompareAgainstZero(*this, sz, Vn, Vd, ComparisonType::LT); +} + +bool TranslatorVisitor::FCVTAS_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::ToNearest_TieAwayFromZero, Signedness::Signed); +} + +bool TranslatorVisitor::FCVTAU_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::ToNearest_TieAwayFromZero, Signedness::Unsigned); +} + +bool TranslatorVisitor::FCVTMS_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::TowardsMinusInfinity, Signedness::Signed); +} + +bool TranslatorVisitor::FCVTMU_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::TowardsMinusInfinity, Signedness::Unsigned); +} + +bool TranslatorVisitor::FCVTNS_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::ToNearest_TieEven, Signedness::Signed); +} + +bool TranslatorVisitor::FCVTNU_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::ToNearest_TieEven, Signedness::Unsigned); +} + +bool TranslatorVisitor::FCVTPS_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::TowardsPlusInfinity, Signedness::Signed); +} + +bool TranslatorVisitor::FCVTPU_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::TowardsPlusInfinity, Signedness::Unsigned); +} + +bool TranslatorVisitor::FCVTXN_1(bool sz, Vec Vn, Vec Vd) { + if (!sz) { + return ReservedValue(); + } + + const IR::U64 element = V_scalar(64, Vn); + const IR::U32 result = ir.FPDoubleToSingle(element, FP::RoundingMode::ToOdd); + + V_scalar(32, Vd, result); + return true; +} + +bool TranslatorVisitor::FCVTZS_int_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::TowardsZero, Signedness::Signed); +} + +bool TranslatorVisitor::FCVTZU_int_2(bool sz, Vec Vn, Vec Vd) { + return ScalarFPConvertWithRound(*this, sz, Vn, Vd, FP::RoundingMode::TowardsZero, Signedness::Unsigned); +} + +bool TranslatorVisitor::FRECPE_1(Vec Vn, Vec Vd) { + const size_t esize = 16; + + const IR::U16 operand = V_scalar(esize, Vn); + const IR::U16 result = ir.FPRecipEstimate(operand); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRECPE_2(bool sz, Vec Vn, Vec Vd) { + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 operand = V_scalar(esize, Vn); + const IR::U32U64 result = ir.FPRecipEstimate(operand); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRECPX_1(Vec Vn, Vec Vd) { + const IR::U16 operand = V_scalar(16, Vn); + const IR::U16 result = ir.FPRecipExponent(operand); + + V_scalar(16, Vd, result); + return true; +} + +bool TranslatorVisitor::FRECPX_2(bool sz, Vec Vn, Vec Vd) { + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 operand = V_scalar(esize, Vn); + const IR::U32U64 result = ir.FPRecipExponent(operand); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRSQRTE_1(Vec Vn, Vec Vd) { + const size_t esize = 16; + + const IR::U16 operand = V_scalar(esize, Vn); + const IR::U16 result = ir.FPRSqrtEstimate(operand); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRSQRTE_2(bool sz, Vec Vn, Vec Vd) { + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 operand = V_scalar(esize, Vn); + const IR::U32U64 result = ir.FPRSqrtEstimate(operand); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::NEG_1(Imm<2> size, Vec Vn, Vec Vd) { + if (size != 0b11) { + return ReservedValue(); + } + + const IR::U64 operand = V_scalar(64, Vn); + const IR::U64 result = ir.Sub(ir.Imm64(0), operand); + + V_scalar(64, Vd, result); + return true; +} + +bool TranslatorVisitor::SCVTF_int_2(bool sz, Vec Vn, Vec Vd) { + const auto esize = sz ? 64 : 32; + + const IR::U32U64 element = V_scalar(esize, Vn); + const IR::U32U64 result = esize == 32 + ? IR::U32U64(ir.FPSignedFixedToSingle(element, 0, ir.current_location->FPCR().RMode())) + : IR::U32U64(ir.FPSignedFixedToDouble(element, 0, ir.current_location->FPCR().RMode())); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::SQABS_1(Imm<2> size, Vec Vn, Vec Vd) { + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vn), 0)); + const IR::U128 result = ir.VectorSignedSaturatedAbs(esize, operand); + + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::SQNEG_1(Imm<2> size, Vec Vn, Vec Vd) { + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vn), 0)); + const IR::U128 result = ir.VectorSignedSaturatedNeg(esize, operand); + + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::SQXTN_1(Imm<2> size, Vec Vn, Vec Vd) { + return SaturatedNarrow(*this, size, Vn, Vd, &IREmitter::VectorSignedSaturatedNarrowToSigned); +} + +bool TranslatorVisitor::SQXTUN_1(Imm<2> size, Vec Vn, Vec Vd) { + return SaturatedNarrow(*this, size, Vn, Vd, &IREmitter::VectorSignedSaturatedNarrowToUnsigned); +} + +bool TranslatorVisitor::SUQADD_1(Imm<2> size, Vec Vn, Vec Vd) { + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = 64; + + const IR::U128 operand1 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(datasize, Vn), 0)); + const IR::U128 operand2 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(datasize, Vd), 0)); + const IR::U128 result = ir.VectorSignedSaturatedAccumulateUnsigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::UCVTF_int_2(bool sz, Vec Vn, Vec Vd) { + const auto esize = sz ? 64 : 32; + + const IR::U32U64 element = V_scalar(esize, Vn); + const IR::U32U64 result = esize == 32 + ? IR::U32U64(ir.FPUnsignedFixedToSingle(element, 0, ir.current_location->FPCR().RMode())) + : IR::U32U64(ir.FPUnsignedFixedToDouble(element, 0, ir.current_location->FPCR().RMode())); + + V_scalar(esize, Vd, result); + return true; +} + +bool TranslatorVisitor::UQXTN_1(Imm<2> size, Vec Vn, Vec Vd) { + return SaturatedNarrow(*this, size, Vn, Vd, &IREmitter::VectorUnsignedSaturatedNarrow); +} + +bool TranslatorVisitor::USQADD_1(Imm<2> size, Vec Vn, Vec Vd) { + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = 64; + + const IR::U128 operand1 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(datasize, Vn), 0)); + const IR::U128 operand2 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(datasize, Vd), 0)); + const IR::U128 result = ir.VectorUnsignedSaturatedAccumulateSigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp new file mode 100755 index 000000000..aca340574 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_scalar_x_indexed_element.cpp @@ -0,0 +1,172 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +std::pair Combine(Imm<2> size, Imm<1> H, Imm<1> L, Imm<1> M, Imm<4> Vmlo) { + if (size == 0b01) { + return {concatenate(H, L, M).ZeroExtend(), Vmlo.ZeroExtend()}; + } + + return {concatenate(H, L).ZeroExtend(), concatenate(M, Vmlo).ZeroExtend()}; +} + +enum class ExtraBehavior { + None, + Accumulate, + Subtract, + MultiplyExtended, +}; + +bool MultiplyByElement(TranslatorVisitor& v, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd, ExtraBehavior extra_behavior) { + if (sz && L == 1) { + return v.ReservedValue(); + } + + const size_t idxdsize = H == 1 ? 128 : 64; + const size_t index = sz ? H.ZeroExtend() : concatenate(H, L).ZeroExtend(); + const Vec Vm = concatenate(M, Vmlo).ZeroExtend(); + const size_t esize = sz ? 64 : 32; + + const IR::U32U64 element = v.ir.VectorGetElement(esize, v.V(idxdsize, Vm), index); + const IR::U32U64 result = [&]() -> IR::U32U64 { + IR::U32U64 operand1 = v.V_scalar(esize, Vn); + + if (extra_behavior == ExtraBehavior::None) { + return v.ir.FPMul(operand1, element); + } + + if (extra_behavior == ExtraBehavior::MultiplyExtended) { + return v.ir.FPMulX(operand1, element); + } + + if (extra_behavior == ExtraBehavior::Subtract) { + operand1 = v.ir.FPNeg(operand1); + } + + const IR::U32U64 operand2 = v.V_scalar(esize, Vd); + return v.ir.FPMulAdd(operand2, operand1, element); + }(); + + v.V_scalar(esize, Vd, result); + return true; +} + +bool MultiplyByElementHalfPrecision(TranslatorVisitor& v, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd, ExtraBehavior extra_behavior) { + const size_t esize = 16; + const size_t idxsize = H == 1 ? 128 : 64; + const size_t index = concatenate(H, L, M).ZeroExtend(); + + const auto Vm = Vmlo.ZeroExtend(); + const IR::U16 element = v.ir.VectorGetElement(esize, v.V(idxsize, Vm), index); + const IR::U16 result = [&]() -> IR::U16 { + IR::U16 operand1 = v.V_scalar(esize, Vn); + + // TODO: Currently we don't implement half-precision paths + // for regular multiplication and extended multiplication. + + if (extra_behavior == ExtraBehavior::None) { + ASSERT_FALSE("half-precision option unimplemented"); + } + + if (extra_behavior == ExtraBehavior::MultiplyExtended) { + ASSERT_FALSE("half-precision option unimplemented"); + } + + if (extra_behavior == ExtraBehavior::Subtract) { + operand1 = v.ir.FPNeg(operand1); + } + + const IR::U16 operand2 = v.V_scalar(esize, Vd); + return v.ir.FPMulAdd(operand2, operand1, element); + }(); + + v.V_scalar(esize, Vd, result); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::FMLA_elt_1(Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElementHalfPrecision(*this, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Accumulate); +} + +bool TranslatorVisitor::FMLA_elt_2(bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElement(*this, sz, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Accumulate); +} + +bool TranslatorVisitor::FMLS_elt_1(Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElementHalfPrecision(*this, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Subtract); +} + +bool TranslatorVisitor::FMLS_elt_2(bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElement(*this, sz, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Subtract); +} + +bool TranslatorVisitor::FMUL_elt_2(bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElement(*this, sz, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::None); +} + +bool TranslatorVisitor::FMULX_elt_2(bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElement(*this, sz, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::MultiplyExtended); +} + +bool TranslatorVisitor::SQDMULH_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const auto [index, Vm] = Combine(size, H, L, M, Vmlo); + + const IR::UAny operand1 = V_scalar(esize, Vn); + const IR::UAny operand2 = ir.VectorGetElement(esize, V(128, Vm), index); + const auto result = ir.SignedSaturatedDoublingMultiplyReturnHigh(operand1, operand2); + + ir.OrQC(result.overflow); + + V_scalar(esize, Vd, result.result); + return true; +} + +bool TranslatorVisitor::SQRDMULH_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const auto [index, Vm] = Combine(size, H, L, M, Vmlo); + + const IR::U128 operand1 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vn), 0)); + const IR::UAny operand2 = ir.VectorGetElement(esize, V(128, Vm), index); + const IR::U128 broadcast = ir.VectorBroadcast(esize, operand2); + const IR::UpperAndLower multiply = ir.VectorSignedSaturatedDoublingMultiply(esize, operand1, broadcast); + const IR::U128 result = ir.VectorAdd(esize, multiply.upper, ir.VectorLogicalShiftRight(esize, multiply.lower, static_cast(esize - 1))); + + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::SQDMULL_elt_1(Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const auto [index, Vm] = Combine(size, H, L, M, Vmlo); + + const IR::U128 operand1 = ir.ZeroExtendToQuad(ir.VectorGetElement(esize, V(128, Vn), 0)); + const IR::UAny operand2 = ir.VectorGetElement(esize, V(128, Vm), index); + const IR::U128 broadcast = ir.VectorBroadcast(esize, operand2); + const IR::U128 result = ir.VectorSignedSaturatedDoublingMultiplyLong(esize, operand1, broadcast); + + V(128, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_sha.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_sha.cpp new file mode 100755 index 000000000..8f0b68cf8 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_sha.cpp @@ -0,0 +1,261 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +IR::U32 SHAchoose(IREmitter& ir, IR::U32 x, IR::U32 y, IR::U32 z) { + return ir.Eor(ir.And(ir.Eor(y, z), x), z); +} + +IR::U32 SHAmajority(IREmitter& ir, IR::U32 x, IR::U32 y, IR::U32 z) { + return ir.Or(ir.And(x, y), ir.And(ir.Or(x, y), z)); +} + +IR::U32 SHAparity(IREmitter& ir, IR::U32 x, IR::U32 y, IR::U32 z) { + return ir.Eor(ir.Eor(y, z), x); +} + +using SHA1HashUpdateFunction = IR::U32(IREmitter&, IR::U32, IR::U32, IR::U32); + +IR::U128 SHA1HashUpdate(IREmitter& ir, Vec Vm, Vec Vn, Vec Vd, SHA1HashUpdateFunction fn) { + IR::U128 x = ir.GetQ(Vd); + IR::U32 y = ir.VectorGetElement(32, ir.GetQ(Vn), 0); + const IR::U128 w = ir.GetQ(Vm); + + for (size_t i = 0; i < 4; i++) { + const IR::U32 low_x = ir.VectorGetElement(32, x, 0); + const IR::U32 after_low_x = ir.VectorGetElement(32, x, 1); + const IR::U32 before_high_x = ir.VectorGetElement(32, x, 2); + const IR::U32 high_x = ir.VectorGetElement(32, x, 3); + const IR::U32 t = fn(ir, after_low_x, before_high_x, high_x); + const IR::U32 w_segment = ir.VectorGetElement(32, w, i); + + y = ir.Add(ir.Add(ir.Add(y, ir.RotateRight(low_x, ir.Imm8(27))), t), w_segment); + x = ir.VectorSetElement(32, x, 1, ir.RotateRight(after_low_x, ir.Imm8(2))); + + // Move each 32-bit element to the left once + // e.g. [3, 2, 1, 0], becomes [2, 1, 0, 3] + const IR::U128 shuffled_x = ir.VectorShuffleWords(x, 0b10010011); + x = ir.VectorSetElement(32, shuffled_x, 0, y); + y = high_x; + } + + return x; +} + +IR::U32 SHAhashSIGMA0(IREmitter& ir, IR::U32 x) { + const IR::U32 tmp1 = ir.RotateRight(x, ir.Imm8(2)); + const IR::U32 tmp2 = ir.RotateRight(x, ir.Imm8(13)); + const IR::U32 tmp3 = ir.RotateRight(x, ir.Imm8(22)); + + return ir.Eor(tmp1, ir.Eor(tmp2, tmp3)); +} + +IR::U32 SHAhashSIGMA1(IREmitter& ir, IR::U32 x) { + const IR::U32 tmp1 = ir.RotateRight(x, ir.Imm8(6)); + const IR::U32 tmp2 = ir.RotateRight(x, ir.Imm8(11)); + const IR::U32 tmp3 = ir.RotateRight(x, ir.Imm8(25)); + + return ir.Eor(tmp1, ir.Eor(tmp2, tmp3)); +} + +enum class SHA256HashPart { + Part1, + Part2 +}; + +IR::U128 SHA256hash(IREmitter& ir, IR::U128 x, IR::U128 y, IR::U128 w, SHA256HashPart part) { + for (size_t i = 0; i < 4; i++) { + const IR::U32 low_x = ir.VectorGetElement(32, x, 0); + const IR::U32 after_low_x = ir.VectorGetElement(32, x, 1); + const IR::U32 before_high_x = ir.VectorGetElement(32, x, 2); + const IR::U32 high_x = ir.VectorGetElement(32, x, 3); + + const IR::U32 low_y = ir.VectorGetElement(32, y, 0); + const IR::U32 after_low_y = ir.VectorGetElement(32, y, 1); + const IR::U32 before_high_y = ir.VectorGetElement(32, y, 2); + const IR::U32 high_y = ir.VectorGetElement(32, y, 3); + + const IR::U32 choice = SHAchoose(ir, low_y, after_low_y, before_high_y); + const IR::U32 majority = SHAmajority(ir, low_x, after_low_x, before_high_x); + + const IR::U32 t = [&] { + const IR::U32 w_element = ir.VectorGetElement(32, w, i); + const IR::U32 sig = SHAhashSIGMA1(ir, low_y); + + return ir.Add(high_y, ir.Add(sig, ir.Add(choice, w_element))); + }(); + + const IR::U32 new_low_x = ir.Add(t, ir.Add(SHAhashSIGMA0(ir, low_x), majority)); + const IR::U32 new_low_y = ir.Add(t, high_x); + + // Shuffle all words left by 1 element: [3, 2, 1, 0] -> [2, 1, 0, 3] + const IR::U128 shuffled_x = ir.VectorShuffleWords(x, 0b10010011); + const IR::U128 shuffled_y = ir.VectorShuffleWords(y, 0b10010011); + + x = ir.VectorSetElement(32, shuffled_x, 0, new_low_x); + y = ir.VectorSetElement(32, shuffled_y, 0, new_low_y); + } + + if (part == SHA256HashPart::Part1) { + return x; + } + + return y; +} +} // Anonymous namespace + +bool TranslatorVisitor::SHA1C(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 result = SHA1HashUpdate(ir, Vm, Vn, Vd, SHAchoose); + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA1M(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 result = SHA1HashUpdate(ir, Vm, Vn, Vd, SHAmajority); + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA1P(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 result = SHA1HashUpdate(ir, Vm, Vn, Vd, SHAparity); + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA1SU0(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 d = ir.GetQ(Vd); + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + IR::U128 result = [&] { + const IR::U64 d_high = ir.VectorGetElement(64, d, 1); + const IR::U64 n_low = ir.VectorGetElement(64, n, 0); + const IR::U128 zero = ir.ZeroVector(); + + const IR::U128 tmp1 = ir.VectorSetElement(64, zero, 0, d_high); + return ir.VectorSetElement(64, tmp1, 1, n_low); + }(); + + result = ir.VectorEor(ir.VectorEor(result, d), m); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA1SU1(Vec Vn, Vec Vd) { + const IR::U128 d = ir.GetQ(Vd); + const IR::U128 n = ir.GetQ(Vn); + + // Shuffle down the whole vector and zero out the top 32 bits + const IR::U128 shuffled_n = ir.VectorSetElement(32, ir.VectorShuffleWords(n, 0b00111001), 3, ir.Imm32(0)); + const IR::U128 t = ir.VectorEor(d, shuffled_n); + const IR::U128 rotated_t = ir.VectorRotateLeft(32, t, 1); + + const IR::U32 low_rotated_t = ir.RotateRight(ir.VectorGetElement(32, rotated_t, 0), ir.Imm8(31)); + const IR::U32 high_t = ir.VectorGetElement(32, rotated_t, 3); + const IR::U128 result = ir.VectorSetElement(32, rotated_t, 3, ir.Eor(low_rotated_t, high_t)); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA1H(Vec Vn, Vec Vd) { + const IR::U128 data = ir.GetS(Vn); + + const IR::U128 result = ir.VectorOr(ir.VectorLogicalShiftLeft(32, data, 30), + ir.VectorLogicalShiftRight(32, data, 2)); + + ir.SetS(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA256SU0(Vec Vn, Vec Vd) { + const IR::U128 d = ir.GetQ(Vd); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U128 t = [&] { + // Shuffle the upper three elements down: [3, 2, 1, 0] -> [0, 3, 2, 1] + const IR::U128 shuffled = ir.VectorShuffleWords(d, 0b00111001); + + return ir.VectorSetElement(32, shuffled, 3, ir.VectorGetElement(32, n, 0)); + }(); + + IR::U128 result = ir.ZeroVector(); + for (size_t i = 0; i < 4; i++) { + const IR::U32 modified_element = [&] { + const IR::U32 element = ir.VectorGetElement(32, t, i); + const IR::U32 tmp1 = ir.RotateRight(element, ir.Imm8(7)); + const IR::U32 tmp2 = ir.RotateRight(element, ir.Imm8(18)); + const IR::U32 tmp3 = ir.LogicalShiftRight(element, ir.Imm8(3)); + + return ir.Eor(tmp1, ir.Eor(tmp2, tmp3)); + }(); + + const IR::U32 d_element = ir.VectorGetElement(32, d, i); + result = ir.VectorSetElement(32, result, i, ir.Add(modified_element, d_element)); + } + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA256SU1(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 d = ir.GetQ(Vd); + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U128 T0 = [&] { + const IR::U32 low_m = ir.VectorGetElement(32, m, 0); + const IR::U128 shuffled_n = ir.VectorShuffleWords(n, 0b00111001); + + return ir.VectorSetElement(32, shuffled_n, 3, low_m); + }(); + + const IR::U128 lower_half = [&] { + const IR::U128 T = ir.VectorShuffleWords(m, 0b01001110); + const IR::U128 tmp1 = ir.VectorRotateRight(32, T, 17); + const IR::U128 tmp2 = ir.VectorRotateRight(32, T, 19); + const IR::U128 tmp3 = ir.VectorLogicalShiftRight(32, T, 10); + const IR::U128 tmp4 = ir.VectorEor(tmp1, ir.VectorEor(tmp2, tmp3)); + const IR::U128 tmp5 = ir.VectorAdd(32, tmp4, ir.VectorAdd(32, d, T0)); + return ir.VectorZeroUpper(tmp5); + }(); + + const IR::U64 upper_half = [&] { + const IR::U128 tmp1 = ir.VectorRotateRight(32, lower_half, 17); + const IR::U128 tmp2 = ir.VectorRotateRight(32, lower_half, 19); + const IR::U128 tmp3 = ir.VectorLogicalShiftRight(32, lower_half, 10); + const IR::U128 tmp4 = ir.VectorEor(tmp1, ir.VectorEor(tmp2, tmp3)); + + // Shuffle the top two 32-bit elements downwards [3, 2, 1, 0] -> [1, 0, 3, 2] + const IR::U128 shuffled_d = ir.VectorShuffleWords(d, 0b01001110); + const IR::U128 shuffled_T0 = ir.VectorShuffleWords(T0, 0b01001110); + + const IR::U128 tmp5 = ir.VectorAdd(32, tmp4, ir.VectorAdd(32, shuffled_d, shuffled_T0)); + return ir.VectorGetElement(64, tmp5, 0); + }(); + + const IR::U128 result = ir.VectorSetElement(64, lower_half, 1, upper_half); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA256H(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 result = SHA256hash(ir, ir.GetQ(Vd), ir.GetQ(Vn), ir.GetQ(Vm), SHA256HashPart::Part1); + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA256H2(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 result = SHA256hash(ir, ir.GetQ(Vn), ir.GetQ(Vd), ir.GetQ(Vm), SHA256HashPart::Part2); + ir.SetQ(Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_sha512.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_sha512.cpp new file mode 100755 index 000000000..f87c29cb4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_sha512.cpp @@ -0,0 +1,300 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +IR::U64 MakeSig(IREmitter& ir, IR::U64 data, u8 first_rot_amount, u8 second_rot_amount, u8 shift_amount) { + const IR::U64 tmp1 = ir.RotateRight(data, ir.Imm8(first_rot_amount)); + const IR::U64 tmp2 = ir.RotateRight(data, ir.Imm8(second_rot_amount)); + const IR::U64 tmp3 = ir.LogicalShiftRight(data, ir.Imm8(shift_amount)); + + return ir.Eor(tmp1, ir.Eor(tmp2, tmp3)); +} + +IR::U64 MakeMNSig(IREmitter& ir, IR::U64 data, u8 first_rot_amount, u8 second_rot_amount, u8 third_rot_amount) { + const IR::U64 tmp1 = ir.RotateRight(data, ir.Imm8(first_rot_amount)); + const IR::U64 tmp2 = ir.RotateRight(data, ir.Imm8(second_rot_amount)); + const IR::U64 tmp3 = ir.RotateRight(data, ir.Imm8(third_rot_amount)); + + return ir.Eor(tmp1, ir.Eor(tmp2, tmp3)); +} + +enum class SHA512HashPart { + Part1, + Part2, +}; + +IR::U128 SHA512Hash(IREmitter& ir, Vec Vm, Vec Vn, Vec Vd, SHA512HashPart part) { + const IR::U128 x = ir.GetQ(Vn); + const IR::U128 y = ir.GetQ(Vm); + const IR::U128 w = ir.GetQ(Vd); + + const IR::U64 lower_x = ir.VectorGetElement(64, x, 0); + const IR::U64 upper_x = ir.VectorGetElement(64, x, 1); + + const IR::U64 lower_y = ir.VectorGetElement(64, y, 0); + const IR::U64 upper_y = ir.VectorGetElement(64, y, 1); + + const auto make_sigma = [&](IR::U64 data) { + if (part == SHA512HashPart::Part1) { + return MakeMNSig(ir, data, 14, 18, 41); + } + return MakeMNSig(ir, data, 28, 34, 39); + }; + + const auto make_partial_half = [&](IR::U64 a, IR::U64 b, IR::U64 c) { + const IR::U64 tmp1 = ir.And(a, b); + + if (part == SHA512HashPart::Part1) { + const IR::U64 tmp2 = ir.And(ir.Not(a), c); + return ir.Eor(tmp1, tmp2); + } + + const IR::U64 tmp2 = ir.And(a, c); + const IR::U64 tmp3 = ir.And(upper_y, lower_y); + return ir.Eor(tmp1, ir.Eor(tmp2, tmp3)); + }; + + const IR::U64 Vtmp = [&] { + const IR::U64 partial = [&] { + if (part == SHA512HashPart::Part1) { + return make_partial_half(upper_y, lower_x, upper_x); + } + return make_partial_half(lower_x, upper_y, lower_y); + }(); + const IR::U64 upper_w = ir.VectorGetElement(64, w, 1); + const IR::U64 sig = [&] { + if (part == SHA512HashPart::Part1) { + return make_sigma(upper_y); + } + return make_sigma(lower_y); + }(); + + return ir.Add(partial, ir.Add(sig, upper_w)); + }(); + + const IR::U128 low_result = [&] { + const IR::U64 tmp = [&]() -> IR::U64 { + if (part == SHA512HashPart::Part1) { + return ir.Add(Vtmp, lower_y); + } + return Vtmp; + }(); + const IR::U64 partial = [&] { + if (part == SHA512HashPart::Part1) { + return make_partial_half(tmp, upper_y, lower_x); + } + return make_partial_half(Vtmp, lower_y, upper_y); + }(); + const IR::U64 sig = make_sigma(tmp); + const IR::U64 lower_w = ir.VectorGetElement(64, w, 0); + + return ir.ZeroExtendToQuad(ir.Add(partial, ir.Add(sig, lower_w))); + }(); + + return ir.VectorSetElement(64, low_result, 1, Vtmp); +} + +enum class SM4RotationType { + SM4E, + SM4EKEY +}; + +IR::U32 SM4Rotation(IREmitter& ir, IR::U32 intval, IR::U32 round_result_low_word, SM4RotationType type) { + if (type == SM4RotationType::SM4E) { + const IR::U32 tmp1 = ir.RotateRight(intval, ir.Imm8(30)); + const IR::U32 tmp2 = ir.RotateRight(intval, ir.Imm8(22)); + const IR::U32 tmp3 = ir.RotateRight(intval, ir.Imm8(14)); + const IR::U32 tmp4 = ir.RotateRight(intval, ir.Imm8(8)); + const IR::U32 tmp5 = ir.Eor(intval, ir.Eor(tmp1, ir.Eor(tmp2, ir.Eor(tmp3, tmp4)))); + + return ir.Eor(tmp5, round_result_low_word); + } + + const IR::U32 tmp1 = ir.RotateRight(intval, ir.Imm8(19)); + const IR::U32 tmp2 = ir.RotateRight(intval, ir.Imm8(9)); + return ir.Eor(round_result_low_word, ir.Eor(intval, ir.Eor(tmp1, tmp2))); +} + +IR::U128 SM4Hash(IREmitter& ir, Vec Vn, Vec Vd, SM4RotationType type) { + const IR::U128 n = ir.GetQ(Vn); + IR::U128 roundresult = ir.GetQ(Vd); + + for (size_t i = 0; i < 4; i++) { + const IR::U32 round_key = ir.VectorGetElement(32, n, i); + + const IR::U32 upper_round = ir.VectorGetElement(32, roundresult, 3); + const IR::U32 before_upper_round = ir.VectorGetElement(32, roundresult, 2); + const IR::U32 after_lower_round = ir.VectorGetElement(32, roundresult, 1); + + IR::U128 intval_vec = ir.ZeroExtendToQuad(ir.Eor(upper_round, ir.Eor(before_upper_round, ir.Eor(after_lower_round, round_key)))); + + for (size_t j = 0; j < 4; j++) { + const IR::U8 byte_element = ir.VectorGetElement(8, intval_vec, j); + intval_vec = ir.VectorSetElement(8, intval_vec, j, ir.SM4AccessSubstitutionBox(byte_element)); + } + + const IR::U32 intval_low_word = ir.VectorGetElement(32, intval_vec, 0); + const IR::U32 round_result_low_word = ir.VectorGetElement(32, roundresult, 0); + const IR::U32 intval = SM4Rotation(ir, intval_low_word, round_result_low_word, type); + roundresult = ir.VectorShuffleWords(roundresult, 0b00111001); + roundresult = ir.VectorSetElement(32, roundresult, 3, intval); + } + + return roundresult; +} +} // Anonymous namespace + +bool TranslatorVisitor::SHA512SU0(Vec Vn, Vec Vd) { + const IR::U128 x = ir.GetQ(Vn); + const IR::U128 w = ir.GetQ(Vd); + + const IR::U64 lower_x = ir.VectorGetElement(64, x, 0); + const IR::U64 lower_w = ir.VectorGetElement(64, w, 0); + const IR::U64 upper_w = ir.VectorGetElement(64, w, 1); + + const auto make_sig0 = [&](IR::U64 data) { + return MakeSig(ir, data, 1, 8, 7); + }; + + const IR::U128 low_result = ir.ZeroExtendToQuad(ir.Add(lower_w, make_sig0(upper_w))); + const IR::U64 high_result = ir.Add(upper_w, make_sig0(lower_x)); + const IR::U128 result = ir.VectorSetElement(64, low_result, 1, high_result); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA512SU1(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 x = ir.GetQ(Vn); + const IR::U128 y = ir.GetQ(Vm); + const IR::U128 w = ir.GetQ(Vd); + + const auto make_sig1 = [&](IR::U64 data) { + return MakeSig(ir, data, 19, 61, 6); + }; + + const IR::U128 sig_vector = [&] { + const IR::U64 lower_x = ir.VectorGetElement(64, x, 0); + const IR::U64 upper_x = ir.VectorGetElement(64, x, 1); + + const IR::U128 low_result = ir.ZeroExtendToQuad(make_sig1(lower_x)); + return ir.VectorSetElement(64, low_result, 1, make_sig1(upper_x)); + }(); + + const IR::U128 result = ir.VectorAdd(64, w, ir.VectorAdd(64, y, sig_vector)); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA512H(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 result = SHA512Hash(ir, Vm, Vn, Vd, SHA512HashPart::Part1); + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SHA512H2(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 result = SHA512Hash(ir, Vm, Vn, Vd, SHA512HashPart::Part2); + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::RAX1(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U128 rotated_m = ir.VectorRotateLeft(64, m, 1); + const IR::U128 result = ir.VectorEor(n, rotated_m); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::XAR(Vec Vm, Imm<6> imm6, Vec Vn, Vec Vd) { + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U128 tmp = ir.VectorEor(m, n); + const IR::U128 result = ir.VectorRotateRight(64, tmp, imm6.ZeroExtend()); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SM3PARTW1(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 d = ir.GetQ(Vd); + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U128 eor_d_n = ir.VectorEor(d, n); + + const IR::U128 result_low_three_words = [&] { + // Move the top-most 3 words down one element (i.e. [3, 2, 1, 0] -> [0, 3, 2, 1]) + const IR::U128 shuffled_m = ir.VectorShuffleWords(m, 0b00111001); + + // We treat the uppermost word as junk data and don't touch/use it explicitly for now. + // Given we don't do anything with it yet, the fact we EOR into it doesn't matter. + return ir.VectorEor(eor_d_n, ir.VectorRotateLeft(32, shuffled_m, 15)); + }(); + + IR::U128 result = result_low_three_words; + for (size_t i = 0; i < 4; i++) { + if (i == 3) { + const IR::U32 top_eor_d_n = ir.VectorGetElement(32, eor_d_n, 3); + const IR::U32 low_result_word = ir.VectorGetElement(32, result, 0); + const IR::U32 top_result_word = ir.Eor(top_eor_d_n, ir.RotateRight(low_result_word, ir.Imm8(17))); + + // Now the uppermost word is well-defined data. + result = ir.VectorSetElement(32, result, 3, top_result_word); + } + + const IR::U32 word = ir.VectorGetElement(32, result, i); + const IR::U32 modified = ir.Eor(word, ir.Eor(ir.RotateRight(word, ir.Imm8(17)), + ir.RotateRight(word, ir.Imm8(9)))); + + result = ir.VectorSetElement(32, result, i, modified); + } + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SM3PARTW2(Vec Vm, Vec Vn, Vec Vd) { + const IR::U128 d = ir.GetQ(Vd); + const IR::U128 m = ir.GetQ(Vm); + const IR::U128 n = ir.GetQ(Vn); + + const IR::U128 temp = ir.VectorEor(n, ir.VectorRotateLeft(32, m, 7)); + const IR::U128 temp_result = ir.VectorEor(d, temp); + const IR::U32 temp2 = [&] { + const IR::U32 rotate1 = ir.RotateRight(ir.VectorGetElement(32, temp, 0), ir.Imm8(17)); + const IR::U32 rotate2 = ir.RotateRight(rotate1, ir.Imm8(17)); + const IR::U32 rotate3 = ir.RotateRight(rotate1, ir.Imm8(9)); + + return ir.Eor(rotate1, ir.Eor(rotate2, rotate3)); + }(); + + const IR::U32 high_temp_result = ir.VectorGetElement(32, temp_result, 3); + const IR::U32 replacement = ir.Eor(high_temp_result, temp2); + const IR::U128 result = ir.VectorSetElement(32, temp_result, 3, replacement); + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::SM4E(Vec Vn, Vec Vd) { + ir.SetQ(Vd, SM4Hash(ir, Vn, Vd, SM4RotationType::SM4E)); + return true; +} + +bool TranslatorVisitor::SM4EKEY(Vec Vm, Vec Vn, Vec Vd) { + ir.SetQ(Vd, SM4Hash(ir, Vm, Vn, SM4RotationType::SM4EKEY)); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_shift_by_immediate.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_shift_by_immediate.cpp new file mode 100755 index 000000000..6ffc7f6d0 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_shift_by_immediate.cpp @@ -0,0 +1,401 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class Rounding { + None, + Round +}; + +enum class Accumulating { + None, + Accumulate +}; + +enum class Signedness { + Signed, + Unsigned +}; + +enum class Narrowing { + Truncation, + SaturateToUnsigned, + SaturateToSigned, +}; + +enum class SaturatingShiftLeftType { + Signed, + Unsigned, + SignedWithUnsignedSaturation, +}; + +enum class FloatConversionDirection { + FixedToFloat, + FloatToFixed, +}; + +IR::U128 PerformRoundingCorrection(TranslatorVisitor& v, size_t esize, u64 round_value, IR::U128 original, IR::U128 shifted) { + const IR::U128 round_const = v.ir.VectorBroadcast(esize, v.I(esize, round_value)); + const IR::U128 round_correction = v.ir.VectorEqual(esize, v.ir.VectorAnd(original, round_const), round_const); + return v.ir.VectorSub(esize, shifted, round_correction); +} + +bool ShiftRight(TranslatorVisitor& v, bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, Rounding rounding, Accumulating accumulating, Signedness signedness) { + if (immh == 0b0000) { + return v.DecodeError(); + } + + if (immh.Bit<3>() && !Q) { + return v.ReservedValue(); + } + + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t datasize = Q ? 128 : 64; + + const u8 shift_amount = static_cast(2 * esize) - concatenate(immh, immb).ZeroExtend(); + + const IR::U128 operand = v.V(datasize, Vn); + + IR::U128 result = [&] { + if (signedness == Signedness::Signed) { + return v.ir.VectorArithmeticShiftRight(esize, operand, shift_amount); + } + return v.ir.VectorLogicalShiftRight(esize, operand, shift_amount); + }(); + + if (rounding == Rounding::Round) { + const u64 round_value = 1ULL << (shift_amount - 1); + result = PerformRoundingCorrection(v, esize, round_value, operand, result); + } + + if (accumulating == Accumulating::Accumulate) { + const IR::U128 accumulator = v.V(datasize, Vd); + result = v.ir.VectorAdd(esize, result, accumulator); + } + + v.V(datasize, Vd, result); + return true; +} + +bool ShiftRightNarrowing(TranslatorVisitor& v, bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, Rounding rounding, Narrowing narrowing, Signedness signedness) { + if (immh == 0b0000) { + return v.DecodeError(); + } + + if (immh.Bit<3>()) { + return v.ReservedValue(); + } + + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t source_esize = 2 * esize; + const size_t part = Q ? 1 : 0; + + const u8 shift_amount = static_cast(source_esize - concatenate(immh, immb).ZeroExtend()); + + const IR::U128 operand = v.V(128, Vn); + + IR::U128 wide_result = [&] { + if (signedness == Signedness::Signed) { + return v.ir.VectorArithmeticShiftRight(source_esize, operand, shift_amount); + } + return v.ir.VectorLogicalShiftRight(source_esize, operand, shift_amount); + }(); + + if (rounding == Rounding::Round) { + const u64 round_value = 1ULL << (shift_amount - 1); + wide_result = PerformRoundingCorrection(v, source_esize, round_value, operand, wide_result); + } + + const IR::U128 result = [&] { + switch (narrowing) { + case Narrowing::Truncation: + return v.ir.VectorNarrow(source_esize, wide_result); + case Narrowing::SaturateToUnsigned: + if (signedness == Signedness::Signed) { + return v.ir.VectorSignedSaturatedNarrowToUnsigned(source_esize, wide_result); + } + return v.ir.VectorUnsignedSaturatedNarrow(source_esize, wide_result); + case Narrowing::SaturateToSigned: + ASSERT(signedness == Signedness::Signed); + return v.ir.VectorSignedSaturatedNarrowToSigned(source_esize, wide_result); + } + UNREACHABLE(); + }(); + + v.Vpart(64, Vd, part, result); + return true; +} + +bool ShiftLeftLong(TranslatorVisitor& v, bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, Signedness signedness) { + if (immh == 0b0000) { + return v.DecodeError(); + } + + if (immh.Bit<3>()) { + return v.ReservedValue(); + } + + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t datasize = 64; + const size_t part = Q ? 1 : 0; + + const u8 shift_amount = concatenate(immh, immb).ZeroExtend() - static_cast(esize); + + const IR::U128 operand = v.Vpart(datasize, Vn, part); + const IR::U128 expanded_operand = [&] { + if (signedness == Signedness::Signed) { + return v.ir.VectorSignExtend(esize, operand); + } + return v.ir.VectorZeroExtend(esize, operand); + }(); + const IR::U128 result = v.ir.VectorLogicalShiftLeft(2 * esize, expanded_operand, shift_amount); + + v.V(2 * datasize, Vd, result); + return true; +} + +bool SaturatingShiftLeft(TranslatorVisitor& v, bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, SaturatingShiftLeftType type) { + if (!Q && immh.Bit<3>()) { + return v.ReservedValue(); + } + + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t datasize = Q ? 128 : 64; + const size_t shift = concatenate(immh, immb).ZeroExtend() - esize; + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 shift_vec = v.ir.VectorBroadcast(esize, v.I(esize, shift)); + const IR::U128 result = [&] { + if (type == SaturatingShiftLeftType::Signed) { + return v.ir.VectorSignedSaturatedShiftLeft(esize, operand, shift_vec); + } + + if (type == SaturatingShiftLeftType::Unsigned) { + return v.ir.VectorUnsignedSaturatedShiftLeft(esize, operand, shift_vec); + } + + return v.ir.VectorSignedSaturatedShiftLeftUnsigned(esize, operand, shift_vec); + }(); + + v.V(datasize, Vd, result); + return true; +} + +bool ConvertFloat(TranslatorVisitor& v, bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd, Signedness signedness, FloatConversionDirection direction, FP::RoundingMode rounding_mode) { + if (immh == 0b0000) { + return v.DecodeError(); + } + + if (immh == 0b0001 || immh == 0b0010 || immh == 0b0011) { + return v.ReservedValue(); + } + + if (immh.Bit<3>() && !Q) { + return v.ReservedValue(); + } + + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t datasize = Q ? 128 : 64; + + const u8 fbits = static_cast(esize * 2) - concatenate(immh, immb).ZeroExtend(); + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 result = [&] { + switch (direction) { + case FloatConversionDirection::FixedToFloat: + return signedness == Signedness::Signed + ? v.ir.FPVectorFromSignedFixed(esize, operand, fbits, rounding_mode) + : v.ir.FPVectorFromUnsignedFixed(esize, operand, fbits, rounding_mode); + case FloatConversionDirection::FloatToFixed: + return signedness == Signedness::Signed + ? v.ir.FPVectorToSignedFixed(esize, operand, fbits, rounding_mode) + : v.ir.FPVectorToUnsignedFixed(esize, operand, fbits, rounding_mode); + } + UNREACHABLE(); + }(); + + v.V(datasize, Vd, result); + return true; +} + +} // Anonymous namespace + +bool TranslatorVisitor::SSHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, Q, immh, immb, Vn, Vd, Rounding::None, Accumulating::None, Signedness::Signed); +} + +bool TranslatorVisitor::SRSHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, Q, immh, immb, Vn, Vd, Rounding::Round, Accumulating::None, Signedness::Signed); +} + +bool TranslatorVisitor::SRSRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, Q, immh, immb, Vn, Vd, Rounding::Round, Accumulating::Accumulate, Signedness::Signed); +} + +bool TranslatorVisitor::SSRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, Q, immh, immb, Vn, Vd, Rounding::None, Accumulating::Accumulate, Signedness::Signed); +} + +bool TranslatorVisitor::SHL_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + if (immh == 0b0000) { + return DecodeError(); + } + if (immh.Bit<3>() && !Q) { + return ReservedValue(); + } + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t datasize = Q ? 128 : 64; + + const u8 shift_amount = concatenate(immh, immb).ZeroExtend() - static_cast(esize); + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.VectorLogicalShiftLeft(esize, operand, shift_amount); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SHRN(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, Q, immh, immb, Vn, Vd, Rounding::None, Narrowing::Truncation, Signedness::Unsigned); +} + +bool TranslatorVisitor::RSHRN(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, Q, immh, immb, Vn, Vd, Rounding::Round, Narrowing::Truncation, Signedness::Unsigned); +} + +bool TranslatorVisitor::SQSHL_imm_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return SaturatingShiftLeft(*this, Q, immh, immb, Vn, Vd, SaturatingShiftLeftType::Signed); +} + +bool TranslatorVisitor::SQSHLU_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return SaturatingShiftLeft(*this, Q, immh, immb, Vn, Vd, SaturatingShiftLeftType::SignedWithUnsignedSaturation); +} + +bool TranslatorVisitor::SQSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, Q, immh, immb, Vn, Vd, Rounding::None, Narrowing::SaturateToSigned, Signedness::Signed); +} + +bool TranslatorVisitor::SQRSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, Q, immh, immb, Vn, Vd, Rounding::Round, Narrowing::SaturateToSigned, Signedness::Signed); +} + +bool TranslatorVisitor::SQSHRUN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, Q, immh, immb, Vn, Vd, Rounding::None, Narrowing::SaturateToUnsigned, Signedness::Signed); +} + +bool TranslatorVisitor::SQRSHRUN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, Q, immh, immb, Vn, Vd, Rounding::Round, Narrowing::SaturateToUnsigned, Signedness::Signed); +} + +bool TranslatorVisitor::UQSHL_imm_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return SaturatingShiftLeft(*this, Q, immh, immb, Vn, Vd, SaturatingShiftLeftType::Unsigned); +} + +bool TranslatorVisitor::UQSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, Q, immh, immb, Vn, Vd, Rounding::None, Narrowing::SaturateToUnsigned, Signedness::Unsigned); +} + +bool TranslatorVisitor::UQRSHRN_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRightNarrowing(*this, Q, immh, immb, Vn, Vd, Rounding::Round, Narrowing::SaturateToUnsigned, Signedness::Unsigned); +} + +bool TranslatorVisitor::SSHLL(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftLeftLong(*this, Q, immh, immb, Vn, Vd, Signedness::Signed); +} + +bool TranslatorVisitor::URSHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, Q, immh, immb, Vn, Vd, Rounding::Round, Accumulating::None, Signedness::Unsigned); +} + +bool TranslatorVisitor::URSRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, Q, immh, immb, Vn, Vd, Rounding::Round, Accumulating::Accumulate, Signedness::Unsigned); +} + +bool TranslatorVisitor::USHR_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, Q, immh, immb, Vn, Vd, Rounding::None, Accumulating::None, Signedness::Unsigned); +} + +bool TranslatorVisitor::USRA_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftRight(*this, Q, immh, immb, Vn, Vd, Rounding::None, Accumulating::Accumulate, Signedness::Unsigned); +} + +bool TranslatorVisitor::USHLL(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ShiftLeftLong(*this, Q, immh, immb, Vn, Vd, Signedness::Unsigned); +} + +bool TranslatorVisitor::SRI_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + if (immh == 0b0000) { + return DecodeError(); + } + + if (!Q && immh.Bit<3>()) { + return ReservedValue(); + } + + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t datasize = Q ? 128 : 64; + + const u8 shift_amount = static_cast((esize * 2) - concatenate(immh, immb).ZeroExtend()); + const u64 mask = shift_amount == esize ? 0 : Common::Ones(esize) >> shift_amount; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vd); + + const IR::U128 shifted = ir.VectorLogicalShiftRight(esize, operand1, shift_amount); + const IR::U128 mask_vec = ir.VectorBroadcast(esize, I(esize, mask)); + const IR::U128 result = ir.VectorOr(ir.VectorAnd(operand2, ir.VectorNot(mask_vec)), shifted); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SLI_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + if (immh == 0b0000) { + return DecodeError(); + } + + if (!Q && immh.Bit<3>()) { + return ReservedValue(); + } + + const size_t esize = 8 << Common::HighestSetBit(immh.ZeroExtend()); + const size_t datasize = Q ? 128 : 64; + + const u8 shift_amount = concatenate(immh, immb).ZeroExtend() - static_cast(esize); + const u64 mask = Common::Ones(esize) << shift_amount; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vd); + + const IR::U128 shifted = ir.VectorLogicalShiftLeft(esize, operand1, shift_amount); + const IR::U128 mask_vec = ir.VectorBroadcast(esize, I(esize, mask)); + const IR::U128 result = ir.VectorOr(ir.VectorAnd(operand2, ir.VectorNot(mask_vec)), shifted); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SCVTF_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ConvertFloat(*this, Q, immh, immb, Vn, Vd, Signedness::Signed, FloatConversionDirection::FixedToFloat, ir.current_location->FPCR().RMode()); +} + +bool TranslatorVisitor::UCVTF_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ConvertFloat(*this, Q, immh, immb, Vn, Vd, Signedness::Unsigned, FloatConversionDirection::FixedToFloat, ir.current_location->FPCR().RMode()); +} + +bool TranslatorVisitor::FCVTZS_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ConvertFloat(*this, Q, immh, immb, Vn, Vd, Signedness::Signed, FloatConversionDirection::FloatToFixed, FP::RoundingMode::TowardsZero); +} + +bool TranslatorVisitor::FCVTZU_fix_2(bool Q, Imm<4> immh, Imm<3> immb, Vec Vn, Vec Vd) { + return ConvertFloat(*this, Q, immh, immb, Vn, Vd, Signedness::Unsigned, FloatConversionDirection::FloatToFixed, FP::RoundingMode::TowardsZero); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_table_lookup.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_table_lookup.cpp new file mode 100755 index 000000000..319517d0c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_table_lookup.cpp @@ -0,0 +1,38 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +static bool TableLookup(TranslatorVisitor& v, bool Q, Vec Vm, Imm<2> len, bool is_tbl, size_t Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const IR::Table table = v.ir.VectorTable([&] { + std::vector result; + for (size_t i = 0; i < len.ZeroExtend() + 1; ++i) { + result.emplace_back(v.ir.GetQ(static_cast((Vn + i) % 32))); + } + return result; + }()); + + const IR::U128 indicies = v.ir.GetQ(Vm); + const IR::U128 defaults = is_tbl ? v.ir.ZeroVector() : v.ir.GetQ(Vd); + + const IR::U128 result = v.ir.VectorTableLookup(defaults, table, indicies); + + v.V(datasize, Vd, datasize == 128 ? result : v.ir.VectorZeroUpper(result)); + return true; +} + +bool TranslatorVisitor::TBL(bool Q, Vec Vm, Imm<2> len, size_t Vn, Vec Vd) { + return TableLookup(*this, Q, Vm, len, true, Vn, Vd); +} + +bool TranslatorVisitor::TBX(bool Q, Vec Vm, Imm<2> len, size_t Vn, Vec Vd) { + return TableLookup(*this, Q, Vm, len, false, Vn, Vd); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_different.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_different.cpp new file mode 100755 index 000000000..2de931ed9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_different.cpp @@ -0,0 +1,263 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class AbsoluteDifferenceBehavior { + None, + Accumulate +}; + +enum class Signedness { + Signed, + Unsigned +}; + +bool AbsoluteDifferenceLong(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, AbsoluteDifferenceBehavior behavior, Signedness sign) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = 64; + + const IR::U128 operand1 = v.ir.VectorZeroExtend(esize, v.Vpart(datasize, Vn, Q)); + const IR::U128 operand2 = v.ir.VectorZeroExtend(esize, v.Vpart(datasize, Vm, Q)); + IR::U128 result = sign == Signedness::Signed ? v.ir.VectorSignedAbsoluteDifference(esize, operand1, operand2) + : v.ir.VectorUnsignedAbsoluteDifference(esize, operand1, operand2); + + if (behavior == AbsoluteDifferenceBehavior::Accumulate) { + const IR::U128 data = v.V(2 * datasize, Vd); + result = v.ir.VectorAdd(2 * esize, result, data); + } + + v.V(2 * datasize, Vd, result); + return true; +} + +enum class MultiplyLongBehavior { + None, + Accumulate, + Subtract +}; + +bool MultiplyLong(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, MultiplyLongBehavior behavior, Signedness sign) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t doubled_esize = 2 * esize; + const size_t datasize = 64; + const size_t doubled_datasize = datasize * 2; + + const auto get_operands = [&] { + const auto p1 = v.Vpart(datasize, Vn, Q); + const auto p2 = v.Vpart(datasize, Vm, Q); + + if (sign == Signedness::Signed) { + return std::make_pair(v.ir.VectorSignExtend(esize, p1), + v.ir.VectorSignExtend(esize, p2)); + } + + return std::make_pair(v.ir.VectorZeroExtend(esize, p1), + v.ir.VectorZeroExtend(esize, p2)); + }; + + const auto [operand1, operand2] = get_operands(); + IR::U128 result = v.ir.VectorMultiply(doubled_esize, operand1, operand2); + + if (behavior == MultiplyLongBehavior::Accumulate) { + const IR::U128 addend = v.V(doubled_datasize, Vd); + result = v.ir.VectorAdd(doubled_esize, addend, result); + } else if (behavior == MultiplyLongBehavior::Subtract) { + const IR::U128 minuend = v.V(doubled_datasize, Vd); + result = v.ir.VectorSub(doubled_esize, minuend, result); + } + + v.V(doubled_datasize, Vd, result); + return true; +} + +enum class LongOperationBehavior { + Addition, + Subtraction +}; + +bool LongOperation(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, LongOperationBehavior behavior, Signedness sign) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t part = Q ? 1 : 0; + + const auto get_operand = [&](Vec vec) { + const IR::U128 tmp = v.Vpart(64, vec, part); + + if (sign == Signedness::Signed) { + return v.ir.VectorSignExtend(esize, tmp); + } + + return v.ir.VectorZeroExtend(esize, tmp); + }; + + const IR::U128 operand1 = get_operand(Vn); + const IR::U128 operand2 = get_operand(Vm); + const IR::U128 result = [&] { + if (behavior == LongOperationBehavior::Addition) { + return v.ir.VectorAdd(esize * 2, operand1, operand2); + } + + return v.ir.VectorSub(esize * 2, operand1, operand2); + }(); + + v.V(128, Vd, result); + return true; +} + +enum class WideOperationBehavior { + Addition, + Subtraction +}; + +bool WideOperation(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, WideOperationBehavior behavior, Signedness sign) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t part = Q ? 1 : 0; + + const IR::U128 operand1 = v.V(128, Vn); + const IR::U128 operand2 = [&] { + const IR::U128 tmp = v.Vpart(64, Vm, part); + + if (sign == Signedness::Signed) { + return v.ir.VectorSignExtend(esize, tmp); + } + + return v.ir.VectorZeroExtend(esize, tmp); + }(); + const IR::U128 result = [&] { + if (behavior == WideOperationBehavior::Addition) { + return v.ir.VectorAdd(esize * 2, operand1, operand2); + } + + return v.ir.VectorSub(esize * 2, operand1, operand2); + }(); + + v.V(128, Vd, result); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::PMULL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b01 || size == 0b10) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = 64; + + const IR::U128 operand1 = Vpart(datasize, Vn, Q); + const IR::U128 operand2 = Vpart(datasize, Vm, Q); + const IR::U128 result = ir.VectorPolynomialMultiplyLong(esize, operand1, operand2); + + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::SABAL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return AbsoluteDifferenceLong(*this, Q, size, Vm, Vn, Vd, AbsoluteDifferenceBehavior::Accumulate, Signedness::Signed); +} + +bool TranslatorVisitor::SABDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return AbsoluteDifferenceLong(*this, Q, size, Vm, Vn, Vd, AbsoluteDifferenceBehavior::None, Signedness::Signed); +} + +bool TranslatorVisitor::SADDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return LongOperation(*this, Q, size, Vm, Vn, Vd, LongOperationBehavior::Addition, Signedness::Signed); +} + +bool TranslatorVisitor::SADDW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return WideOperation(*this, Q, size, Vm, Vn, Vd, WideOperationBehavior::Addition, Signedness::Signed); +} + +bool TranslatorVisitor::SMLAL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, Vm, Vn, Vd, MultiplyLongBehavior::Accumulate, Signedness::Signed); +} + +bool TranslatorVisitor::SMLSL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, Vm, Vn, Vd, MultiplyLongBehavior::Subtract, Signedness::Signed); +} + +bool TranslatorVisitor::SMULL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, Vm, Vn, Vd, MultiplyLongBehavior::None, Signedness::Signed); +} + +bool TranslatorVisitor::SSUBW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return WideOperation(*this, Q, size, Vm, Vn, Vd, WideOperationBehavior::Subtraction, Signedness::Signed); +} + +bool TranslatorVisitor::SSUBL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return LongOperation(*this, Q, size, Vm, Vn, Vd, LongOperationBehavior::Subtraction, Signedness::Signed); +} + +bool TranslatorVisitor::UADDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return LongOperation(*this, Q, size, Vm, Vn, Vd, LongOperationBehavior::Addition, Signedness::Unsigned); +} + +bool TranslatorVisitor::UABAL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return AbsoluteDifferenceLong(*this, Q, size, Vm, Vn, Vd, AbsoluteDifferenceBehavior::Accumulate, Signedness::Unsigned); +} + +bool TranslatorVisitor::UABDL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return AbsoluteDifferenceLong(*this, Q, size, Vm, Vn, Vd, AbsoluteDifferenceBehavior::None, Signedness::Unsigned); +} + +bool TranslatorVisitor::UADDW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return WideOperation(*this, Q, size, Vm, Vn, Vd, WideOperationBehavior::Addition, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMLAL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, Vm, Vn, Vd, MultiplyLongBehavior::Accumulate, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMLSL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, Vm, Vn, Vd, MultiplyLongBehavior::Subtract, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMULL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, Vm, Vn, Vd, MultiplyLongBehavior::None, Signedness::Unsigned); +} + +bool TranslatorVisitor::USUBW(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return WideOperation(*this, Q, size, Vm, Vn, Vd, WideOperationBehavior::Subtraction, Signedness::Unsigned); +} + +bool TranslatorVisitor::USUBL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return LongOperation(*this, Q, size, Vm, Vn, Vd, LongOperationBehavior::Subtraction, Signedness::Unsigned); +} + +bool TranslatorVisitor::SQDMULL_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t part = Q ? 1 : 0; + + const IR::U128 operand1 = Vpart(64, Vn, part); + const IR::U128 operand2 = Vpart(64, Vm, part); + const IR::U128 result = ir.VectorSignedSaturatedDoublingMultiplyLong(esize, operand1, operand2); + + V(128, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_same.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_same.cpp new file mode 100755 index 000000000..34939c83b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_same.cpp @@ -0,0 +1,1248 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class Operation { + Add, + Subtract, +}; + +enum class ExtraBehavior { + None, + Round +}; + +bool HighNarrowingOperation(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, Operation op, ExtraBehavior behavior) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t part = Q; + const size_t esize = 8 << size.ZeroExtend(); + const size_t doubled_esize = 2 * esize; + + const IR::U128 operand1 = v.ir.GetQ(Vn); + const IR::U128 operand2 = v.ir.GetQ(Vm); + IR::U128 wide = [&] { + if (op == Operation::Add) { + return v.ir.VectorAdd(doubled_esize, operand1, operand2); + } + return v.ir.VectorSub(doubled_esize, operand1, operand2); + }(); + + if (behavior == ExtraBehavior::Round) { + const u64 round_const = 1ULL << (esize - 1); + const IR::U128 round_operand = v.ir.VectorBroadcast(doubled_esize, v.I(doubled_esize, round_const)); + wide = v.ir.VectorAdd(doubled_esize, wide, round_operand); + } + + const IR::U128 result = v.ir.VectorNarrow(doubled_esize, + v.ir.VectorLogicalShiftRight(doubled_esize, wide, static_cast(esize))); + + v.Vpart(64, Vd, part, result); + return true; +} + +enum class AbsDiffExtraBehavior { + None, + Accumulate +}; + +bool SignedAbsoluteDifference(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, AbsDiffExtraBehavior behavior) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + const IR::U128 result = [&] { + const IR::U128 tmp = v.ir.VectorSignedAbsoluteDifference(esize, operand1, operand2); + + if (behavior == AbsDiffExtraBehavior::Accumulate) { + const IR::U128 d = v.V(datasize, Vd); + return v.ir.VectorAdd(esize, d, tmp); + } + + return tmp; + }(); + + v.V(datasize, Vd, result); + return true; +} + +enum class Signedness { + Signed, + Unsigned +}; + +bool RoundingHalvingAdd(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, Signedness sign) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vm); + const IR::U128 operand2 = v.V(datasize, Vn); + const IR::U128 result = sign == Signedness::Signed ? v.ir.VectorRoundingHalvingAddSigned(esize, operand1, operand2) + : v.ir.VectorRoundingHalvingAddUnsigned(esize, operand1, operand2); + + v.V(datasize, Vd, result); + return true; +} + +bool RoundingShiftLeft(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, Signedness sign) { + if (size == 0b11 && !Q) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + const IR::U128 result = [&] { + if (sign == Signedness::Signed) { + return v.ir.VectorRoundingShiftLeftSigned(esize, operand1, operand2); + } + + return v.ir.VectorRoundingShiftLeftUnsigned(esize, operand1, operand2); + }(); + + v.V(datasize, Vd, result); + return true; +} + +enum class ComparisonType { + EQ, + GE, + AbsoluteGE, + GT, + AbsoluteGT +}; + +bool FPCompareRegister(TranslatorVisitor& v, bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd, ComparisonType type) { + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + const IR::U128 result = [&] { + switch (type) { + case ComparisonType::EQ: + return v.ir.FPVectorEqual(esize, operand1, operand2); + case ComparisonType::GE: + return v.ir.FPVectorGreaterEqual(esize, operand1, operand2); + case ComparisonType::AbsoluteGE: + return v.ir.FPVectorGreaterEqual(esize, + v.ir.FPVectorAbs(esize, operand1), + v.ir.FPVectorAbs(esize, operand2)); + case ComparisonType::GT: + return v.ir.FPVectorGreater(esize, operand1, operand2); + case ComparisonType::AbsoluteGT: + return v.ir.FPVectorGreater(esize, + v.ir.FPVectorAbs(esize, operand1), + v.ir.FPVectorAbs(esize, operand2)); + } + + UNREACHABLE(); + }(); + + v.V(datasize, Vd, result); + return true; +} + +enum class MinMaxOperation { + Min, + Max, +}; + +bool VectorMinMaxOperation(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, MinMaxOperation operation, Signedness sign) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + const IR::U128 result = [&] { + switch (operation) { + case MinMaxOperation::Max: + if (sign == Signedness::Signed) { + return v.ir.VectorMaxSigned(esize, operand1, operand2); + } + return v.ir.VectorMaxUnsigned(esize, operand1, operand2); + + case MinMaxOperation::Min: + if (sign == Signedness::Signed) { + return v.ir.VectorMinSigned(esize, operand1, operand2); + } + return v.ir.VectorMinUnsigned(esize, operand1, operand2); + + default: + UNREACHABLE(); + } + }(); + + v.V(datasize, Vd, result); + return true; +} + +bool FPMinMaxOperation(TranslatorVisitor& v, bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd, MinMaxOperation operation) { + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + const IR::U128 result = [&] { + if (operation == MinMaxOperation::Min) { + return v.ir.FPVectorMin(esize, operand1, operand2); + } + + return v.ir.FPVectorMax(esize, operand1, operand2); + }(); + + v.V(datasize, Vd, result); + return true; +} + +bool FPMinMaxNumericOperation(TranslatorVisitor& v, bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd, IR::U32U64 (IREmitter::*fn)(const IR::U32U64&, const IR::U32U64&)) { + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + const size_t elements = datasize / esize; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + IR::U128 result = v.ir.ZeroVector(); + + for (size_t i = 0; i < elements; i++) { + const IR::UAny elem1 = v.ir.VectorGetElement(esize, operand1, i); + const IR::UAny elem2 = v.ir.VectorGetElement(esize, operand2, i); + const IR::UAny result_elem = (v.ir.*fn)(elem1, elem2); + + result = v.ir.VectorSetElement(esize, result, i, result_elem); + } + + v.V(datasize, Vd, result); + return true; +} + +bool PairedMinMaxOperation(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, MinMaxOperation operation, Signedness sign) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + IR::U128 result = [&] { + switch (operation) { + case MinMaxOperation::Max: + if (sign == Signedness::Signed) { + return v.ir.VectorPairedMaxSigned(esize, operand1, operand2); + } + return v.ir.VectorPairedMaxUnsigned(esize, operand1, operand2); + + case MinMaxOperation::Min: + if (sign == Signedness::Signed) { + return v.ir.VectorPairedMinSigned(esize, operand1, operand2); + } + return v.ir.VectorPairedMinUnsigned(esize, operand1, operand2); + + default: + UNREACHABLE(); + } + }(); + + if (datasize == 64) { + result = v.ir.VectorShuffleWords(result, 0b11011000); + } + + v.V(datasize, Vd, result); + return true; +} + +bool FPPairedMinMax(TranslatorVisitor& v, bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd, IR::U32U64 (IREmitter::*fn)(const IR::U32U64&, const IR::U32U64&)) { + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + const size_t elements = datasize / esize; + const size_t boundary = elements / 2; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + IR::U128 result = v.ir.ZeroVector(); + + const auto operation = [&](IR::U128 operand, size_t result_start_index) { + for (size_t i = 0; i < elements; i += 2, result_start_index++) { + const IR::UAny elem1 = v.ir.VectorGetElement(esize, operand, i); + const IR::UAny elem2 = v.ir.VectorGetElement(esize, operand, i + 1); + const IR::UAny result_elem = (v.ir.*fn)(elem1, elem2); + + result = v.ir.VectorSetElement(esize, result, result_start_index, result_elem); + } + }; + + operation(operand1, 0); + operation(operand2, boundary); + + v.V(datasize, Vd, result); + return true; +} + +bool SaturatingArithmeticOperation(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, Operation op, Signedness sign) { + if (size == 0b11 && !Q) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + + const IR::U128 result = [&] { + if (sign == Signedness::Signed) { + if (op == Operation::Add) { + return v.ir.VectorSignedSaturatedAdd(esize, operand1, operand2); + } + + return v.ir.VectorSignedSaturatedSub(esize, operand1, operand2); + } + + if (op == Operation::Add) { + return v.ir.VectorUnsignedSaturatedAdd(esize, operand1, operand2); + } + + return v.ir.VectorUnsignedSaturatedSub(esize, operand1, operand2); + }(); + + v.V(datasize, Vd, result); + return true; +} + +bool SaturatingShiftLeft(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, Signedness sign) { + if (size == 0b11 && !Q) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + const IR::U128 result = [&] { + if (sign == Signedness::Signed) { + return v.ir.VectorSignedSaturatedShiftLeft(esize, operand1, operand2); + } + + return v.ir.VectorUnsignedSaturatedShiftLeft(esize, operand1, operand2); + }(); + + v.V(datasize, Vd, result); + return true; +} + +} // Anonymous namespace + +bool TranslatorVisitor::CMGT_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorGreaterSigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CMGE_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + IR::U128 result = ir.VectorGreaterEqualSigned(esize, operand1, operand2); + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SABA(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return SignedAbsoluteDifference(*this, Q, size, Vm, Vn, Vd, AbsDiffExtraBehavior::Accumulate); +} + +bool TranslatorVisitor::SABD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return SignedAbsoluteDifference(*this, Q, size, Vm, Vn, Vd, AbsDiffExtraBehavior::None); +} + +bool TranslatorVisitor::SMAX(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return VectorMinMaxOperation(*this, Q, size, Vm, Vn, Vd, MinMaxOperation::Max, Signedness::Signed); +} + +bool TranslatorVisitor::SMAXP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return PairedMinMaxOperation(*this, Q, size, Vm, Vn, Vd, MinMaxOperation::Max, Signedness::Signed); +} + +bool TranslatorVisitor::SMIN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return VectorMinMaxOperation(*this, Q, size, Vm, Vn, Vd, MinMaxOperation::Min, Signedness::Signed); +} + +bool TranslatorVisitor::SMINP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return PairedMinMaxOperation(*this, Q, size, Vm, Vn, Vd, MinMaxOperation::Min, Signedness::Signed); +} + +bool TranslatorVisitor::SQDMULH_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorSignedSaturatedDoublingMultiply(esize, operand1, operand2).upper; + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SQRDMULH_vec_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::UpperAndLower multiply = ir.VectorSignedSaturatedDoublingMultiply(esize, operand1, operand2); + const IR::U128 result = ir.VectorAdd(esize, multiply.upper, ir.VectorLogicalShiftRight(esize, multiply.lower, static_cast(esize - 1))); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::ADD_vector(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const auto operand1 = V(datasize, Vn); + const auto operand2 = V(datasize, Vm); + const auto result = ir.VectorAdd(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::MLA_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 operand3 = V(datasize, Vd); + const IR::U128 result = ir.VectorAdd(esize, ir.VectorMultiply(esize, operand1, operand2), operand3); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::MUL_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorMultiply(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::ADDHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return HighNarrowingOperation(*this, Q, size, Vm, Vn, Vd, Operation::Add, ExtraBehavior::None); +} + +bool TranslatorVisitor::RADDHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return HighNarrowingOperation(*this, Q, size, Vm, Vn, Vd, Operation::Add, ExtraBehavior::Round); +} + +bool TranslatorVisitor::SUBHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return HighNarrowingOperation(*this, Q, size, Vm, Vn, Vd, Operation::Subtract, ExtraBehavior::None); +} + +bool TranslatorVisitor::RSUBHN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return HighNarrowingOperation(*this, Q, size, Vm, Vn, Vd, Operation::Subtract, ExtraBehavior::Round); +} + +bool TranslatorVisitor::SHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorHalvingAddSigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SHSUB(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorHalvingSubSigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SQADD_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return SaturatingArithmeticOperation(*this, Q, size, Vm, Vn, Vd, Operation::Add, Signedness::Signed); +} + +bool TranslatorVisitor::SQSUB_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return SaturatingArithmeticOperation(*this, Q, size, Vm, Vn, Vd, Operation::Subtract, Signedness::Signed); +} + +bool TranslatorVisitor::SRHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return RoundingHalvingAdd(*this, Q, size, Vm, Vn, Vd, Signedness::Signed); +} + +bool TranslatorVisitor::UHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorHalvingAddUnsigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::UHSUB(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorHalvingSubUnsigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::UQADD_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return SaturatingArithmeticOperation(*this, Q, size, Vm, Vn, Vd, Operation::Add, Signedness::Unsigned); +} + +bool TranslatorVisitor::UQSUB_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return SaturatingArithmeticOperation(*this, Q, size, Vm, Vn, Vd, Operation::Subtract, Signedness::Unsigned); +} + +bool TranslatorVisitor::URHADD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return RoundingHalvingAdd(*this, Q, size, Vm, Vn, Vd, Signedness::Unsigned); +} + +bool TranslatorVisitor::ADDP_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = Q ? ir.VectorPairedAdd(esize, operand1, operand2) : ir.VectorPairedAddLower(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FABD_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorAbs(esize, ir.FPVectorSub(esize, operand1, operand2)); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FACGE_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPCompareRegister(*this, Q, sz, Vm, Vn, Vd, ComparisonType::AbsoluteGE); +} + +bool TranslatorVisitor::FACGT_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPCompareRegister(*this, Q, sz, Vm, Vn, Vd, ComparisonType::AbsoluteGT); +} + +bool TranslatorVisitor::FADD_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorAdd(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMLA_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + const size_t esize = 16; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 operand3 = V(datasize, Vd); + const IR::U128 result = ir.FPVectorMulAdd(esize, operand3, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMLA_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 operand3 = V(datasize, Vd); + const IR::U128 result = ir.FPVectorMulAdd(esize, operand3, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMLS_vec_1(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + const size_t esize = 16; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 operand3 = V(datasize, Vd); + const IR::U128 result = ir.FPVectorMulAdd(esize, operand3, ir.FPVectorNeg(esize, operand1), operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMLS_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 operand3 = V(datasize, Vd); + const IR::U128 result = ir.FPVectorMulAdd(esize, operand3, ir.FPVectorNeg(esize, operand1), operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FCMEQ_reg_3(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const IR::U128 lhs = V(datasize, Vn); + const IR::U128 rhs = V(datasize, Vm); + const IR::U128 result = ir.FPVectorEqual(16, lhs, rhs); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FCMEQ_reg_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPCompareRegister(*this, Q, sz, Vm, Vn, Vd, ComparisonType::EQ); +} + +bool TranslatorVisitor::FCMGE_reg_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPCompareRegister(*this, Q, sz, Vm, Vn, Vd, ComparisonType::GE); +} + +bool TranslatorVisitor::FCMGT_reg_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPCompareRegister(*this, Q, sz, Vm, Vn, Vd, ComparisonType::GT); +} + +bool TranslatorVisitor::AND_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const auto operand1 = V(datasize, Vn); + const auto operand2 = V(datasize, Vm); + const auto result = ir.VectorAnd(operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::BIC_asimd_reg(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + + IR::U128 result = ir.VectorAnd(operand1, ir.VectorNot(operand2)); + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CMHI_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorGreaterUnsigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CMHS_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + IR::U128 result = ir.VectorGreaterEqualUnsigned(esize, operand1, operand2); + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CMTST_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 anded = ir.VectorAnd(operand1, operand2); + const IR::U128 result = ir.VectorNot(ir.VectorEqual(esize, anded, ir.ZeroVector())); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SQSHL_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return SaturatingShiftLeft(*this, Q, size, Vm, Vn, Vd, Signedness::Signed); +} + +bool TranslatorVisitor::SRSHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return RoundingShiftLeft(*this, Q, size, Vm, Vn, Vd, Signedness::Signed); +} + +bool TranslatorVisitor::SSHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorArithmeticVShift(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::UQSHL_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return SaturatingShiftLeft(*this, Q, size, Vm, Vn, Vd, Signedness::Unsigned); +} + +bool TranslatorVisitor::URSHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return RoundingShiftLeft(*this, Q, size, Vm, Vn, Vd, Signedness::Unsigned); +} + +bool TranslatorVisitor::USHL_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorLogicalVShift(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::UMAX(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return VectorMinMaxOperation(*this, Q, size, Vm, Vn, Vd, MinMaxOperation::Max, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMAXP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return PairedMinMaxOperation(*this, Q, size, Vm, Vn, Vd, MinMaxOperation::Max, Signedness::Unsigned); +} + +bool TranslatorVisitor::UABA(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 initial_dest = V(datasize, Vd); + + const IR::U128 result = ir.VectorAdd(esize, initial_dest, + ir.VectorUnsignedAbsoluteDifference(esize, operand1, operand2)); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::UABD(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorUnsignedAbsoluteDifference(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::UMIN(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return VectorMinMaxOperation(*this, Q, size, Vm, Vn, Vd, MinMaxOperation::Min, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMINP(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return PairedMinMaxOperation(*this, Q, size, Vm, Vn, Vd, MinMaxOperation::Min, Signedness::Unsigned); +} + +bool TranslatorVisitor::FSUB_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorSub(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRECPS_3(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 16; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorRecipStepFused(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRECPS_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorRecipStepFused(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRSQRTS_3(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t esize = 16; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorRSqrtStepFused(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRSQRTS_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorRSqrtStepFused(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::ORR_asimd_reg(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const auto operand1 = V(datasize, Vn); + const auto operand2 = V(datasize, Vm); + const auto result = ir.VectorOr(operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::ORN_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const auto operand1 = V(datasize, Vn); + const auto operand2 = V(datasize, Vm); + + auto result = ir.VectorOr(operand1, ir.VectorNot(operand2)); + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::PMUL(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size != 0b00) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.VectorPolynomialMultiply(operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SUB_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const auto operand1 = V(datasize, Vn); + const auto operand2 = V(datasize, Vm); + const auto result = ir.VectorSub(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CMEQ_reg_2(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + + IR::U128 result = ir.VectorEqual(esize, operand1, operand2); + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::MLS_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 operand3 = V(datasize, Vd); + + const IR::U128 result = ir.VectorSub(esize, operand3, ir.VectorMultiply(esize, operand1, operand2)); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::EOR_asimd(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const auto operand1 = V(datasize, Vn); + const auto operand2 = V(datasize, Vm); + const auto result = ir.VectorEor(operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMAX_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPMinMaxOperation(*this, Q, sz, Vm, Vn, Vd, MinMaxOperation::Max); +} + +bool TranslatorVisitor::FMAXNM_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPMinMaxNumericOperation(*this, Q, sz, Vm, Vn, Vd, &IREmitter::FPMaxNumeric); +} + +bool TranslatorVisitor::FMAXNMP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPPairedMinMax(*this, Q, sz, Vm, Vn, Vd, &IREmitter::FPMaxNumeric); +} + +bool TranslatorVisitor::FMAXP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPPairedMinMax(*this, Q, sz, Vm, Vn, Vd, &IREmitter::FPMax); +} + +bool TranslatorVisitor::FMIN_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPMinMaxOperation(*this, Q, sz, Vm, Vn, Vd, MinMaxOperation::Min); +} + +bool TranslatorVisitor::FMINNM_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPMinMaxNumericOperation(*this, Q, sz, Vm, Vn, Vd, &IREmitter::FPMinNumeric); +} + +bool TranslatorVisitor::FMINNMP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPPairedMinMax(*this, Q, sz, Vm, Vn, Vd, &IREmitter::FPMinNumeric); +} + +bool TranslatorVisitor::FMINP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + return FPPairedMinMax(*this, Q, sz, Vm, Vn, Vd, &IREmitter::FPMin); +} + +bool TranslatorVisitor::FADDP_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = Q ? ir.FPVectorPairedAdd(esize, operand1, operand2) : ir.FPVectorPairedAddLower(esize, operand1, operand2); + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMUL_vec_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorMul(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FMULX_vec_4(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 result = ir.FPVectorMulX(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FDIV_2(bool Q, bool sz, Vec Vm, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + IR::U128 result = ir.FPVectorDiv(esize, operand1, operand2); + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::BIF(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const auto operand1 = V(datasize, Vd); + const auto operand4 = V(datasize, Vn); + const auto operand3 = ir.VectorNot(V(datasize, Vm)); + const auto result = ir.VectorEor(operand1, ir.VectorAnd(ir.VectorEor(operand1, operand4), operand3)); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::BIT(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const auto operand1 = V(datasize, Vd); + const auto operand4 = V(datasize, Vn); + const auto operand3 = V(datasize, Vm); + const auto result = ir.VectorEor(operand1, ir.VectorAnd(ir.VectorEor(operand1, operand4), operand3)); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::BSL(bool Q, Vec Vm, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const auto operand4 = V(datasize, Vn); + const auto operand1 = V(datasize, Vm); + const auto operand3 = V(datasize, Vd); + const auto result = ir.VectorEor(operand1, ir.VectorAnd(ir.VectorEor(operand1, operand4), operand3)); + + V(datasize, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_same_extra.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_same_extra.cpp new file mode 100755 index 000000000..d18f4b10c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_three_same_extra.cpp @@ -0,0 +1,174 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { + +using ExtensionFunction = IR::U32 (IREmitter::*)(const IR::UAny&); + +bool DotProduct(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd, ExtensionFunction extension) { + if (size != 0b10) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + const size_t elements = datasize / esize; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(datasize, Vm); + IR::U128 result = v.V(datasize, Vd); + + for (size_t i = 0; i < elements; i++) { + IR::U32 res_element = v.ir.Imm32(0); + + for (size_t j = 0; j < 4; j++) { + const IR::U32 elem1 = (v.ir.*extension)(v.ir.VectorGetElement(8, operand1, 4 * i + j)); + const IR::U32 elem2 = (v.ir.*extension)(v.ir.VectorGetElement(8, operand2, 4 * i + j)); + + res_element = v.ir.Add(res_element, v.ir.Mul(elem1, elem2)); + } + + res_element = v.ir.Add(v.ir.VectorGetElement(32, result, i), res_element); + result = v.ir.VectorSetElement(32, result, i, res_element); + } + + v.V(datasize, Vd, result); + return true; +} + +} // Anonymous namespace + +bool TranslatorVisitor::SDOT_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return DotProduct(*this, Q, size, Vm, Vn, Vd, &IREmitter::SignExtendToWord); +} + +bool TranslatorVisitor::UDOT_vec(bool Q, Imm<2> size, Vec Vm, Vec Vn, Vec Vd) { + return DotProduct(*this, Q, size, Vm, Vn, Vd, &IREmitter::ZeroExtendToWord); +} + +bool TranslatorVisitor::FCMLA_vec(bool Q, Imm<2> size, Vec Vm, Imm<2> rot, Vec Vn, Vec Vd) { + if (size == 0) { + return ReservedValue(); + } + + if (!Q && size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8U << size.ZeroExtend(); + + // TODO: Currently we don't support half-precision floating point + if (esize == 16) { + return InterpretThisInstruction(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t num_elements = datasize / esize; + const size_t num_iterations = num_elements / 2; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 operand3 = V(datasize, Vd); + IR::U128 result = ir.ZeroVector(); + + IR::U32U64 element1; + IR::U32U64 element2; + IR::U32U64 element3; + IR::U32U64 element4; + for (size_t e = 0; e < num_iterations; ++e) { + const size_t first = e * 2; + const size_t second = first + 1; + + switch (rot.ZeroExtend()) { + case 0b00: // 0 degrees + element1 = ir.VectorGetElement(esize, operand2, first); + element2 = ir.VectorGetElement(esize, operand1, first); + element3 = ir.VectorGetElement(esize, operand2, second); + element4 = ir.VectorGetElement(esize, operand1, first); + break; + case 0b01: // 90 degrees + element1 = ir.FPNeg(ir.VectorGetElement(esize, operand2, second)); + element2 = ir.VectorGetElement(esize, operand1, second); + element3 = ir.VectorGetElement(esize, operand2, first); + element4 = ir.VectorGetElement(esize, operand1, second); + break; + case 0b10: // 180 degrees + element1 = ir.FPNeg(ir.VectorGetElement(esize, operand2, first)); + element2 = ir.VectorGetElement(esize, operand1, first); + element3 = ir.FPNeg(ir.VectorGetElement(esize, operand2, second)); + element4 = ir.VectorGetElement(esize, operand1, first); + break; + case 0b11: // 270 degrees + element1 = ir.VectorGetElement(esize, operand2, second); + element2 = ir.VectorGetElement(esize, operand1, second); + element3 = ir.FPNeg(ir.VectorGetElement(esize, operand2, first)); + element4 = ir.VectorGetElement(esize, operand1, second); + break; + } + + const IR::U32U64 operand3_elem1 = ir.VectorGetElement(esize, operand3, first); + const IR::U32U64 operand3_elem2 = ir.VectorGetElement(esize, operand3, second); + + result = ir.VectorSetElement(esize, result, first, ir.FPMulAdd(operand3_elem1, element2, element1)); + result = ir.VectorSetElement(esize, result, second, ir.FPMulAdd(operand3_elem2, element4, element3)); + } + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::FCADD_vec(bool Q, Imm<2> size, Vec Vm, Imm<1> rot, Vec Vn, Vec Vd) { + if (size == 0) { + return ReservedValue(); + } + + if (!Q && size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8U << size.ZeroExtend(); + + // TODO: Currently we don't support half-precision floating point + if (esize == 16) { + return InterpretThisInstruction(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t num_elements = datasize / esize; + const size_t num_iterations = num_elements / 2; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + IR::U128 result = ir.ZeroVector(); + + IR::U32U64 element1; + IR::U32U64 element3; + for (size_t e = 0; e < num_iterations; ++e) { + const size_t first = e * 2; + const size_t second = first + 1; + + if (rot == 0) { + element1 = ir.FPNeg(ir.VectorGetElement(esize, operand2, second)); + element3 = ir.VectorGetElement(esize, operand2, first); + } else if (rot == 1) { + element1 = ir.VectorGetElement(esize, operand2, second); + element3 = ir.FPNeg(ir.VectorGetElement(esize, operand2, first)); + } + + const IR::U32U64 operand1_elem1 = ir.VectorGetElement(esize, operand1, first); + const IR::U32U64 operand1_elem3 = ir.VectorGetElement(esize, operand1, second); + + result = ir.VectorSetElement(esize, result, first, ir.FPAdd(operand1_elem1, element1)); + result = ir.VectorSetElement(esize, result, second, ir.FPAdd(operand1_elem3, element3)); + } + + ir.SetQ(Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_two_register_misc.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_two_register_misc.cpp new file mode 100755 index 000000000..775097540 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_two_register_misc.cpp @@ -0,0 +1,884 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/fp/rounding_mode.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +enum class ComparisonType { + EQ, + GE, + GT, + LE, + LT, +}; + +bool CompareAgainstZero(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vn, Vec Vd, ComparisonType type) { + if (size == 0b11 && !Q) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 zero = v.ir.ZeroVector(); + IR::U128 result = [&] { + switch (type) { + case ComparisonType::EQ: + return v.ir.VectorEqual(esize, operand, zero); + case ComparisonType::GE: + return v.ir.VectorGreaterEqualSigned(esize, operand, zero); + case ComparisonType::GT: + return v.ir.VectorGreaterSigned(esize, operand, zero); + case ComparisonType::LE: + return v.ir.VectorLessEqualSigned(esize, operand, zero); + case ComparisonType::LT: + default: + return v.ir.VectorLessSigned(esize, operand, zero); + } + }(); + + if (datasize == 64) { + result = v.ir.VectorZeroUpper(result); + } + + v.V(datasize, Vd, result); + return true; +} + +bool FPCompareAgainstZero(TranslatorVisitor& v, bool Q, bool sz, Vec Vn, Vec Vd, ComparisonType type) { + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 zero = v.ir.ZeroVector(); + const IR::U128 result = [&] { + switch (type) { + case ComparisonType::EQ: + return v.ir.FPVectorEqual(esize, operand, zero); + case ComparisonType::GE: + return v.ir.FPVectorGreaterEqual(esize, operand, zero); + case ComparisonType::GT: + return v.ir.FPVectorGreater(esize, operand, zero); + case ComparisonType::LE: + return v.ir.FPVectorGreaterEqual(esize, zero, operand); + case ComparisonType::LT: + return v.ir.FPVectorGreater(esize, zero, operand); + } + + UNREACHABLE(); + }(); + + v.V(datasize, Vd, result); + return true; +} + +enum class Signedness { + Signed, + Unsigned +}; + +bool IntegerConvertToFloat(TranslatorVisitor& v, bool Q, bool sz, Vec Vn, Vec Vd, Signedness signedness) { + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + const FP::RoundingMode rounding_mode = v.ir.current_location->FPCR().RMode(); + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 result = signedness == Signedness::Signed + ? v.ir.FPVectorFromSignedFixed(esize, operand, 0, rounding_mode) + : v.ir.FPVectorFromUnsignedFixed(esize, operand, 0, rounding_mode); + + v.V(datasize, Vd, result); + return true; +} + +bool FloatConvertToInteger(TranslatorVisitor& v, bool Q, bool sz, Vec Vn, Vec Vd, Signedness signedness, FP::RoundingMode rounding_mode) { + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 result = signedness == Signedness::Signed + ? v.ir.FPVectorToSignedFixed(esize, operand, 0, rounding_mode) + : v.ir.FPVectorToUnsignedFixed(esize, operand, 0, rounding_mode); + + v.V(datasize, Vd, result); + return true; +} + +bool FloatRoundToIntegral(TranslatorVisitor& v, bool Q, bool sz, Vec Vn, Vec Vd, FP::RoundingMode rounding_mode, bool exact) { + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 result = v.ir.FPVectorRoundInt(esize, operand, rounding_mode, exact); + + v.V(datasize, Vd, result); + return true; +} + +bool FloatRoundToIntegralHalfPrecision(TranslatorVisitor& v, bool Q, Vec Vn, Vec Vd, FP::RoundingMode rounding_mode, bool exact) { + const size_t datasize = Q ? 128 : 64; + const size_t esize = 16; + + const IR::U128 operand = v.V(datasize, Vn); + const IR::U128 result = v.ir.FPVectorRoundInt(esize, operand, rounding_mode, exact); + + v.V(datasize, Vd, result); + return true; +} + +bool SaturatedNarrow(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vn, Vec Vd, IR::U128 (IR::IREmitter::*fn)(size_t, const IR::U128&)) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = 64; + const size_t part = Q ? 1 : 0; + + const IR::U128 operand = v.V(2 * datasize, Vn); + const IR::U128 result = (v.ir.*fn)(2 * esize, operand); + + v.Vpart(datasize, Vd, part, result); + return true; +} + +enum class PairedAddLongExtraBehavior { + None, + Accumulate, +}; + +bool PairedAddLong(TranslatorVisitor& v, bool Q, Imm<2> size, Vec Vn, Vec Vd, Signedness sign, PairedAddLongExtraBehavior behavior) { + if (size == 0b11) { + return v.ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = v.V(datasize, Vn); + IR::U128 result = [&] { + if (sign == Signedness::Signed) { + return v.ir.VectorPairedAddSignedWiden(esize, operand); + } + + return v.ir.VectorPairedAddUnsignedWiden(esize, operand); + }(); + + if (behavior == PairedAddLongExtraBehavior::Accumulate) { + result = v.ir.VectorAdd(esize * 2, v.V(datasize, Vd), result); + } + + if (datasize == 64) { + result = v.ir.VectorZeroUpper(result); + } + + v.V(datasize, Vd, result); + return true; +} + +} // Anonymous namespace + +bool TranslatorVisitor::CLS_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 shifted = ir.VectorArithmeticShiftRight(esize, operand, static_cast(esize)); + const IR::U128 xored = ir.VectorEor(operand, shifted); + const IR::U128 clz = ir.VectorCountLeadingZeros(esize, xored); + IR::U128 result = ir.VectorSub(esize, clz, ir.VectorBroadcast(esize, I(esize, 1))); + + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CLZ_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + IR::U128 result = ir.VectorCountLeadingZeros(esize, operand); + + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CNT(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size != 0b00) { + return ReservedValue(); + } + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.VectorPopulationCount(operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::CMGE_zero_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return CompareAgainstZero(*this, Q, size, Vn, Vd, ComparisonType::GE); +} + +bool TranslatorVisitor::CMGT_zero_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return CompareAgainstZero(*this, Q, size, Vn, Vd, ComparisonType::GT); +} + +bool TranslatorVisitor::CMEQ_zero_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return CompareAgainstZero(*this, Q, size, Vn, Vd, ComparisonType::EQ); +} + +bool TranslatorVisitor::CMLE_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return CompareAgainstZero(*this, Q, size, Vn, Vd, ComparisonType::LE); +} + +bool TranslatorVisitor::CMLT_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return CompareAgainstZero(*this, Q, size, Vn, Vd, ComparisonType::LT); +} + +bool TranslatorVisitor::ABS_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (!Q && size == 0b11) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 data = V(datasize, Vn); + const IR::U128 result = ir.VectorAbs(esize, data); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::XTN(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = 64; + const size_t part = Q ? 1 : 0; + + const IR::U128 operand = V(2 * datasize, Vn); + const IR::U128 result = ir.VectorNarrow(2 * esize, operand); + + Vpart(datasize, Vd, part, result); + return true; +} + +bool TranslatorVisitor::FABS_1(bool Q, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + const size_t esize = 16; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.FPVectorAbs(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FABS_2(bool Q, bool sz, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.FPVectorAbs(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FCMEQ_zero_3(bool Q, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 zero = ir.ZeroVector(); + const IR::U128 result = ir.FPVectorEqual(16, operand, zero); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FCMEQ_zero_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPCompareAgainstZero(*this, Q, sz, Vn, Vd, ComparisonType::EQ); +} + +bool TranslatorVisitor::FCMGE_zero_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPCompareAgainstZero(*this, Q, sz, Vn, Vd, ComparisonType::GE); +} + +bool TranslatorVisitor::FCMGT_zero_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPCompareAgainstZero(*this, Q, sz, Vn, Vd, ComparisonType::GT); +} + +bool TranslatorVisitor::FCMLE_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPCompareAgainstZero(*this, Q, sz, Vn, Vd, ComparisonType::LE); +} + +bool TranslatorVisitor::FCMLT_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FPCompareAgainstZero(*this, Q, sz, Vn, Vd, ComparisonType::LT); +} + +bool TranslatorVisitor::FCVTL(bool Q, bool sz, Vec Vn, Vec Vd) { + const size_t esize = sz ? 32 : 16; + const size_t datasize = 64; + const size_t num_elements = datasize / esize; + + const IR::U128 part = Vpart(64, Vn, Q); + const auto rounding_mode = ir.current_location->FPCR().RMode(); + IR::U128 result = ir.ZeroVector(); + + for (size_t i = 0; i < num_elements; i++) { + IR::U16U32U64 element = ir.VectorGetElement(esize, part, i); + + if (esize == 16) { + element = ir.FPHalfToSingle(element, rounding_mode); + } else if (esize == 32) { + element = ir.FPSingleToDouble(element, rounding_mode); + } + + result = ir.VectorSetElement(2 * esize, result, i, element); + } + + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::FCVTN(bool Q, bool sz, Vec Vn, Vec Vd) { + const size_t datasize = 64; + const size_t esize = sz ? 32 : 16; + const size_t num_elements = datasize / esize; + + const IR::U128 operand = V(128, Vn); + const auto rounding_mode = ir.current_location->FPCR().RMode(); + IR::U128 result = ir.ZeroVector(); + + for (size_t i = 0; i < num_elements; i++) { + IR::U16U32U64 element = ir.VectorGetElement(2 * esize, operand, i); + + if (esize == 16) { + element = ir.FPSingleToHalf(element, rounding_mode); + } else if (esize == 32) { + element = ir.FPDoubleToSingle(element, rounding_mode); + } + + result = ir.VectorSetElement(esize, result, i, element); + } + + Vpart(datasize, Vd, Q, result); + return true; +} + +bool TranslatorVisitor::FCVTNS_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Signed, FP::RoundingMode::ToNearest_TieEven); +} + +bool TranslatorVisitor::FCVTMS_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Signed, FP::RoundingMode::TowardsMinusInfinity); +} + +bool TranslatorVisitor::FCVTAS_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Signed, FP::RoundingMode::ToNearest_TieAwayFromZero); +} + +bool TranslatorVisitor::FCVTPS_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Signed, FP::RoundingMode::TowardsPlusInfinity); +} + +bool TranslatorVisitor::FCVTXN_2(bool Q, bool sz, Vec Vn, Vec Vd) { + if (!sz) { + return UnallocatedEncoding(); + } + + const size_t part = Q ? 1 : 0; + const auto operand = ir.GetQ(Vn); + auto result = ir.ZeroVector(); + + for (size_t e = 0; e < 2; ++e) { + const IR::U64 element = ir.VectorGetElement(64, operand, e); + const IR::U32 converted = ir.FPDoubleToSingle(element, FP::RoundingMode::ToOdd); + + result = ir.VectorSetElement(32, result, e, converted); + } + + Vpart(64, Vd, part, result); + return true; +} + +bool TranslatorVisitor::FCVTZS_int_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Signed, FP::RoundingMode::TowardsZero); +} + +bool TranslatorVisitor::FCVTNU_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Unsigned, FP::RoundingMode::ToNearest_TieEven); +} + +bool TranslatorVisitor::FCVTMU_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Unsigned, FP::RoundingMode::TowardsMinusInfinity); +} + +bool TranslatorVisitor::FCVTAU_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Unsigned, FP::RoundingMode::ToNearest_TieAwayFromZero); +} + +bool TranslatorVisitor::FCVTPU_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Unsigned, FP::RoundingMode::TowardsPlusInfinity); +} + +bool TranslatorVisitor::FCVTZU_int_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatConvertToInteger(*this, Q, sz, Vn, Vd, Signedness::Unsigned, FP::RoundingMode::TowardsZero); +} + +bool TranslatorVisitor::FRINTN_1(bool Q, Vec Vn, Vec Vd) { + return FloatRoundToIntegralHalfPrecision(*this, Q, Vn, Vd, FP::RoundingMode::ToNearest_TieEven, false); +} + +bool TranslatorVisitor::FRINTN_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatRoundToIntegral(*this, Q, sz, Vn, Vd, FP::RoundingMode::ToNearest_TieEven, false); +} + +bool TranslatorVisitor::FRINTM_1(bool Q, Vec Vn, Vec Vd) { + return FloatRoundToIntegralHalfPrecision(*this, Q, Vn, Vd, FP::RoundingMode::TowardsMinusInfinity, false); +} + +bool TranslatorVisitor::FRINTM_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatRoundToIntegral(*this, Q, sz, Vn, Vd, FP::RoundingMode::TowardsMinusInfinity, false); +} + +bool TranslatorVisitor::FRINTP_1(bool Q, Vec Vn, Vec Vd) { + return FloatRoundToIntegralHalfPrecision(*this, Q, Vn, Vd, FP::RoundingMode::TowardsPlusInfinity, false); +} + +bool TranslatorVisitor::FRINTP_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatRoundToIntegral(*this, Q, sz, Vn, Vd, FP::RoundingMode::TowardsPlusInfinity, false); +} + +bool TranslatorVisitor::FRINTZ_1(bool Q, Vec Vn, Vec Vd) { + return FloatRoundToIntegralHalfPrecision(*this, Q, Vn, Vd, FP::RoundingMode::TowardsZero, false); +} + +bool TranslatorVisitor::FRINTZ_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatRoundToIntegral(*this, Q, sz, Vn, Vd, FP::RoundingMode::TowardsZero, false); +} + +bool TranslatorVisitor::FRINTA_1(bool Q, Vec Vn, Vec Vd) { + return FloatRoundToIntegralHalfPrecision(*this, Q, Vn, Vd, FP::RoundingMode::ToNearest_TieAwayFromZero, false); +} + +bool TranslatorVisitor::FRINTA_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatRoundToIntegral(*this, Q, sz, Vn, Vd, FP::RoundingMode::ToNearest_TieAwayFromZero, false); +} + +bool TranslatorVisitor::FRINTX_1(bool Q, Vec Vn, Vec Vd) { + return FloatRoundToIntegralHalfPrecision(*this, Q, Vn, Vd, ir.current_location->FPCR().RMode(), true); +} + +bool TranslatorVisitor::FRINTX_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatRoundToIntegral(*this, Q, sz, Vn, Vd, ir.current_location->FPCR().RMode(), true); +} + +bool TranslatorVisitor::FRINTI_1(bool Q, Vec Vn, Vec Vd) { + return FloatRoundToIntegralHalfPrecision(*this, Q, Vn, Vd, ir.current_location->FPCR().RMode(), false); +} + +bool TranslatorVisitor::FRINTI_2(bool Q, bool sz, Vec Vn, Vec Vd) { + return FloatRoundToIntegral(*this, Q, sz, Vn, Vd, ir.current_location->FPCR().RMode(), false); +} + +bool TranslatorVisitor::FRECPE_3(bool Q, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + const size_t esize = 16; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.FPVectorRecipEstimate(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRECPE_4(bool Q, bool sz, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.FPVectorRecipEstimate(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FSQRT_2(bool Q, bool sz, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.FPVectorSqrt(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRSQRTE_3(bool Q, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + const size_t esize = 16; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.FPVectorRSqrtEstimate(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FRSQRTE_4(bool Q, bool sz, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.FPVectorRSqrtEstimate(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FNEG_1(bool Q, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 mask = ir.VectorBroadcast(64, I(64, 0x8000800080008000)); + const IR::U128 result = ir.VectorEor(operand, mask); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::FNEG_2(bool Q, bool sz, Vec Vn, Vec Vd) { + if (sz && !Q) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = sz ? 64 : 32; + const size_t mask_value = esize == 64 ? 0x8000000000000000 : 0x8000000080000000; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 mask = Q ? ir.VectorBroadcast(esize, I(esize, mask_value)) : ir.VectorBroadcastLower(esize, I(esize, mask_value)); + const IR::U128 result = ir.VectorEor(operand, mask); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::NEG_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 zero = ir.ZeroVector(); + const IR::U128 result = ir.VectorSub(esize, zero, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SQXTUN_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return SaturatedNarrow(*this, Q, size, Vn, Vd, &IR::IREmitter::VectorSignedSaturatedNarrowToUnsigned); +} + +bool TranslatorVisitor::SQXTN_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return SaturatedNarrow(*this, Q, size, Vn, Vd, &IR::IREmitter::VectorSignedSaturatedNarrowToSigned); +} + +bool TranslatorVisitor::UQXTN_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return SaturatedNarrow(*this, Q, size, Vn, Vd, &IR::IREmitter::VectorUnsignedSaturatedNarrow); +} + +bool TranslatorVisitor::NOT(bool Q, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + IR::U128 result = ir.VectorNot(operand); + + if (datasize == 64) { + result = ir.VectorZeroUpper(result); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::RBIT_asimd(bool Q, Vec Vn, Vec Vd) { + const size_t datasize = Q ? 128 : 64; + + const IR::U128 data = V(datasize, Vn); + const IR::U128 result = ir.VectorReverseBits(data); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::REV16_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size != 0) { + return UnallocatedEncoding(); + } + + const size_t datasize = Q ? 128 : 64; + constexpr size_t esize = 16; + + const IR::U128 data = V(datasize, Vn); + const IR::U128 result = ir.VectorOr(ir.VectorLogicalShiftRight(esize, data, 8), + ir.VectorLogicalShiftLeft(esize, data, 8)); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::REV32_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + const u32 zext_size = size.ZeroExtend(); + + if (zext_size > 1) { + return UnallocatedEncoding(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 16 << zext_size; + const u8 shift = static_cast(8 << zext_size); + + const IR::U128 data = V(datasize, Vn); + + // TODO: Consider factoring byte swapping code out into its own opcode. + // Technically the rest of the following code can be a PSHUFB + // in the presence of SSSE3. + IR::U128 result = ir.VectorOr(ir.VectorLogicalShiftRight(esize, data, shift), + ir.VectorLogicalShiftLeft(esize, data, shift)); + + // If dealing with 8-bit elements we'll need to shuffle the bytes in each halfword + // e.g. Assume the following numbers point out bytes in a 32-bit word, we're essentially + // changing [3, 2, 1, 0] to [2, 3, 0, 1] + if (zext_size == 0) { + result = ir.VectorShuffleLowHalfwords(result, 0b10110001); + result = ir.VectorShuffleHighHalfwords(result, 0b10110001); + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::REV64_asimd(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + const u32 zext_size = size.ZeroExtend(); + + if (zext_size >= 3) { + return UnallocatedEncoding(); + } + + const size_t datasize = Q ? 128 : 64; + const size_t esize = 16 << zext_size; + const u8 shift = static_cast(8 << zext_size); + + const IR::U128 data = V(datasize, Vn); + + // TODO: Consider factoring byte swapping code out into its own opcode. + // Technically the rest of the following code can be a PSHUFB + // in the presence of SSSE3. + IR::U128 result = ir.VectorOr(ir.VectorLogicalShiftRight(esize, data, shift), + ir.VectorLogicalShiftLeft(esize, data, shift)); + + switch (zext_size) { + case 0: // 8-bit elements + result = ir.VectorShuffleLowHalfwords(result, 0b00011011); + result = ir.VectorShuffleHighHalfwords(result, 0b00011011); + break; + case 1: // 16-bit elements + result = ir.VectorShuffleLowHalfwords(result, 0b01001110); + result = ir.VectorShuffleHighHalfwords(result, 0b01001110); + break; + } + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SQABS_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.VectorSignedSaturatedAbs(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SQNEG_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.VectorSignedSaturatedNeg(esize, operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SUQADD_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vd); + const IR::U128 result = ir.VectorSignedSaturatedAccumulateUnsigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::USQADD_2(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11 && !Q) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vd); + const IR::U128 result = ir.VectorUnsignedSaturatedAccumulateSigned(esize, operand1, operand2); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SADALP(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return PairedAddLong(*this, Q, size, Vn, Vd, Signedness::Signed, PairedAddLongExtraBehavior::Accumulate); +} + +bool TranslatorVisitor::SADDLP(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return PairedAddLong(*this, Q, size, Vn, Vd, Signedness::Signed, PairedAddLongExtraBehavior::None); +} + +bool TranslatorVisitor::UADALP(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return PairedAddLong(*this, Q, size, Vn, Vd, Signedness::Unsigned, PairedAddLongExtraBehavior::Accumulate); +} + +bool TranslatorVisitor::UADDLP(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + return PairedAddLong(*this, Q, size, Vn, Vd, Signedness::Unsigned, PairedAddLongExtraBehavior::None); +} + +bool TranslatorVisitor::URECPE(bool Q, bool sz, Vec Vn, Vec Vd) { + if (sz) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.VectorUnsignedRecipEstimate(operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::URSQRTE(bool Q, bool sz, Vec Vn, Vec Vd) { + if (sz) { + return ReservedValue(); + } + + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand = V(datasize, Vn); + const IR::U128 result = ir.VectorUnsignedRecipSqrtEstimate(operand); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SCVTF_int_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return IntegerConvertToFloat(*this, Q, sz, Vn, Vd, Signedness::Signed); +} + +bool TranslatorVisitor::UCVTF_int_4(bool Q, bool sz, Vec Vn, Vec Vd) { + return IntegerConvertToFloat(*this, Q, sz, Vn, Vd, Signedness::Unsigned); +} + +bool TranslatorVisitor::SHLL(bool Q, Imm<2> size, Vec Vn, Vec Vd) { + if (size == 0b11) { + return ReservedValue(); + } + + const size_t esize = 8 << size.ZeroExtend(); + + const IR::U128 operand = ir.VectorZeroExtend(esize, Vpart(64, Vn, Q)); + const IR::U128 result = ir.VectorLogicalShiftLeft(esize * 2, operand, static_cast(esize)); + + V(128, Vd, result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp new file mode 100755 index 000000000..d58e3119e --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/simd_vector_x_indexed_element.cpp @@ -0,0 +1,418 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { +namespace { +std::pair Combine(Imm<2> size, Imm<1> H, Imm<1> L, Imm<1> M, Imm<4> Vmlo) { + if (size == 0b01) { + return {concatenate(H, L, M).ZeroExtend(), Vmlo.ZeroExtend()}; + } + + return {concatenate(H, L).ZeroExtend(), concatenate(M, Vmlo).ZeroExtend()}; +} + +enum class ExtraBehavior { + None, + Extended, + Accumulate, + Subtract, +}; + +bool MultiplyByElement(TranslatorVisitor& v, bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd, ExtraBehavior extra_behavior) { + if (size != 0b01 && size != 0b10) { + return v.ReservedValue(); + } + + const auto [index, Vm] = Combine(size, H, L, M, Vmlo); + const size_t idxdsize = H == 1 ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.ir.VectorBroadcast(esize, v.ir.VectorGetElement(esize, v.V(idxdsize, Vm), index)); + const IR::U128 operand3 = v.V(datasize, Vd); + + IR::U128 result = v.ir.VectorMultiply(esize, operand1, operand2); + if (extra_behavior == ExtraBehavior::Accumulate) { + result = v.ir.VectorAdd(esize, operand3, result); + } else if (extra_behavior == ExtraBehavior::Subtract) { + result = v.ir.VectorSub(esize, operand3, result); + } + + v.V(datasize, Vd, result); + return true; +} + +bool FPMultiplyByElement(TranslatorVisitor& v, bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd, ExtraBehavior extra_behavior) { + if (sz && L == 1) { + return v.ReservedValue(); + } + if (sz && !Q) { + return v.ReservedValue(); + } + + const size_t idxdsize = H == 1 ? 128 : 64; + const size_t index = sz ? H.ZeroExtend() : concatenate(H, L).ZeroExtend(); + const Vec Vm = concatenate(M, Vmlo).ZeroExtend(); + const size_t esize = sz ? 64 : 32; + const size_t datasize = Q ? 128 : 64; + + const IR::UAny element2 = v.ir.VectorGetElement(esize, v.V(idxdsize, Vm), index); + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = Q ? v.ir.VectorBroadcast(esize, element2) : v.ir.VectorBroadcastLower(esize, element2); + const IR::U128 operand3 = v.V(datasize, Vd); + + const IR::U128 result = [&] { + switch (extra_behavior) { + case ExtraBehavior::None: + return v.ir.FPVectorMul(esize, operand1, operand2); + case ExtraBehavior::Extended: + return v.ir.FPVectorMulX(esize, operand1, operand2); + case ExtraBehavior::Accumulate: + return v.ir.FPVectorMulAdd(esize, operand3, operand1, operand2); + case ExtraBehavior::Subtract: + return v.ir.FPVectorMulAdd(esize, operand3, v.ir.FPVectorNeg(esize, operand1), operand2); + } + UNREACHABLE(); + }(); + v.V(datasize, Vd, result); + return true; +} + +bool FPMultiplyByElementHalfPrecision(TranslatorVisitor& v, bool Q, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd, ExtraBehavior extra_behavior) { + const size_t idxdsize = H == 1 ? 128 : 64; + const size_t index = concatenate(H, L, M).ZeroExtend(); + const Vec Vm = Vmlo.ZeroExtend(); + const size_t esize = 16; + const size_t datasize = Q ? 128 : 64; + + const IR::UAny element2 = v.ir.VectorGetElement(esize, v.V(idxdsize, Vm), index); + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = Q ? v.ir.VectorBroadcast(esize, element2) : v.ir.VectorBroadcastLower(esize, element2); + const IR::U128 operand3 = v.V(datasize, Vd); + + // TODO: We currently don't implement half-precision paths for + // regular multiplies and extended multiplies. + const IR::U128 result = [&] { + switch (extra_behavior) { + case ExtraBehavior::None: + break; + case ExtraBehavior::Extended: + break; + case ExtraBehavior::Accumulate: + return v.ir.FPVectorMulAdd(esize, operand3, operand1, operand2); + case ExtraBehavior::Subtract: + return v.ir.FPVectorMulAdd(esize, operand3, v.ir.FPVectorNeg(esize, operand1), operand2); + } + UNREACHABLE(); + }(); + v.V(datasize, Vd, result); + return true; +} + +using ExtensionFunction = IR::U32 (IREmitter::*)(const IR::UAny&); + +bool DotProduct(TranslatorVisitor& v, bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd, ExtensionFunction extension) { + if (size != 0b10) { + return v.ReservedValue(); + } + + const Vec Vm = concatenate(M, Vmlo).ZeroExtend(); + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + const size_t elements = datasize / esize; + const size_t index = concatenate(H, L).ZeroExtend(); + + const IR::U128 operand1 = v.V(datasize, Vn); + const IR::U128 operand2 = v.V(128, Vm); + IR::U128 result = v.V(datasize, Vd); + + for (size_t i = 0; i < elements; i++) { + IR::U32 res_element = v.ir.Imm32(0); + + for (size_t j = 0; j < 4; j++) { + const IR::U32 elem1 = (v.ir.*extension)(v.ir.VectorGetElement(8, operand1, 4 * i + j)); + const IR::U32 elem2 = (v.ir.*extension)(v.ir.VectorGetElement(8, operand2, 4 * index + j)); + + res_element = v.ir.Add(res_element, v.ir.Mul(elem1, elem2)); + } + + res_element = v.ir.Add(v.ir.VectorGetElement(32, result, i), res_element); + result = v.ir.VectorSetElement(32, result, i, res_element); + } + + v.V(datasize, Vd, result); + return true; +} + +enum class Signedness { + Signed, + Unsigned +}; + +bool MultiplyLong(TranslatorVisitor& v, bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd, ExtraBehavior extra_behavior, Signedness sign) { + if (size == 0b00 || size == 0b11) { + return v.ReservedValue(); + } + + const size_t idxsize = H == 1 ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = 64; + const auto [index, Vm] = Combine(size, H, L, M, Vmlo); + + const auto extend_operands = [&](const IR::U128& lhs, const IR::U128& rhs) { + if (sign == Signedness::Signed) { + return std::make_pair(v.ir.VectorSignExtend(esize, lhs), + v.ir.VectorSignExtend(esize, rhs)); + } + + return std::make_pair(v.ir.VectorZeroExtend(esize, lhs), + v.ir.VectorZeroExtend(esize, rhs)); + }; + + const IR::U128 operand1 = v.Vpart(datasize, Vn, Q); + const IR::U128 operand2 = v.V(idxsize, Vm); + const IR::U128 index_vector = v.ir.VectorBroadcast(esize, v.ir.VectorGetElement(esize, operand2, index)); + + const IR::U128 result = [&] { + const auto [extended_op1, extended_index] = extend_operands(operand1, index_vector); + const IR::U128 product = v.ir.VectorMultiply(2 * esize, extended_op1, extended_index); + if (extra_behavior == ExtraBehavior::None) { + return product; + } + + const IR::U128 operand3 = v.V(2 * datasize, Vd); + if (extra_behavior == ExtraBehavior::Accumulate) { + return v.ir.VectorAdd(2 * esize, operand3, product); + } + + return v.ir.VectorSub(2 * esize, operand3, product); + }(); + + v.V(2 * datasize, Vd, result); + return true; +} +} // Anonymous namespace + +bool TranslatorVisitor::MLA_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElement(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Accumulate); +} + +bool TranslatorVisitor::MLS_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElement(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Subtract); +} + +bool TranslatorVisitor::MUL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyByElement(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::None); +} + +bool TranslatorVisitor::FCMLA_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<2> rot, Imm<1> H, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + if (size == 0b01 && H == 1 && Q == 0) { + return ReservedValue(); + } + + if (size == 0b10 && (L == 1 || Q == 0)) { + return ReservedValue(); + } + + const size_t esize = 8U << size.ZeroExtend(); + + // TODO: We don't support the half-precision floating point variant yet. + if (esize == 16) { + return InterpretThisInstruction(); + } + + const size_t index = [=] { + if (size == 0b01) { + return concatenate(H, L).ZeroExtend(); + } + return H.ZeroExtend(); + }(); + + const Vec Vm = concatenate(M, Vmlo).ZeroExtend(); + + const size_t datasize = Q ? 128 : 64; + const size_t num_elements = datasize / esize; + const size_t num_iterations = num_elements / 2; + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(datasize, Vm); + const IR::U128 operand3 = V(datasize, Vd); + IR::U128 result = ir.ZeroVector(); + + IR::U32U64 element1; + IR::U32U64 element2; + IR::U32U64 element3; + IR::U32U64 element4; + for (size_t e = 0; e < num_iterations; ++e) { + const size_t first = e * 2; + const size_t second = first + 1; + + const size_t index_first = index * 2; + const size_t index_second = index_first + 1; + + switch (rot.ZeroExtend()) { + case 0b00: // 0 degrees + element1 = ir.VectorGetElement(esize, operand2, index_first); + element2 = ir.VectorGetElement(esize, operand1, first); + element3 = ir.VectorGetElement(esize, operand2, index_second); + element4 = ir.VectorGetElement(esize, operand1, first); + break; + case 0b01: // 90 degrees + element1 = ir.FPNeg(ir.VectorGetElement(esize, operand2, index_second)); + element2 = ir.VectorGetElement(esize, operand1, second); + element3 = ir.VectorGetElement(esize, operand2, index_first); + element4 = ir.VectorGetElement(esize, operand1, second); + break; + case 0b10: // 180 degrees + element1 = ir.FPNeg(ir.VectorGetElement(esize, operand2, index_first)); + element2 = ir.VectorGetElement(esize, operand1, first); + element3 = ir.FPNeg(ir.VectorGetElement(esize, operand2, index_second)); + element4 = ir.VectorGetElement(esize, operand1, first); + break; + case 0b11: // 270 degrees + element1 = ir.VectorGetElement(esize, operand2, index_second); + element2 = ir.VectorGetElement(esize, operand1, second); + element3 = ir.FPNeg(ir.VectorGetElement(esize, operand2, index_first)); + element4 = ir.VectorGetElement(esize, operand1, second); + break; + } + + const IR::U32U64 operand3_elem1 = ir.VectorGetElement(esize, operand3, first); + const IR::U32U64 operand3_elem2 = ir.VectorGetElement(esize, operand3, second); + + result = ir.VectorSetElement(esize, result, first, ir.FPMulAdd(operand3_elem1, element2, element1)); + result = ir.VectorSetElement(esize, result, second, ir.FPMulAdd(operand3_elem2, element4, element3)); + } + + ir.SetQ(Vd, result); + return true; +} + +bool TranslatorVisitor::FMLA_elt_3(bool Q, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return FPMultiplyByElementHalfPrecision(*this, Q, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Accumulate); +} + +bool TranslatorVisitor::FMLA_elt_4(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return FPMultiplyByElement(*this, Q, sz, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Accumulate); +} + +bool TranslatorVisitor::FMLS_elt_3(bool Q, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return FPMultiplyByElementHalfPrecision(*this, Q, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Subtract); +} + +bool TranslatorVisitor::FMLS_elt_4(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return FPMultiplyByElement(*this, Q, sz, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Subtract); +} + +bool TranslatorVisitor::FMUL_elt_4(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return FPMultiplyByElement(*this, Q, sz, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::None); +} + +bool TranslatorVisitor::FMULX_elt_4(bool Q, bool sz, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return FPMultiplyByElement(*this, Q, sz, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Extended); +} + +bool TranslatorVisitor::SMLAL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Accumulate, Signedness::Signed); +} + +bool TranslatorVisitor::SMLSL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Subtract, Signedness::Signed); +} + +bool TranslatorVisitor::SMULL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::None, Signedness::Signed); +} + +bool TranslatorVisitor::SQDMULL_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t part = Q ? 1 : 0; + const size_t idxsize = H == 1 ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = 64; + const auto [index, Vm] = Combine(size, H, L, M, Vmlo); + + const IR::U128 operand1 = Vpart(datasize, Vn, part); + const IR::U128 operand2 = V(idxsize, Vm); + const IR::U128 index_vector = ir.VectorBroadcast(esize, ir.VectorGetElement(esize, operand2, index)); + const IR::U128 result = ir.VectorSignedSaturatedDoublingMultiplyLong(esize, operand1, index_vector); + + V(128, Vd, result); + return true; +} + +bool TranslatorVisitor::SQDMULH_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t idxsize = H == 1 ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + const auto [index, Vm] = Combine(size, H, L, M, Vmlo); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(idxsize, Vm); + const IR::U128 index_vector = ir.VectorBroadcast(esize, ir.VectorGetElement(esize, operand2, index)); + const IR::U128 result = ir.VectorSignedSaturatedDoublingMultiply(esize, operand1, index_vector).upper; + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SQRDMULH_elt_2(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + if (size == 0b00 || size == 0b11) { + return ReservedValue(); + } + + const size_t idxsize = H == 1 ? 128 : 64; + const size_t esize = 8 << size.ZeroExtend(); + const size_t datasize = Q ? 128 : 64; + const auto [index, Vm] = Combine(size, H, L, M, Vmlo); + + const IR::U128 operand1 = V(datasize, Vn); + const IR::U128 operand2 = V(idxsize, Vm); + const IR::U128 index_vector = ir.VectorBroadcast(esize, ir.VectorGetElement(esize, operand2, index)); + const IR::UpperAndLower multiply = ir.VectorSignedSaturatedDoublingMultiply(esize, operand1, index_vector); + const IR::U128 result = ir.VectorAdd(esize, multiply.upper, ir.VectorLogicalShiftRight(esize, multiply.lower, static_cast(esize - 1))); + + V(datasize, Vd, result); + return true; +} + +bool TranslatorVisitor::SDOT_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return DotProduct(*this, Q, size, L, M, Vmlo, H, Vn, Vd, &IREmitter::SignExtendToWord); +} + +bool TranslatorVisitor::UDOT_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return DotProduct(*this, Q, size, L, M, Vmlo, H, Vn, Vd, &IREmitter::ZeroExtendToWord); +} + +bool TranslatorVisitor::UMLAL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Accumulate, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMLSL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::Subtract, Signedness::Unsigned); +} + +bool TranslatorVisitor::UMULL_elt(bool Q, Imm<2> size, Imm<1> L, Imm<1> M, Imm<4> Vmlo, Imm<1> H, Vec Vn, Vec Vd) { + return MultiplyLong(*this, Q, size, L, M, Vmlo, H, Vn, Vd, ExtraBehavior::None, Signedness::Unsigned); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/sys_dc.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/sys_dc.cpp new file mode 100755 index 000000000..aea3b5baf --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/sys_dc.cpp @@ -0,0 +1,51 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +static bool DataCacheInstruction(TranslatorVisitor& v, DataCacheOperation op, const Reg Rt) { + v.ir.DataCacheOperationRaised(op, v.X(64, Rt)); + return true; +} + +bool TranslatorVisitor::DC_IVAC(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::InvalidateByVAToPoC, Rt); +} + +bool TranslatorVisitor::DC_ISW(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::InvalidateBySetWay, Rt); +} + +bool TranslatorVisitor::DC_CSW(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::CleanBySetWay, Rt); +} + +bool TranslatorVisitor::DC_CISW(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::CleanAndInvalidateBySetWay, Rt); +} + +bool TranslatorVisitor::DC_ZVA(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::ZeroByVA, Rt); +} + +bool TranslatorVisitor::DC_CVAC(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::CleanByVAToPoC, Rt); +} + +bool TranslatorVisitor::DC_CVAU(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::CleanByVAToPoU, Rt); +} + +bool TranslatorVisitor::DC_CVAP(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::CleanByVAToPoP, Rt); +} + +bool TranslatorVisitor::DC_CIVAC(Reg Rt) { + return DataCacheInstruction(*this, DataCacheOperation::CleanAndInvalidateByVAToPoC, Rt); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/sys_ic.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/sys_ic.cpp new file mode 100755 index 000000000..35fa24083 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/sys_ic.cpp @@ -0,0 +1,25 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::IC_IALLU() { + ir.InstructionCacheOperationRaised(InstructionCacheOperation::InvalidateAllToPoU, ir.Imm64(0)); + return true; +} + +bool TranslatorVisitor::IC_IALLUIS() { + ir.InstructionCacheOperationRaised(InstructionCacheOperation::InvalidateAllToPoUInnerSharable, ir.Imm64(0)); + return true; +} + +bool TranslatorVisitor::IC_IVAU(Reg Rt) { + ir.InstructionCacheOperationRaised(InstructionCacheOperation::InvalidateByVAToPoU, X(64, Rt)); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system.cpp new file mode 100755 index 000000000..9c35a8f36 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system.cpp @@ -0,0 +1,161 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +// Register encodings used by MRS and MSR. +// Order of fields: op0, CRn, op1, op2, CRm. +enum class SystemRegisterEncoding : u32 { + // Counter-timer Frequency register + CNTFRQ_EL0 = 0b11'1110'011'000'0000, + // Counter-timer Physical Count register + CNTPCT_EL0 = 0b11'1110'011'001'0000, + // Cache Type Register + CTR_EL0 = 0b11'0000'011'001'0000, + // Data Cache Zero ID register + DCZID_EL0 = 0b11'0000'011'111'0000, + // Floating-point Control Register + FPCR = 0b11'0100'011'000'0100, + // Floating-point Status Register + FPSR = 0b11'0100'011'001'0100, + // NZCV, Condition Flags + NZCV = 0b11'0100'011'000'0010, + // Read/Write Software Thread ID Register + TPIDR_EL0 = 0b11'1101'011'010'0000, + // Read-Only Software Thread ID Register + TPIDRRO_EL0 = 0b11'1101'011'011'0000, +}; + +bool TranslatorVisitor::HINT([[maybe_unused]] Imm<4> CRm, [[maybe_unused]] Imm<3> op2) { + return true; +} + +bool TranslatorVisitor::NOP() { + return true; +} + +bool TranslatorVisitor::YIELD() { + if (!options.hook_hint_instructions) { + return true; + } + return RaiseException(Exception::Yield); +} + +bool TranslatorVisitor::WFE() { + if (!options.hook_hint_instructions) { + return true; + } + return RaiseException(Exception::WaitForEvent); +} + +bool TranslatorVisitor::WFI() { + if (!options.hook_hint_instructions) { + return true; + } + return RaiseException(Exception::WaitForInterrupt); +} + +bool TranslatorVisitor::SEV() { + if (!options.hook_hint_instructions) { + return true; + } + return RaiseException(Exception::SendEvent); +} + +bool TranslatorVisitor::SEVL() { + if (!options.hook_hint_instructions) { + return true; + } + return RaiseException(Exception::SendEventLocal); +} + +bool TranslatorVisitor::CLREX(Imm<4> /*CRm*/) { + ir.ClearExclusive(); + return true; +} + +bool TranslatorVisitor::DSB(Imm<4> /*CRm*/) { + ir.DataSynchronizationBarrier(); + return true; +} + +bool TranslatorVisitor::DMB(Imm<4> /*CRm*/) { + ir.DataMemoryBarrier(); + return true; +} + +bool TranslatorVisitor::ISB(Imm<4> /*CRm*/) { + ir.InstructionSynchronizationBarrier(); + ir.SetPC(ir.Imm64(ir.current_location->PC() + 4)); + ir.SetTerm(IR::Term::ReturnToDispatch{}); + return false; +} + +bool TranslatorVisitor::MSR_reg(Imm<1> o0, Imm<3> op1, Imm<4> CRn, Imm<4> CRm, Imm<3> op2, Reg Rt) { + const auto sys_reg = concatenate(Imm<1>{1}, o0, CRn, op1, op2, CRm).ZeroExtend(); + switch (sys_reg) { + case SystemRegisterEncoding::FPCR: + ir.SetFPCR(X(32, Rt)); + ir.SetPC(ir.Imm64(ir.current_location->PC() + 4)); + ir.SetTerm(IR::Term::FastDispatchHint{}); + return false; + case SystemRegisterEncoding::FPSR: + ir.SetFPSR(X(32, Rt)); + return true; + case SystemRegisterEncoding::NZCV: + ir.SetNZCVRaw(X(32, Rt)); + return true; + case SystemRegisterEncoding::TPIDR_EL0: + ir.SetTPIDR(X(64, Rt)); + return true; + default: + break; + } + return InterpretThisInstruction(); +} + +bool TranslatorVisitor::MRS(Imm<1> o0, Imm<3> op1, Imm<4> CRn, Imm<4> CRm, Imm<3> op2, Reg Rt) { + const auto sys_reg = concatenate(Imm<1>{1}, o0, CRn, op1, op2, CRm).ZeroExtend(); + switch (sys_reg) { + case SystemRegisterEncoding::CNTFRQ_EL0: + X(32, Rt, ir.GetCNTFRQ()); + return true; + case SystemRegisterEncoding::CNTPCT_EL0: + // HACK: Ensure that this is the first instruction in the block it's emitted in, so the cycle count is most up-to-date. + if (!ir.block.empty() && !options.wall_clock_cntpct) { + ir.block.CycleCount()--; + ir.SetTerm(IR::Term::LinkBlock{*ir.current_location}); + return false; + } + X(64, Rt, ir.GetCNTPCT()); + return true; + case SystemRegisterEncoding::CTR_EL0: + X(32, Rt, ir.GetCTR()); + return true; + case SystemRegisterEncoding::DCZID_EL0: + X(32, Rt, ir.GetDCZID()); + return true; + case SystemRegisterEncoding::FPCR: + X(32, Rt, ir.GetFPCR()); + return true; + case SystemRegisterEncoding::FPSR: + X(32, Rt, ir.GetFPSR()); + return true; + case SystemRegisterEncoding::NZCV: + X(32, Rt, ir.GetNZCVRaw()); + return true; + case SystemRegisterEncoding::TPIDR_EL0: + X(64, Rt, ir.GetTPIDR()); + return true; + case SystemRegisterEncoding::TPIDRRO_EL0: + X(64, Rt, ir.GetTPIDRRO()); + return true; + } + return InterpretThisInstruction(); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system_flag_format.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system_flag_format.cpp new file mode 100755 index 000000000..402fe6c94 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system_flag_format.cpp @@ -0,0 +1,46 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::AXFlag() { + const IR::U32 nzcv = ir.GetNZCVRaw(); + + const IR::U32 z = ir.And(nzcv, ir.Imm32(0x40000000)); + const IR::U32 c = ir.And(nzcv, ir.Imm32(0x20000000)); + const IR::U32 v = ir.And(nzcv, ir.Imm32(0x10000000)); + + const IR::U32 new_z = ir.Or(ir.LogicalShiftLeft(v, ir.Imm8(2)), z); + const IR::U32 new_c = ir.And(ir.And(c, ir.Not(ir.LogicalShiftLeft(v, ir.Imm8(1)))), ir.Imm32(0x20000000)); + + ir.SetNZCVRaw(ir.Or(new_z, new_c)); + return true; +} + +bool TranslatorVisitor::XAFlag() { + const IR::U32 nzcv = ir.GetNZCVRaw(); + + const IR::U32 z = ir.And(nzcv, ir.Imm32(0x40000000)); + const IR::U32 c = ir.And(nzcv, ir.Imm32(0x20000000)); + + const IR::U32 not_z = ir.And(ir.Not(z), ir.Imm32(0x40000000)); + const IR::U32 not_c = ir.And(ir.Not(c), ir.Imm32(0x20000000)); + + const IR::U32 new_n = ir.And(ir.LogicalShiftLeft(not_c, ir.Imm8(2)), + ir.LogicalShiftLeft(not_z, ir.Imm8(1))); + const IR::U32 new_z = ir.And(z, ir.LogicalShiftLeft(c, ir.Imm8(1))); + const IR::U32 new_c = ir.Or(c, ir.LogicalShiftRight(z, ir.Imm8(1))); + const IR::U32 new_v = ir.And(ir.LogicalShiftRight(not_c, ir.Imm8(1)), + ir.LogicalShiftRight(z, ir.Imm8(2))); + + const IR::U32 result = ir.Or(ir.Or(ir.Or(new_n, new_z), new_c), new_v); + + ir.SetNZCVRaw(result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system_flag_manipulation.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system_flag_manipulation.cpp new file mode 100755 index 000000000..65ec23e71 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/impl/system_flag_manipulation.cpp @@ -0,0 +1,62 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2019 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/impl/impl.h" + +namespace Dynarmic::A64 { + +bool TranslatorVisitor::CFINV() { + const IR::U32 nzcv = ir.GetNZCVRaw(); + const IR::U32 result = ir.Eor(nzcv, ir.Imm32(0x20000000)); + + ir.SetNZCVRaw(result); + return true; +} + +bool TranslatorVisitor::RMIF(Imm<6> lsb, Reg Rn, Imm<4> mask) { + const u32 mask_value = mask.ZeroExtend(); + + // If no bits are to be moved into the NZCV bits, then we + // just preserve the bits and do no extra work. + if (mask_value == 0) { + ir.SetNZCVRaw(ir.GetNZCVRaw()); + return true; + } + + const IR::U64 tmp_reg = ir.GetX(Rn); + const IR::U64 rotated = ir.RotateRight(tmp_reg, ir.Imm8(lsb.ZeroExtend())); + const IR::U32 shifted = ir.LeastSignificantWord(ir.LogicalShiftLeft(rotated, ir.Imm8(28))); + + // On the other hand, if all mask bits are set, then we move all four + // relevant bits in the source register to the NZCV bits. + if (mask_value == 0b1111) { + ir.SetNZCVRaw(shifted); + return true; + } + + // Determine which bits from the PSTATE will be preserved during the operation. + u32 preservation_mask = 0; + if ((mask_value & 0b1000) == 0) { + preservation_mask |= 1U << 31; + } + if ((mask_value & 0b0100) == 0) { + preservation_mask |= 1U << 30; + } + if ((mask_value & 0b0010) == 0) { + preservation_mask |= 1U << 29; + } + if ((mask_value & 0b0001) == 0) { + preservation_mask |= 1U << 28; + } + + const IR::U32 masked = ir.And(shifted, ir.Imm32(~preservation_mask)); + const IR::U32 nzcv = ir.And(ir.GetNZCVRaw(), ir.Imm32(preservation_mask)); + const IR::U32 result = ir.Or(nzcv, masked); + + ir.SetNZCVRaw(result); + return true; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/translate.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/translate/translate.cpp new file mode 100755 index 000000000..4f7d3efc5 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/translate.cpp @@ -0,0 +1,66 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/translate/translate.h" + +#include "dynarmic/frontend/A64/decoder/a64.h" +#include "dynarmic/frontend/A64/location_descriptor.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/terminal.h" + +namespace Dynarmic::A64 { + +IR::Block Translate(LocationDescriptor descriptor, MemoryReadCodeFuncType memory_read_code, TranslationOptions options) { + const bool single_step = descriptor.SingleStepping(); + + IR::Block block{descriptor}; + TranslatorVisitor visitor{block, descriptor, std::move(options)}; + + bool should_continue = true; + do { + const u64 pc = visitor.ir.current_location->PC(); + const u32 instruction = memory_read_code(pc); + + if (auto decoder = Decode(instruction)) { + should_continue = decoder->get().call(visitor, instruction); + } else { + should_continue = visitor.InterpretThisInstruction(); + } + + visitor.ir.current_location = visitor.ir.current_location->AdvancePC(4); + block.CycleCount()++; + } while (should_continue && !single_step); + + if (single_step && should_continue) { + visitor.ir.SetTerm(IR::Term::LinkBlock{*visitor.ir.current_location}); + } + + ASSERT_MSG(block.HasTerminal(), "Terminal has not been set"); + + block.SetEndLocation(*visitor.ir.current_location); + + return block; +} + +bool TranslateSingleInstruction(IR::Block& block, LocationDescriptor descriptor, u32 instruction) { + TranslatorVisitor visitor{block, descriptor, {}}; + + bool should_continue = true; + if (auto decoder = Decode(instruction)) { + should_continue = decoder->get().call(visitor, instruction); + } else { + should_continue = visitor.InterpretThisInstruction(); + } + + visitor.ir.current_location = visitor.ir.current_location->AdvancePC(4); + block.CycleCount()++; + + block.SetEndLocation(*visitor.ir.current_location); + + return should_continue; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/translate/translate.h b/externals/dynarmic/src/dynarmic/frontend/A64/translate/translate.h new file mode 100755 index 000000000..9ab6d2648 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/translate/translate.h @@ -0,0 +1,58 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ +#pragma once + +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic { + +namespace IR { +class Block; +} // namespace IR + +namespace A64 { + +class LocationDescriptor; + +using MemoryReadCodeFuncType = std::function; + +struct TranslationOptions { + /// This changes what IR we emit when we translate an unpredictable instruction. + /// If this is false, the ExceptionRaised IR instruction is emitted. + /// If this is true, we define some behaviour for some instructions. + bool define_unpredictable_behaviour = false; + + /// This tells the translator a wall clock will be used, thus allowing it + /// to avoid writting certain unnecessary code only needed for cycle timers. + bool wall_clock_cntpct = false; + + /// This changes what IR we emit when we translate a hint instruction. + /// If this is false, we treat the instruction as a NOP. + /// If this is true, we emit an ExceptionRaised instruction. + bool hook_hint_instructions = true; +}; + +/** + * This function translates instructions in memory into our intermediate representation. + * @param descriptor The starting location of the basic block. Includes information like PC, FPCR state, &c. + * @param memory_read_code The function we should use to read emulated memory. + * @param options Configures how certain instructions are translated. + * @return A translated basic block in the intermediate representation. + */ +IR::Block Translate(LocationDescriptor descriptor, MemoryReadCodeFuncType memory_read_code, TranslationOptions options); + +/** + * This function translates a single provided instruction into our intermediate representation. + * @param block The block to append the IR for the instruction to. + * @param descriptor The location of the instruction. Includes information like PC, FPCR state, &c. + * @param instruction The instruction to translate. + * @return The translated instruction translated to the intermediate representation. + */ +bool TranslateSingleInstruction(IR::Block& block, LocationDescriptor descriptor, u32 instruction); + +} // namespace A64 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/types.cpp b/externals/dynarmic/src/dynarmic/frontend/A64/types.cpp new file mode 100755 index 000000000..b0dbfb2e4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/types.cpp @@ -0,0 +1,43 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/types.h" + +#include +#include + +#include + +namespace Dynarmic::A64 { + +const char* CondToString(Cond cond) { + static constexpr std::array cond_strs = { + "eq", "ne", "hs", "lo", "mi", "pl", "vs", "vc", + "hi", "ls", "ge", "lt", "gt", "le", "al", "nv"}; + return cond_strs.at(static_cast(cond)); +} + +std::string RegToString(Reg reg) { + if (reg == Reg::R31) { + return "sp|zr"; + } + return fmt::format("r{}", static_cast(reg)); +} + +std::string VecToString(Vec vec) { + return fmt::format("v{}", static_cast(vec)); +} + +std::ostream& operator<<(std::ostream& o, Reg reg) { + o << RegToString(reg); + return o; +} + +std::ostream& operator<<(std::ostream& o, Vec vec) { + o << VecToString(vec); + return o; +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/A64/types.h b/externals/dynarmic/src/dynarmic/frontend/A64/types.h new file mode 100755 index 000000000..6e12754c1 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/A64/types.h @@ -0,0 +1,128 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/cond.h" + +namespace Dynarmic::A64 { + +using Cond = IR::Cond; + +enum class Reg { + R0, + R1, + R2, + R3, + R4, + R5, + R6, + R7, + R8, + R9, + R10, + R11, + R12, + R13, + R14, + R15, + R16, + R17, + R18, + R19, + R20, + R21, + R22, + R23, + R24, + R25, + R26, + R27, + R28, + R29, + R30, + R31, + LR = R30, + SP = R31, + ZR = R31, +}; + +enum class Vec { + V0, + V1, + V2, + V3, + V4, + V5, + V6, + V7, + V8, + V9, + V10, + V11, + V12, + V13, + V14, + V15, + V16, + V17, + V18, + V19, + V20, + V21, + V22, + V23, + V24, + V25, + V26, + V27, + V28, + V29, + V30, + V31, +}; + +enum class ShiftType { + LSL, + LSR, + ASR, + ROR, +}; + +const char* CondToString(Cond cond); +std::string RegToString(Reg reg); +std::string VecToString(Vec vec); + +std::ostream& operator<<(std::ostream& o, Reg reg); +std::ostream& operator<<(std::ostream& o, Vec vec); + +constexpr size_t RegNumber(Reg reg) { + return static_cast(reg); +} + +constexpr size_t VecNumber(Vec vec) { + return static_cast(vec); +} + +inline Reg operator+(Reg reg, size_t number) { + const size_t new_reg = RegNumber(reg) + number; + ASSERT(new_reg <= 31); + + return static_cast(new_reg); +} + +inline Vec operator+(Vec vec, size_t number) { + const size_t new_vec = VecNumber(vec) + number; + ASSERT(new_vec <= 31); + + return static_cast(new_vec); +} + +} // namespace Dynarmic::A64 diff --git a/externals/dynarmic/src/dynarmic/frontend/decoder/decoder_detail.h b/externals/dynarmic/src/dynarmic/frontend/decoder/decoder_detail.h new file mode 100755 index 000000000..9890dc6bc --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/decoder/decoder_detail.h @@ -0,0 +1,180 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" + +namespace Dynarmic::Decoder { +namespace detail { + +template +inline constexpr std::array StringToArray(const char (&str)[N + 1]) { + std::array result; + for (size_t i = 0; i < N; i++) { + result[i] = str[i]; + } + return result; +} + +/** + * Helper functions for the decoders. + * + * @tparam MatcherT The type of the Matcher to use. + */ +template +struct detail { + using opcode_type = typename MatcherT::opcode_type; + using visitor_type = typename MatcherT::visitor_type; + + static constexpr size_t opcode_bitsize = Common::BitSize(); + + /** + * Generates the mask and the expected value after masking from a given bitstring. + * A '0' in a bitstring indicates that a zero must be present at that bit position. + * A '1' in a bitstring indicates that a one must be present at that bit position. + */ + static constexpr auto GetMaskAndExpect(std::array bitstring) { + const auto one = static_cast(1); + opcode_type mask = 0, expect = 0; + for (size_t i = 0; i < opcode_bitsize; i++) { + const size_t bit_position = opcode_bitsize - i - 1; + switch (bitstring[i]) { + case '0': + mask |= one << bit_position; + break; + case '1': + expect |= one << bit_position; + mask |= one << bit_position; + break; + default: + // Ignore + break; + } + } + return std::make_tuple(mask, expect); + } + + /** + * Generates the masks and shifts for each argument. + * A '-' in a bitstring indicates that we don't care about that value. + * An argument is specified by a continuous string of the same character. + */ + template + static constexpr auto GetArgInfo(std::array bitstring) { + std::array masks = {}; + std::array shifts = {}; + size_t arg_index = 0; + char ch = 0; + + for (size_t i = 0; i < opcode_bitsize; i++) { + if (bitstring[i] == '0' || bitstring[i] == '1' || bitstring[i] == '-') { + if (ch != 0) { + ch = 0; + arg_index++; + } + } else { + if (ch == 0) { + ch = bitstring[i]; + } else if (ch != bitstring[i]) { + ch = bitstring[i]; + arg_index++; + } + + if constexpr (N > 0) { + const size_t bit_position = opcode_bitsize - i - 1; + + if (arg_index >= N) + throw std::out_of_range("Unexpected field"); + + masks[arg_index] |= static_cast(1) << bit_position; + shifts[arg_index] = bit_position; + } else { + throw std::out_of_range("Unexpected field"); + } + } + } + + ASSERT(std::all_of(masks.begin(), masks.end(), [](auto m) { return m != 0; })); + + return std::make_tuple(masks, shifts); + } + + /** + * This struct's Make member function generates a lambda which decodes an instruction based on + * the provided arg_masks and arg_shifts. The Visitor member function to call is provided as a + * template argument. + */ + template + struct VisitorCaller; + +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4800) // forcing value to bool 'true' or 'false' (performance warning) +#endif + template + struct VisitorCaller { + template + static auto Make(std::integer_sequence, + CallRetT (Visitor::*const fn)(Args...), + const std::array arg_masks, + const std::array arg_shifts) { + static_assert(std::is_same_v, "Member function is not from Matcher's Visitor"); + return [fn, arg_masks, arg_shifts](Visitor& v, opcode_type instruction) { + (void)instruction; + (void)arg_masks; + (void)arg_shifts; + return (v.*fn)(static_cast((instruction & arg_masks[iota]) >> arg_shifts[iota])...); + }; + } + }; + + template + struct VisitorCaller { + template + static auto Make(std::integer_sequence, + CallRetT (Visitor::*const fn)(Args...) const, + const std::array arg_masks, + const std::array arg_shifts) { + static_assert(std::is_same_v, "Member function is not from Matcher's Visitor"); + return [fn, arg_masks, arg_shifts](const Visitor& v, opcode_type instruction) { + (void)instruction; + (void)arg_masks; + (void)arg_shifts; + return (v.*fn)(static_cast((instruction & arg_masks[iota]) >> arg_shifts[iota])...); + }; + } + }; +#ifdef _MSC_VER +# pragma warning(pop) +#endif + + /** + * Creates a matcher that can match and parse instructions based on bitstring. + * See also: GetMaskAndExpect and GetArgInfo for format of bitstring. + */ + template> + static auto GetMatcher(FnT fn, const char* const name, std::tuple mask_and_expect, std::tuple, std::array> masks_and_shifts) { + using Iota = std::make_index_sequence; + + const auto [mask, expect] = mask_and_expect; + const auto [arg_masks, arg_shifts] = masks_and_shifts; + const auto proxy_fn = VisitorCaller::Make(Iota(), fn, arg_masks, arg_shifts); + + return MatcherT(name, mask, expect, proxy_fn); + } +}; + +#define DYNARMIC_DECODER_GET_MATCHER(MatcherT, fn, name, bitstring) Decoder::detail::detail>::GetMatcher(&V::fn, name, Decoder::detail::detail>::GetMaskAndExpect(bitstring), Decoder::detail::detail>::template GetArgInfo>(bitstring)) + +} // namespace detail +} // namespace Dynarmic::Decoder diff --git a/externals/dynarmic/src/dynarmic/frontend/decoder/matcher.h b/externals/dynarmic/src/dynarmic/frontend/decoder/matcher.h new file mode 100755 index 000000000..54c2d1166 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/decoder/matcher.h @@ -0,0 +1,76 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/assert.h" + +namespace Dynarmic::Decoder { + +/** + * Generic instruction handling construct. + * + * @tparam Visitor An arbitrary visitor type that will be passed through + * to the function being handled. This type must be the + * type of the first parameter in a handler function. + * + * @tparam OpcodeType Type representing an opcode. This must be the + * type of the second parameter in a handler function. + */ +template +class Matcher { +public: + using opcode_type = OpcodeType; + using visitor_type = Visitor; + using handler_return_type = typename Visitor::instruction_return_type; + using handler_function = std::function; + + Matcher(const char* const name, opcode_type mask, opcode_type expected, handler_function func) + : name{name}, mask{mask}, expected{expected}, fn{std::move(func)} {} + + /// Gets the name of this type of instruction. + const char* GetName() const { + return name; + } + + /// Gets the mask for this instruction. + opcode_type GetMask() const { + return mask; + } + + /// Gets the expected value after masking for this instruction. + opcode_type GetExpected() const { + return expected; + } + + /** + * Tests to see if the given instruction is the instruction this matcher represents. + * @param instruction The instruction to test + * @returns true if the given instruction matches. + */ + bool Matches(opcode_type instruction) const { + return (instruction & mask) == expected; + } + + /** + * Calls the corresponding instruction handler on visitor for this type of instruction. + * @param v The visitor to use + * @param instruction The instruction to decode. + */ + handler_return_type call(Visitor& v, opcode_type instruction) const { + ASSERT(Matches(instruction)); + return fn(v, instruction); + } + +private: + const char* name; + opcode_type mask; + opcode_type expected; + handler_function fn; +}; + +} // namespace Dynarmic::Decoder diff --git a/externals/dynarmic/src/dynarmic/frontend/imm.cpp b/externals/dynarmic/src/dynarmic/frontend/imm.cpp new file mode 100755 index 000000000..72d1e8fec --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/imm.cpp @@ -0,0 +1,67 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/imm.h" + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" + +namespace Dynarmic { + +u64 AdvSIMDExpandImm(bool op, Imm<4> cmode, Imm<8> imm8) { + switch (cmode.Bits<1, 3>()) { + case 0b000: + return Common::Replicate(imm8.ZeroExtend(), 32); + case 0b001: + return Common::Replicate(imm8.ZeroExtend() << 8, 32); + case 0b010: + return Common::Replicate(imm8.ZeroExtend() << 16, 32); + case 0b011: + return Common::Replicate(imm8.ZeroExtend() << 24, 32); + case 0b100: + return Common::Replicate(imm8.ZeroExtend(), 16); + case 0b101: + return Common::Replicate(imm8.ZeroExtend() << 8, 16); + case 0b110: + if (!cmode.Bit<0>()) { + return Common::Replicate((imm8.ZeroExtend() << 8) | Common::Ones(8), 32); + } + return Common::Replicate((imm8.ZeroExtend() << 16) | Common::Ones(16), 32); + case 0b111: + if (!cmode.Bit<0>() && !op) { + return Common::Replicate(imm8.ZeroExtend(), 8); + } + if (!cmode.Bit<0>() && op) { + u64 result = 0; + result |= imm8.Bit<0>() ? Common::Ones(8) << (0 * 8) : 0; + result |= imm8.Bit<1>() ? Common::Ones(8) << (1 * 8) : 0; + result |= imm8.Bit<2>() ? Common::Ones(8) << (2 * 8) : 0; + result |= imm8.Bit<3>() ? Common::Ones(8) << (3 * 8) : 0; + result |= imm8.Bit<4>() ? Common::Ones(8) << (4 * 8) : 0; + result |= imm8.Bit<5>() ? Common::Ones(8) << (5 * 8) : 0; + result |= imm8.Bit<6>() ? Common::Ones(8) << (6 * 8) : 0; + result |= imm8.Bit<7>() ? Common::Ones(8) << (7 * 8) : 0; + return result; + } + if (cmode.Bit<0>() && !op) { + u64 result = 0; + result |= imm8.Bit<7>() ? 0x80000000 : 0; + result |= imm8.Bit<6>() ? 0x3E000000 : 0x40000000; + result |= imm8.Bits<0, 5, u64>() << 19; + return Common::Replicate(result, 32); + } + if (cmode.Bit<0>() && op) { + u64 result = 0; + result |= imm8.Bit<7>() ? 0x80000000'00000000 : 0; + result |= imm8.Bit<6>() ? 0x3FC00000'00000000 : 0x40000000'00000000; + result |= imm8.Bits<0, 5, u64>() << 48; + return result; + } + } + UNREACHABLE(); +} + +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/frontend/imm.h b/externals/dynarmic/src/dynarmic/frontend/imm.h new file mode 100755 index 000000000..d534d8666 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/frontend/imm.h @@ -0,0 +1,164 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/math_util.h" + +namespace Dynarmic { + +/** + * Imm represents an immediate value in an AArch32/AArch64 instruction. + * Imm is used during translation as a typesafe way of passing around immediates of fixed sizes. + */ +template +class Imm { +public: + static constexpr size_t bit_size = bit_size_; + + explicit Imm(u32 value) + : value(value) { + ASSERT_MSG((Common::Bits<0, bit_size - 1>(value) == value), "More bits in value than expected"); + } + + template + T ZeroExtend() const { + static_assert(Common::BitSize() >= bit_size); + return static_cast(value); + } + + template + T SignExtend() const { + static_assert(Common::BitSize() >= bit_size); + return Common::SignExtend(value); + } + + template + bool Bit() const { + static_assert(bit < bit_size); + return Common::Bit(value); + } + + template + T Bits() const { + static_assert(begin_bit <= end_bit && end_bit < bit_size); + static_assert(Common::BitSize() >= end_bit - begin_bit + 1); + return static_cast(Common::Bits(value)); + } + + bool operator==(Imm other) const { + return value == other.value; + } + + bool operator!=(Imm other) const { + return !operator==(other); + } + + bool operator<(Imm other) const { + return value < other.value; + } + + bool operator<=(Imm other) const { + return value <= other.value; + } + + bool operator>(Imm other) const { + return value > other.value; + } + + bool operator>=(Imm other) const { + return value >= other.value; + } + +private: + static_assert(bit_size != 0, "Cannot have a zero-sized immediate"); + static_assert(bit_size <= 32, "Cannot have an immediate larger than the instruction size"); + + u32 value; +}; + +template +bool operator==(u32 a, Imm b) { + return Imm{a} == b; +} + +template +bool operator==(Imm a, u32 b) { + return Imm{b} == a; +} + +template +bool operator!=(u32 a, Imm b) { + return !operator==(a, b); +} + +template +bool operator!=(Imm a, u32 b) { + return !operator==(a, b); +} + +template +bool operator<(u32 a, Imm b) { + return Imm{a} < b; +} + +template +bool operator<(Imm a, u32 b) { + return a < Imm{b}; +} + +template +bool operator<=(u32 a, Imm b) { + return !operator<(b, a); +} + +template +bool operator<=(Imm a, u32 b) { + return !operator<(b, a); +} + +template +bool operator>(u32 a, Imm b) { + return operator<(b, a); +} + +template +bool operator>(Imm a, u32 b) { + return operator<(b, a); +} + +template +bool operator>=(u32 a, Imm b) { + return !operator<(a, b); +} + +template +bool operator>=(Imm a, u32 b) { + return !operator<(a, b); +} + +/** + * Concatenate immediates together. + * Left to right corresponds to most significant imm to least significant imm. + * This is equivalent to a:b:...:z in ASL. + */ +template +auto concatenate(Imm first, Imm... rest) { + if constexpr (sizeof...(rest) == 0) { + return first; + } else { + const auto concat_rest = concatenate(rest...); + const u32 value = (first.ZeroExtend() << concat_rest.bit_size) | concat_rest.ZeroExtend(); + return Imm{value}; + } +} + +/// Expands an Advanced SIMD modified immediate. +u64 AdvSIMDExpandImm(bool op, Imm<4> cmode, Imm<8> imm8); + +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A32/a32.h b/externals/dynarmic/src/dynarmic/interface/A32/a32.h new file mode 100755 index 000000000..26d555392 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A32/a32.h @@ -0,0 +1,105 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/interface/A32/config.h" + +namespace Dynarmic { +namespace A32 { + +struct Context; + +class Jit final { +public: + explicit Jit(UserConfig conf); + ~Jit(); + + /** + * Runs the emulated CPU. + * Cannot be recursively called. + */ + void Run(); + + /** + * Steps the emulated CPU. + * Cannot be recursively called. + */ + void Step(); + + /** + * Clears the code cache of all compiled code. + * Can be called at any time. Halts execution if called within a callback. + */ + void ClearCache(); + + /** + * Invalidate the code cache at a range of addresses. + * @param start_address The starting address of the range to invalidate. + * @param length The length (in bytes) of the range to invalidate. + */ + void InvalidateCacheRange(std::uint32_t start_address, std::size_t length); + + /** + * Reset CPU state to state at startup. Does not clear code cache. + * Cannot be called from a callback. + */ + void Reset(); + + /** + * Stops execution in Jit::Run. + * Can only be called from a callback. + */ + void HaltExecution(); + + /// View and modify registers. + std::array& Regs(); + const std::array& Regs() const; + std::array& ExtRegs(); + const std::array& ExtRegs() const; + + /// View and modify CPSR. + std::uint32_t Cpsr() const; + void SetCpsr(std::uint32_t value); + + /// View and modify FPSCR. + std::uint32_t Fpscr() const; + void SetFpscr(std::uint32_t value); + + Context SaveContext() const; + void SaveContext(Context&) const; + void LoadContext(const Context&); + + /// Clears exclusive state for this core. + void ClearExclusiveState(); + + /** + * Returns true if Jit::Run was called but hasn't returned yet. + * i.e.: We're in a callback. + */ + bool IsExecuting() const { + return is_executing; + } + + /** + * Debugging: Disassemble all of compiled code. + * @return A string containing disassembly of all host machine code produced. + */ + std::string Disassemble() const; + +private: + bool is_executing = false; + + struct Impl; + std::unique_ptr impl; +}; + +} // namespace A32 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A32/arch_version.h b/externals/dynarmic/src/dynarmic/interface/A32/arch_version.h new file mode 100755 index 000000000..240e40ee4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A32/arch_version.h @@ -0,0 +1,23 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic { +namespace A32 { + +enum class ArchVersion { + v3, + v4, + v4T, + v5TE, + v6K, + v6T2, + v7, + v8, +}; + +} // namespace A32 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A32/config.h b/externals/dynarmic/src/dynarmic/interface/A32/config.h new file mode 100755 index 000000000..dbf64c6b2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A32/config.h @@ -0,0 +1,217 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/frontend/A32/translate/translate_callbacks.h" +#include "dynarmic/interface/A32/arch_version.h" +#include "dynarmic/interface/optimization_flags.h" + +namespace Dynarmic { +class ExclusiveMonitor; +} // namespace Dynarmic + +namespace Dynarmic { +namespace A32 { + +using VAddr = std::uint32_t; + +class Coprocessor; + +enum class Exception { + /// An UndefinedFault occured due to executing instruction with an unallocated encoding + UndefinedInstruction, + /// An unpredictable instruction is to be executed. Implementation-defined behaviour should now happen. + /// This behaviour is up to the user of this library to define. + UnpredictableInstruction, + /// A decode error occurred when decoding this instruction. This should never happen. + DecodeError, + /// A SEV instruction was executed. The event register of all PEs should be set. (Hint instruction.) + SendEvent, + /// A SEVL instruction was executed. The event register of the current PE should be set. (Hint instruction.) + SendEventLocal, + /// A WFI instruction was executed. You may now enter a low-power state. (Hint instruction.) + WaitForInterrupt, + /// A WFE instruction was executed. You may now enter a low-power state if the event register is clear. (Hint instruction.) + WaitForEvent, + /// A YIELD instruction was executed. (Hint instruction.) + Yield, + /// A BKPT instruction was executed. + Breakpoint, + /// A PLD instruction was executed. (Hint instruction.) + PreloadData, + /// A PLDW instruction was executed. (Hint instruction.) + PreloadDataWithIntentToWrite, + /// A PLI instruction was executed. (Hint instruction.) + PreloadInstruction, +}; + +/// These function pointers may be inserted into compiled code. +struct UserCallbacks : public TranslateCallbacks { + virtual ~UserCallbacks() = default; + + // All reads through this callback are 4-byte aligned. + // Memory must be interpreted as little endian. + std::uint32_t MemoryReadCode(VAddr vaddr) override { return MemoryRead32(vaddr); } + + // Thus function is called before the instruction at pc is interpreted. + // IR code can be emitted by the callee prior to translation of the instruction. + void PreCodeTranslationHook(bool /*is_thumb*/, VAddr /*pc*/, A32::IREmitter& /*ir*/) override {} + + // Reads through these callbacks may not be aligned. + // Memory must be interpreted as if ENDIANSTATE == 0, endianness will be corrected by the JIT. + virtual std::uint8_t MemoryRead8(VAddr vaddr) = 0; + virtual std::uint16_t MemoryRead16(VAddr vaddr) = 0; + virtual std::uint32_t MemoryRead32(VAddr vaddr) = 0; + virtual std::uint64_t MemoryRead64(VAddr vaddr) = 0; + + // Writes through these callbacks may not be aligned. + virtual void MemoryWrite8(VAddr vaddr, std::uint8_t value) = 0; + virtual void MemoryWrite16(VAddr vaddr, std::uint16_t value) = 0; + virtual void MemoryWrite32(VAddr vaddr, std::uint32_t value) = 0; + virtual void MemoryWrite64(VAddr vaddr, std::uint64_t value) = 0; + + // Writes through these callbacks may not be aligned. + virtual bool MemoryWriteExclusive8(VAddr /*vaddr*/, std::uint8_t /*value*/, std::uint8_t /*expected*/) { return false; } + virtual bool MemoryWriteExclusive16(VAddr /*vaddr*/, std::uint16_t /*value*/, std::uint16_t /*expected*/) { return false; } + virtual bool MemoryWriteExclusive32(VAddr /*vaddr*/, std::uint32_t /*value*/, std::uint32_t /*expected*/) { return false; } + virtual bool MemoryWriteExclusive64(VAddr /*vaddr*/, std::uint64_t /*value*/, std::uint64_t /*expected*/) { return false; } + + // If this callback returns true, the JIT will assume MemoryRead* callbacks will always + // return the same value at any point in time for this vaddr. The JIT may use this information + // in optimizations. + // A conservative implementation that always returns false is safe. + virtual bool IsReadOnlyMemory(VAddr /*vaddr*/) { return false; } + + /// The interpreter must execute exactly num_instructions starting from PC. + virtual void InterpreterFallback(VAddr pc, size_t num_instructions) = 0; + + // This callback is called whenever a SVC instruction is executed. + virtual void CallSVC(std::uint32_t swi) = 0; + + virtual void ExceptionRaised(VAddr pc, Exception exception) = 0; + + virtual void InstructionSynchronizationBarrierRaised() {} + + // Timing-related callbacks + // ticks ticks have passed + virtual void AddTicks(std::uint64_t ticks) = 0; + // How many more ticks am I allowed to execute? + virtual std::uint64_t GetTicksRemaining() = 0; +}; + +struct UserConfig { + UserCallbacks* callbacks; + + size_t processor_id = 0; + ExclusiveMonitor* global_monitor = nullptr; + + /// Select the architecture version to use. + /// There are minor behavioural differences between versions. + ArchVersion arch_version = ArchVersion::v8; + + /// This selects other optimizations than can't otherwise be disabled by setting other + /// configuration options. This includes: + /// - IR optimizations + /// - Block linking optimizations + /// - RSB optimizations + /// This is intended to be used for debugging. + OptimizationFlag optimizations = all_safe_optimizations; + + bool HasOptimization(OptimizationFlag f) const { + if (!unsafe_optimizations) { + f &= all_safe_optimizations; + } + return (f & optimizations) != no_optimizations; + } + + /// This enables unsafe optimizations that reduce emulation accuracy in favour of speed. + /// For safety, in order to enable unsafe optimizations you have to set BOTH this flag + /// AND the appropriate flag bits above. + /// The prefered and tested mode for this library is with unsafe optimizations disabled. + bool unsafe_optimizations = false; + + // Page Table + // The page table is used for faster memory access. If an entry in the table is nullptr, + // the JIT will fallback to calling the MemoryRead*/MemoryWrite* callbacks. + static constexpr std::size_t PAGE_BITS = 12; + static constexpr std::size_t NUM_PAGE_TABLE_ENTRIES = 1 << (32 - PAGE_BITS); + std::array* page_table = nullptr; + /// Determines if the pointer in the page_table shall be offseted locally or globally. + /// 'false' will access page_table[addr >> bits][addr & mask] + /// 'true' will access page_table[addr >> bits][addr] + /// Note: page_table[addr >> bits] will still be checked to verify active pages. + /// So there might be wrongly faulted pages which maps to nullptr. + /// This can be avoided by carefully allocating the memory region. + bool absolute_offset_page_table = false; + /// Masks out the first N bits in host pointers from the page table. + /// The intention behind this is to allow users of Dynarmic to pack attributes in the + /// same integer and update the pointer attribute pair atomically. + /// If the configured value is 3, all pointers will be forcefully aligned to 8 bytes. + int page_table_pointer_mask_bits = 0; + /// Determines if we should detect memory accesses via page_table that straddle are + /// misaligned. Accesses that straddle page boundaries will fallback to the relevant + /// memory callback. + /// This value should be the required access sizes this applies to ORed together. + /// To detect any access, use: 8 | 16 | 32 | 64. + std::uint8_t detect_misaligned_access_via_page_table = 0; + /// Determines if the above option only triggers when the misalignment straddles a + /// page boundary. + bool only_detect_misalignment_via_page_table_on_page_boundary = false; + + // Fastmem Pointer + // This should point to the beginning of a 4GB address space which is in arranged just like + // what you wish for emulated memory to be. If the host page faults on an address, the JIT + // will fallback to calling the MemoryRead*/MemoryWrite* callbacks. + void* fastmem_pointer = nullptr; + /// Determines if instructions that pagefault should cause recompilation of that block + /// with fastmem disabled. + /// Recompiled code will use the page_table if this is available, otherwise memory + /// accesses will hit the memory callbacks. + bool recompile_on_fastmem_failure = true; + + // Coprocessors + std::array, 16> coprocessors{}; + + /// When set to true, UserCallbacks::InstructionSynchronizationBarrierRaised will be + /// called when an ISB instruction is executed. + /// When set to false, ISB will be treated as a NOP instruction. + bool hook_isb = false; + + /// Hint instructions would cause ExceptionRaised to be called with the appropriate + /// argument. + bool hook_hint_instructions = false; + + /// This option relates to translation. Generally when we run into an unpredictable + /// instruction the ExceptionRaised callback is called. If this is true, we define + /// definite behaviour for some unpredictable instructions. + bool define_unpredictable_behaviour = false; + + /// HACK: + /// This tells the translator a wall clock will be used, thus allowing it + /// to avoid writting certain unnecessary code only needed for cycle timers. + bool wall_clock_cntpct = false; + + /// This option relates to the CPSR.E flag. Enabling this option disables modification + /// of CPSR.E by the emulated program, forcing it to 0. + /// NOTE: Calling Jit::SetCpsr with CPSR.E=1 while this option is enabled may result + /// in unusual behavior. + bool always_little_endian = false; + + // Minimum size is about 8MiB. Maximum size is about 2GiB. Maximum size is limited by + // the maximum length of a x64 jump. + size_t code_cache_size = 256 * 1024 * 1024; // bytes + // Determines the relative size of the near and far code caches. Must be smaller than + // code_cache_size. + size_t far_code_offset = 200 * 1024 * 1024; // bytes +}; + +} // namespace A32 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A32/context.h b/externals/dynarmic/src/dynarmic/interface/A32/context.h new file mode 100755 index 000000000..74876b1bd --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A32/context.h @@ -0,0 +1,45 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +namespace Dynarmic { +namespace A32 { + +struct Context { +public: + Context(); + ~Context(); + Context(const Context&); + Context(Context&&) noexcept; + Context& operator=(const Context&); + Context& operator=(Context&&) noexcept; + + /// View and modify registers. + std::array& Regs(); + const std::array& Regs() const; + std::array& ExtRegs(); + const std::array& ExtRegs() const; + + /// View and modify CPSR. + std::uint32_t Cpsr() const; + void SetCpsr(std::uint32_t value); + + /// View and modify FPSCR. + std::uint32_t Fpscr() const; + void SetFpscr(std::uint32_t value); + +private: + friend class Jit; + struct Impl; + std::unique_ptr impl; +}; + +} // namespace A32 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A32/coprocessor.h b/externals/dynarmic/src/dynarmic/interface/A32/coprocessor.h new file mode 100755 index 000000000..71b3f5a49 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A32/coprocessor.h @@ -0,0 +1,110 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include + +#include "dynarmic/interface/A32/coprocessor_util.h" + +namespace Dynarmic { +namespace A32 { + +class Jit; + +class Coprocessor { +public: + virtual ~Coprocessor() = default; + + struct Callback { + /** + * @param jit CPU state + * @param user_arg Set to Callback::user_arg at runtime + * @param arg0 Purpose of this argument depends on type of callback. + * @param arg1 Purpose of this argument depends on type of callback. + * @return Purpose of return value depends on type of callback. + */ + std::uint64_t (*function)(Jit* jit, void* user_arg, std::uint32_t arg0, std::uint32_t arg1); + /// If std::nullopt, function will be called with a user_arg parameter containing garbage. + std::optional user_arg; + }; + + /** + * std::monostate: coprocessor exception will be compiled + * Callback: a call to the Callback will be compiled + * std::uint32_t*: a write/read to that memory address will be compiled + */ + using CallbackOrAccessOneWord = std::variant; + + /** + * std::monostate: coprocessor exception will be compiled + * Callback: a call to the Callback will be compiled + * std::array: a write/read to those memory addresses will be compiled + */ + using CallbackOrAccessTwoWords = std::variant>; + + /** + * Called when compiling CDP or CDP2 for this coprocessor. + * A return value of std::nullopt will cause a coprocessor exception to be compiled. + * arg0, arg1 and return value of callback are ignored. + */ + virtual std::optional CompileInternalOperation(bool two, unsigned opc1, CoprocReg CRd, CoprocReg CRn, CoprocReg CRm, unsigned opc2) = 0; + + /** + * Called when compiling MCR or MCR2 for this coprocessor. + * A return value of std::monostate will cause a coprocessor exception to be compiled. + * arg0 of the callback will contain the word sent to the coprocessor. + * arg1 and return value of the callback are ignored. + */ + virtual CallbackOrAccessOneWord CompileSendOneWord(bool two, unsigned opc1, CoprocReg CRn, CoprocReg CRm, unsigned opc2) = 0; + + /** + * Called when compiling MCRR or MCRR2 for this coprocessor. + * A return value of std::monostate will cause a coprocessor exception to be compiled. + * arg0 and arg1 of the callback will contain the words sent to the coprocessor. + * The return value of the callback is ignored. + */ + virtual CallbackOrAccessTwoWords CompileSendTwoWords(bool two, unsigned opc, CoprocReg CRm) = 0; + + /** + * Called when compiling MRC or MRC2 for this coprocessor. + * A return value of std::monostate will cause a coprocessor exception to be compiled. + * The return value of the callback should contain word from coprocessor. + * The low word of the return value will be stored in Rt. + * arg0 and arg1 of the callback are ignored. + */ + virtual CallbackOrAccessOneWord CompileGetOneWord(bool two, unsigned opc1, CoprocReg CRn, CoprocReg CRm, unsigned opc2) = 0; + + /** + * Called when compiling MRRC or MRRC2 for this coprocessor. + * A return value of std::monostate will cause a coprocessor exception to be compiled. + * The return value of the callback should contain words from coprocessor. + * The low word of the return value will be stored in Rt. + * The high word of the return value will be stored in Rt2. + * arg0 and arg1 of the callback are ignored. + */ + virtual CallbackOrAccessTwoWords CompileGetTwoWords(bool two, unsigned opc, CoprocReg CRm) = 0; + + /** + * Called when compiling LDC or LDC2 for this coprocessor. + * A return value of std::nullopt will cause a coprocessor exception to be compiled. + * arg0 of the callback will contain the start address. + * arg1 and return value of the callback are ignored. + */ + virtual std::optional CompileLoadWords(bool two, bool long_transfer, CoprocReg CRd, std::optional option) = 0; + + /** + * Called when compiling STC or STC2 for this coprocessor. + * A return value of std::nullopt will cause a coprocessor exception to be compiled. + * arg0 of the callback will contain the start address. + * arg1 and return value of the callback are ignored. + */ + virtual std::optional CompileStoreWords(bool two, bool long_transfer, CoprocReg CRd, std::optional option) = 0; +}; + +} // namespace A32 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A32/coprocessor_util.h b/externals/dynarmic/src/dynarmic/interface/A32/coprocessor_util.h new file mode 100755 index 000000000..ed695d17e --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A32/coprocessor_util.h @@ -0,0 +1,31 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic { +namespace A32 { + +enum class CoprocReg { + C0, + C1, + C2, + C3, + C4, + C5, + C6, + C7, + C8, + C9, + C10, + C11, + C12, + C13, + C14, + C15 +}; + +} // namespace A32 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A32/disassembler.h b/externals/dynarmic/src/dynarmic/interface/A32/disassembler.h new file mode 100755 index 000000000..54058bf5e --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A32/disassembler.h @@ -0,0 +1,18 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +namespace Dynarmic { +namespace A32 { + +std::string DisassembleArm(std::uint32_t instruction); +std::string DisassembleThumb16(std::uint16_t instruction); + +} // namespace A32 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A64/a64.h b/externals/dynarmic/src/dynarmic/interface/A64/a64.h new file mode 100755 index 000000000..f098dcea6 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A64/a64.h @@ -0,0 +1,129 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include +#include + +#include "dynarmic/interface/A64/config.h" + +namespace Dynarmic { +namespace A64 { + +struct Context; + +class Jit final { +public: + explicit Jit(UserConfig conf); + ~Jit(); + + /** + * Runs the emulated CPU. + * Cannot be recursively called. + */ + void Run(); + + /** + * Step the emulated CPU for one instruction. + * Cannot be recursively called. + */ + void Step(); + + /** + * Clears the code cache of all compiled code. + * Can be called at any time. Halts execution if called within a callback. + */ + void ClearCache(); + + /** + * Invalidate the code cache at a range of addresses. + * @param start_address The starting address of the range to invalidate. + * @param length The length (in bytes) of the range to invalidate. + */ + void InvalidateCacheRange(std::uint64_t start_address, std::size_t length); + + /** + * Reset CPU state to state at startup. Does not clear code cache. + * Cannot be called from a callback. + */ + void Reset(); + + /** + * Stops execution in Jit::Run. + * Can only be called from a callback. + */ + void HaltExecution(); + + /// Read Stack Pointer + std::uint64_t GetSP() const; + /// Modify Stack Pointer + void SetSP(std::uint64_t value); + + /// Read Program Counter + std::uint64_t GetPC() const; + /// Modify Program Counter + void SetPC(std::uint64_t value); + + /// Read general-purpose register. + std::uint64_t GetRegister(std::size_t index) const; + /// Modify general-purpose register. + void SetRegister(size_t index, std::uint64_t value); + + /// Read all general-purpose registers. + std::array GetRegisters() const; + /// Modify all general-purpose registers. + void SetRegisters(const std::array& value); + + /// Read floating point and SIMD register. + Vector GetVector(std::size_t index) const; + /// Modify floating point and SIMD register. + void SetVector(std::size_t index, Vector value); + + /// Read all floating point and SIMD registers. + std::array GetVectors() const; + /// Modify all floating point and SIMD registers. + void SetVectors(const std::array& value); + + /// View FPCR. + std::uint32_t GetFpcr() const; + /// Modify FPCR. + void SetFpcr(std::uint32_t value); + + /// View FPSR. + std::uint32_t GetFpsr() const; + /// Modify FPSR. + void SetFpsr(std::uint32_t value); + + /// View PSTATE + std::uint32_t GetPstate() const; + /// Modify PSTATE + void SetPstate(std::uint32_t value); + + /// Clears exclusive state for this core. + void ClearExclusiveState(); + + /** + * Returns true if Jit::Run was called but hasn't returned yet. + * i.e.: We're in a callback. + */ + bool IsExecuting() const; + + /** + * Debugging: Disassemble all of compiled code. + * @return A string containing disassembly of all host machine code produced. + */ + std::string Disassemble() const; + +private: + struct Impl; + std::unique_ptr impl; +}; + +} // namespace A64 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/A64/config.h b/externals/dynarmic/src/dynarmic/interface/A64/config.h new file mode 100755 index 000000000..baa085777 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/A64/config.h @@ -0,0 +1,270 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/interface/optimization_flags.h" + +namespace Dynarmic { +class ExclusiveMonitor; +} // namespace Dynarmic + +namespace Dynarmic { +namespace A64 { + +using VAddr = std::uint64_t; + +using Vector = std::array; +static_assert(sizeof(Vector) == sizeof(std::uint64_t) * 2, "Vector must be 128 bits in size"); + +enum class Exception { + /// An UndefinedFault occured due to executing instruction with an unallocated encoding + UnallocatedEncoding, + /// An UndefinedFault occured due to executing instruction containing a reserved value + ReservedValue, + /// An unpredictable instruction is to be executed. Implementation-defined behaviour should now happen. + /// This behaviour is up to the user of this library to define. + /// Note: Constraints on unpredictable behaviour are specified in the ARMv8 ARM. + UnpredictableInstruction, + /// A WFI instruction was executed. You may now enter a low-power state. (Hint instruction.) + WaitForInterrupt, + /// A WFE instruction was executed. You may now enter a low-power state if the event register is clear. (Hint instruction.) + WaitForEvent, + /// A SEV instruction was executed. The event register of all PEs should be set. (Hint instruction.) + SendEvent, + /// A SEVL instruction was executed. The event register of the current PE should be set. (Hint instruction.) + SendEventLocal, + /// A YIELD instruction was executed. (Hint instruction.) + Yield, + /// A BRK instruction was executed. (Hint instruction.) + Breakpoint, +}; + +enum class DataCacheOperation { + /// DC CISW + CleanAndInvalidateBySetWay, + /// DC CIVAC + CleanAndInvalidateByVAToPoC, + /// DC CSW + CleanBySetWay, + /// DC CVAC + CleanByVAToPoC, + /// DC CVAU + CleanByVAToPoU, + /// DC CVAP + CleanByVAToPoP, + /// DC ISW + InvalidateBySetWay, + /// DC IVAC + InvalidateByVAToPoC, + /// DC ZVA + ZeroByVA, +}; + +enum class InstructionCacheOperation { + /// IC IVAU + InvalidateByVAToPoU, + /// IC IALLU + InvalidateAllToPoU, + /// IC IALLUIS + InvalidateAllToPoUInnerSharable +}; + +struct UserCallbacks { + virtual ~UserCallbacks() = default; + + // All reads through this callback are 4-byte aligned. + // Memory must be interpreted as little endian. + virtual std::uint32_t MemoryReadCode(VAddr vaddr) { return MemoryRead32(vaddr); } + + // Reads through these callbacks may not be aligned. + virtual std::uint8_t MemoryRead8(VAddr vaddr) = 0; + virtual std::uint16_t MemoryRead16(VAddr vaddr) = 0; + virtual std::uint32_t MemoryRead32(VAddr vaddr) = 0; + virtual std::uint64_t MemoryRead64(VAddr vaddr) = 0; + virtual Vector MemoryRead128(VAddr vaddr) = 0; + + // Writes through these callbacks may not be aligned. + virtual void MemoryWrite8(VAddr vaddr, std::uint8_t value) = 0; + virtual void MemoryWrite16(VAddr vaddr, std::uint16_t value) = 0; + virtual void MemoryWrite32(VAddr vaddr, std::uint32_t value) = 0; + virtual void MemoryWrite64(VAddr vaddr, std::uint64_t value) = 0; + virtual void MemoryWrite128(VAddr vaddr, Vector value) = 0; + + // Writes through these callbacks may not be aligned. + virtual bool MemoryWriteExclusive8(VAddr /*vaddr*/, std::uint8_t /*value*/, std::uint8_t /*expected*/) { return false; } + virtual bool MemoryWriteExclusive16(VAddr /*vaddr*/, std::uint16_t /*value*/, std::uint16_t /*expected*/) { return false; } + virtual bool MemoryWriteExclusive32(VAddr /*vaddr*/, std::uint32_t /*value*/, std::uint32_t /*expected*/) { return false; } + virtual bool MemoryWriteExclusive64(VAddr /*vaddr*/, std::uint64_t /*value*/, std::uint64_t /*expected*/) { return false; } + virtual bool MemoryWriteExclusive128(VAddr /*vaddr*/, Vector /*value*/, Vector /*expected*/) { return false; } + + // If this callback returns true, the JIT will assume MemoryRead* callbacks will always + // return the same value at any point in time for this vaddr. The JIT may use this information + // in optimizations. + // A conservative implementation that always returns false is safe. + virtual bool IsReadOnlyMemory(VAddr /*vaddr*/) { return false; } + + /// The interpreter must execute exactly num_instructions starting from PC. + virtual void InterpreterFallback(VAddr pc, size_t num_instructions) = 0; + + // This callback is called whenever a SVC instruction is executed. + virtual void CallSVC(std::uint32_t swi) = 0; + + virtual void ExceptionRaised(VAddr pc, Exception exception) = 0; + virtual void DataCacheOperationRaised(DataCacheOperation /*op*/, VAddr /*value*/) {} + virtual void InstructionCacheOperationRaised(InstructionCacheOperation /*op*/, VAddr /*value*/) {} + virtual void InstructionSynchronizationBarrierRaised() {} + + // Timing-related callbacks + // ticks ticks have passed + virtual void AddTicks(std::uint64_t ticks) = 0; + // How many more ticks am I allowed to execute? + virtual std::uint64_t GetTicksRemaining() = 0; + // Get value in the emulated counter-timer physical count register. + virtual std::uint64_t GetCNTPCT() = 0; +}; + +struct UserConfig { + UserCallbacks* callbacks; + + size_t processor_id = 0; + ExclusiveMonitor* global_monitor = nullptr; + + /// This selects other optimizations than can't otherwise be disabled by setting other + /// configuration options. This includes: + /// - IR optimizations + /// - Block linking optimizations + /// - RSB optimizations + /// This is intended to be used for debugging. + OptimizationFlag optimizations = all_safe_optimizations; + + bool HasOptimization(OptimizationFlag f) const { + if (!unsafe_optimizations) { + f &= all_safe_optimizations; + } + return (f & optimizations) != no_optimizations; + } + + /// This enables unsafe optimizations that reduce emulation accuracy in favour of speed. + /// For safety, in order to enable unsafe optimizations you have to set BOTH this flag + /// AND the appropriate flag bits above. + /// The prefered and tested mode for this library is with unsafe optimizations disabled. + bool unsafe_optimizations = false; + + /// When set to true, UserCallbacks::DataCacheOperationRaised will be called when any + /// data cache instruction is executed. Notably DC ZVA will not implicitly do anything. + /// When set to false, UserCallbacks::DataCacheOperationRaised will never be called. + /// Executing DC ZVA in this mode will result in zeros being written to memory. + bool hook_data_cache_operations = false; + + /// When set to true, UserCallbacks::InstructionSynchronizationBarrierRaised will be + /// called when an ISB instruction is executed. + /// When set to false, ISB will be treated as a NOP instruction. + bool hook_isb = false; + + /// When set to true, UserCallbacks::ExceptionRaised will be called when any hint + /// instruction is executed. + bool hook_hint_instructions = false; + + /// Counter-timer frequency register. The value of the register is not interpreted by + /// dynarmic. + std::uint32_t cntfrq_el0 = 600000000; + + /// CTR_EL0<27:24> is log2 of the cache writeback granule in words. + /// CTR_EL0<23:20> is log2 of the exclusives reservation granule in words. + /// CTR_EL0<19:16> is log2 of the smallest data/unified cacheline in words. + /// CTR_EL0<15:14> is the level 1 instruction cache policy. + /// CTR_EL0<3:0> is log2 of the smallest instruction cacheline in words. + std::uint32_t ctr_el0 = 0x8444c004; + + /// DCZID_EL0<3:0> is log2 of the block size in words + /// DCZID_EL0<4> is 0 if the DC ZVA instruction is permitted. + std::uint32_t dczid_el0 = 4; + + /// Pointer to where TPIDRRO_EL0 is stored. This pointer will be inserted into + /// emitted code. + const std::uint64_t* tpidrro_el0 = nullptr; + + /// Pointer to where TPIDR_EL0 is stored. This pointer will be inserted into + /// emitted code. + const std::uint64_t* tpidr_el0 = nullptr; + + /// Pointer to the page table which we can use for direct page table access. + /// If an entry in page_table is null, the relevant memory callback will be called. + /// If page_table is nullptr, all memory accesses hit the memory callbacks. + void** page_table = nullptr; + /// Declares how many valid address bits are there in virtual addresses. + /// Determines the size of page_table. Valid values are between 12 and 64 inclusive. + /// This is only used if page_table or fastmem_pointer is not nullptr. + size_t page_table_address_space_bits = 36; + /// Masks out the first N bits in host pointers from the page table. + /// The intention behind this is to allow users of Dynarmic to pack attributes in the + /// same integer and update the pointer attribute pair atomically. + /// If the configured value is 3, all pointers will be forcefully aligned to 8 bytes. + int page_table_pointer_mask_bits = 0; + /// Determines what happens if the guest accesses an entry that is off the end of the + /// page table. If true, Dynarmic will silently mirror page_table's address space. If + /// false, accessing memory outside of page_table bounds will result in a call to the + /// relevant memory callback. + /// This is only used if page_table or fastmem_pointer is not nullptr. + bool silently_mirror_page_table = true; + /// Determines if the pointer in the page_table shall be offseted locally or globally. + /// 'false' will access page_table[addr >> bits][addr & mask] + /// 'true' will access page_table[addr >> bits][addr] + /// Note: page_table[addr >> bits] will still be checked to verify active pages. + /// So there might be wrongly faulted pages which maps to nullptr. + /// This can be avoided by carefully allocating the memory region. + bool absolute_offset_page_table = false; + /// Determines if we should detect memory accesses via page_table that straddle are + /// misaligned. Accesses that straddle page boundaries will fallback to the relevant + /// memory callback. + /// This value should be the required access sizes this applies to ORed together. + /// To detect any access, use: 8 | 16 | 32 | 64 | 128. + std::uint8_t detect_misaligned_access_via_page_table = 0; + /// Determines if the above option only triggers when the misalignment straddles a + /// page boundary. + bool only_detect_misalignment_via_page_table_on_page_boundary = false; + + /// Fastmem Pointer + /// This should point to the beginning of a 2^page_table_address_space_bits bytes + /// address space which is in arranged just like what you wish for emulated memory to + /// be. If the host page faults on an address, the JIT will fallback to calling the + /// MemoryRead*/MemoryWrite* callbacks. + void* fastmem_pointer = nullptr; + /// Determines if instructions that pagefault should cause recompilation of that block + /// with fastmem disabled. + /// Recompiled code will use the page_table if this is available, otherwise memory + /// accesses will hit the memory callbacks. + bool recompile_on_fastmem_failure = true; + + /// This option relates to translation. Generally when we run into an unpredictable + /// instruction the ExceptionRaised callback is called. If this is true, we define + /// definite behaviour for some unpredictable instructions. + bool define_unpredictable_behaviour = false; + + /// HACK: + /// This tells the translator a wall clock will be used, thus allowing it + /// to avoid writting certain unnecessary code only needed for cycle timers. + bool wall_clock_cntpct = false; + + // Determines whether AddTicks and GetTicksRemaining are called. + // If false, execution will continue until soon after Jit::HaltExecution is called. + // bool enable_ticks = true; // TODO + + // Minimum size is about 8MiB. Maximum size is about 2GiB. Maximum size is limited by + // the maximum length of a x64 jump. + size_t code_cache_size = 256 * 1024 * 1024; // bytes + // Determines the relative size of the near and far code caches. Must be smaller than + // code_cache_size. + size_t far_code_offset = 200 * 1024 * 1024; // bytes +}; + +} // namespace A64 +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/exclusive_monitor.h b/externals/dynarmic/src/dynarmic/interface/exclusive_monitor.h new file mode 100755 index 000000000..70b0c7f81 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/exclusive_monitor.h @@ -0,0 +1,81 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include +#include +#include + +namespace Dynarmic { + +using VAddr = std::uint64_t; +using Vector = std::array; + +class ExclusiveMonitor { +public: + /// @param processor_count Maximum number of processors using this global + /// exclusive monitor. Each processor must have a + /// unique id. + explicit ExclusiveMonitor(size_t processor_count); + + size_t GetProcessorCount() const; + + /// Marks a region containing [address, address+size) to be exclusive to + /// processor processor_id. + template + T ReadAndMark(size_t processor_id, VAddr address, Function op) { + static_assert(std::is_trivially_copyable_v); + const VAddr masked_address = address & RESERVATION_GRANULE_MASK; + + Lock(); + exclusive_addresses[processor_id] = masked_address; + const T value = op(); + std::memcpy(exclusive_values[processor_id].data(), &value, sizeof(T)); + Unlock(); + return value; + } + + /// Checks to see if processor processor_id has exclusive access to the + /// specified region. If it does, executes the operation then clears + /// the exclusive state for processors if their exclusive region(s) + /// contain [address, address+size). + template + bool DoExclusiveOperation(size_t processor_id, VAddr address, Function op) { + static_assert(std::is_trivially_copyable_v); + if (!CheckAndClear(processor_id, address)) { + return false; + } + + T saved_value; + std::memcpy(&saved_value, exclusive_values[processor_id].data(), sizeof(T)); + const bool result = op(saved_value); + + Unlock(); + return result; + } + + /// Unmark everything. + void Clear(); + /// Unmark processor id + void ClearProcessor(size_t processor_id); + +private: + bool CheckAndClear(size_t processor_id, VAddr address); + + void Lock(); + void Unlock(); + + static constexpr VAddr RESERVATION_GRANULE_MASK = 0xFFFF'FFFF'FFFF'FFFFull; + static constexpr VAddr INVALID_EXCLUSIVE_ADDRESS = 0xDEAD'DEAD'DEAD'DEADull; + std::atomic_flag is_locked; + std::vector exclusive_addresses; + std::vector exclusive_values; +}; + +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/interface/optimization_flags.h b/externals/dynarmic/src/dynarmic/interface/optimization_flags.h new file mode 100755 index 000000000..143edc5ce --- /dev/null +++ b/externals/dynarmic/src/dynarmic/interface/optimization_flags.h @@ -0,0 +1,74 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +namespace Dynarmic { + +enum class OptimizationFlag : std::uint32_t { + /// This optimization avoids dispatcher lookups by allowing emitted basic blocks to jump + /// directly to other basic blocks if the destination PC is predictable at JIT-time. + /// This is a safe optimization. + BlockLinking = 0x00000001, + /// This optimization avoids dispatcher lookups by emulating a return stack buffer. This + /// allows for function returns and syscall returns to be predicted at runtime. + /// This is a safe optimization. + ReturnStackBuffer = 0x00000002, + /// This optimization enables a two-tiered dispatch system. + /// A fast dispatcher (written in assembly) first does a look-up in a small MRU cache. + /// If this fails, it falls back to the usual slower dispatcher. + /// This is a safe optimization. + FastDispatch = 0x00000004, + /// This is an IR optimization. This optimization eliminates unnecessary emulated CPU state + /// context lookups. + /// This is a safe optimization. + GetSetElimination = 0x00000008, + /// This is an IR optimization. This optimization does constant propagation. + /// This is a safe optimization. + ConstProp = 0x00000010, + /// This is enables miscellaneous safe IR optimizations. + MiscIROpt = 0x00000020, + + /// This is an UNSAFE optimization that reduces accuracy of fused multiply-add operations. + /// This unfuses fused instructions to improve performance on host CPUs without FMA support. + Unsafe_UnfuseFMA = 0x00010000, + /// This is an UNSAFE optimization that reduces accuracy of certain floating-point instructions. + /// This allows results of FRECPE and FRSQRTE to have **less** error than spec allows. + Unsafe_ReducedErrorFP = 0x00020000, + /// This is an UNSAFE optimization that causes floating-point instructions to not produce correct NaNs. + /// This may also result in inaccurate results when instructions are given certain special values. + Unsafe_InaccurateNaN = 0x00040000, +}; + +constexpr OptimizationFlag no_optimizations = static_cast(0); +constexpr OptimizationFlag all_safe_optimizations = static_cast(0x0000FFFF); + +constexpr OptimizationFlag operator~(OptimizationFlag f) { + return static_cast(~static_cast(f)); +} + +constexpr OptimizationFlag operator|(OptimizationFlag f1, OptimizationFlag f2) { + return static_cast(static_cast(f1) | static_cast(f2)); +} + +constexpr OptimizationFlag operator&(OptimizationFlag f1, OptimizationFlag f2) { + return static_cast(static_cast(f1) & static_cast(f2)); +} + +constexpr OptimizationFlag operator|=(OptimizationFlag& result, OptimizationFlag f) { + return result = (result | f); +} + +constexpr OptimizationFlag operator&=(OptimizationFlag& result, OptimizationFlag f) { + return result = (result & f); +} + +constexpr bool operator!(OptimizationFlag f) { + return f == no_optimizations; +} + +} // namespace Dynarmic diff --git a/externals/dynarmic/src/dynarmic/ir/basic_block.cpp b/externals/dynarmic/src/dynarmic/ir/basic_block.cpp new file mode 100755 index 000000000..0e22cadf3 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/basic_block.cpp @@ -0,0 +1,245 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/ir/basic_block.h" + +#include +#include +#include +#include + +#include +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/memory_pool.h" +#include "dynarmic/frontend/A32/types.h" +#include "dynarmic/frontend/A64/types.h" +#include "dynarmic/ir/cond.h" +#include "dynarmic/ir/opcodes.h" + +namespace Dynarmic::IR { + +Block::Block(const LocationDescriptor& location) + : location{location}, end_location{location}, cond{Cond::AL}, instruction_alloc_pool{std::make_unique(sizeof(Inst), 4096)} {} + +Block::~Block() = default; + +Block::Block(Block&&) = default; + +Block& Block::operator=(Block&&) = default; + +void Block::AppendNewInst(Opcode opcode, std::initializer_list args) { + PrependNewInst(end(), opcode, args); +} + +Block::iterator Block::PrependNewInst(iterator insertion_point, Opcode opcode, std::initializer_list args) { + IR::Inst* inst = new (instruction_alloc_pool->Alloc()) IR::Inst(opcode); + ASSERT(args.size() == inst->NumArgs()); + + std::for_each(args.begin(), args.end(), [&inst, index = size_t(0)](const auto& arg) mutable { + inst->SetArg(index, arg); + index++; + }); + + return instructions.insert_before(insertion_point, inst); +} + +LocationDescriptor Block::Location() const { + return location; +} + +LocationDescriptor Block::EndLocation() const { + return end_location; +} + +void Block::SetEndLocation(const LocationDescriptor& descriptor) { + end_location = descriptor; +} + +Cond Block::GetCondition() const { + return cond; +} + +void Block::SetCondition(Cond condition) { + cond = condition; +} + +LocationDescriptor Block::ConditionFailedLocation() const { + return *cond_failed; +} + +void Block::SetConditionFailedLocation(LocationDescriptor fail_location) { + cond_failed = fail_location; +} + +size_t& Block::ConditionFailedCycleCount() { + return cond_failed_cycle_count; +} + +const size_t& Block::ConditionFailedCycleCount() const { + return cond_failed_cycle_count; +} + +bool Block::HasConditionFailedLocation() const { + return cond_failed.has_value(); +} + +Block::InstructionList& Block::Instructions() { + return instructions; +} + +const Block::InstructionList& Block::Instructions() const { + return instructions; +} + +Terminal Block::GetTerminal() const { + return terminal; +} + +void Block::SetTerminal(Terminal term) { + ASSERT_MSG(!HasTerminal(), "Terminal has already been set."); + terminal = std::move(term); +} + +void Block::ReplaceTerminal(Terminal term) { + ASSERT_MSG(HasTerminal(), "Terminal has not been set."); + terminal = std::move(term); +} + +bool Block::HasTerminal() const { + return terminal.which() != 0; +} + +size_t& Block::CycleCount() { + return cycle_count; +} + +const size_t& Block::CycleCount() const { + return cycle_count; +} + +static std::string TerminalToString(const Terminal& terminal_variant) { + struct : boost::static_visitor { + std::string operator()(const Term::Invalid&) const { + return ""; + } + std::string operator()(const Term::Interpret& terminal) const { + return fmt::format("Interpret{{{}}}", terminal.next); + } + std::string operator()(const Term::ReturnToDispatch&) const { + return "ReturnToDispatch{}"; + } + std::string operator()(const Term::LinkBlock& terminal) const { + return fmt::format("LinkBlock{{{}}}", terminal.next); + } + std::string operator()(const Term::LinkBlockFast& terminal) const { + return fmt::format("LinkBlockFast{{{}}}", terminal.next); + } + std::string operator()(const Term::PopRSBHint&) const { + return "PopRSBHint{}"; + } + std::string operator()(const Term::FastDispatchHint&) const { + return "FastDispatchHint{}"; + } + std::string operator()(const Term::If& terminal) const { + return fmt::format("If{{{}, {}, {}}}", A64::CondToString(terminal.if_), TerminalToString(terminal.then_), TerminalToString(terminal.else_)); + } + std::string operator()(const Term::CheckBit& terminal) const { + return fmt::format("CheckBit{{{}, {}}}", TerminalToString(terminal.then_), TerminalToString(terminal.else_)); + } + std::string operator()(const Term::CheckHalt& terminal) const { + return fmt::format("CheckHalt{{{}}}", TerminalToString(terminal.else_)); + } + } visitor; + + return boost::apply_visitor(visitor, terminal_variant); +} + +std::string DumpBlock(const IR::Block& block) { + std::string ret; + + ret += fmt::format("Block: location={}\n", block.Location()); + ret += fmt::format("cycles={}", block.CycleCount()); + ret += fmt::format(", entry_cond={}", A64::CondToString(block.GetCondition())); + if (block.GetCondition() != Cond::AL) { + ret += fmt::format(", cond_fail={}", block.ConditionFailedLocation()); + } + ret += '\n'; + + std::map inst_to_index; + size_t index = 0; + + const auto arg_to_string = [&inst_to_index](const IR::Value& arg) -> std::string { + if (arg.IsEmpty()) { + return ""; + } else if (!arg.IsImmediate()) { + if (const auto iter = inst_to_index.find(arg.GetInst()); iter != inst_to_index.end()) { + return fmt::format("%{}", iter->second); + } + return fmt::format("%", reinterpret_cast(arg.GetInst())); + } + switch (arg.GetType()) { + case Type::U1: + return fmt::format("#{}", arg.GetU1() ? '1' : '0'); + case Type::U8: + return fmt::format("#{}", arg.GetU8()); + case Type::U16: + return fmt::format("#{:#x}", arg.GetU16()); + case Type::U32: + return fmt::format("#{:#x}", arg.GetU32()); + case Type::U64: + return fmt::format("#{:#x}", arg.GetU64()); + case Type::A32Reg: + return A32::RegToString(arg.GetA32RegRef()); + case Type::A32ExtReg: + return A32::ExtRegToString(arg.GetA32ExtRegRef()); + case Type::A64Reg: + return A64::RegToString(arg.GetA64RegRef()); + case Type::A64Vec: + return A64::VecToString(arg.GetA64VecRef()); + default: + return ""; + } + }; + + for (const auto& inst : block) { + const Opcode op = inst.GetOpcode(); + + ret += fmt::format("[{:016x}] ", reinterpret_cast(&inst)); + if (GetTypeOf(op) != Type::Void) { + ret += fmt::format("%{:<5} = ", index); + } else { + ret += " "; // '%00000 = ' -> 1 + 5 + 3 = 9 spaces + } + + ret += GetNameOf(op); + + const size_t arg_count = GetNumArgsOf(op); + for (size_t arg_index = 0; arg_index < arg_count; arg_index++) { + const Value arg = inst.GetArg(arg_index); + + ret += arg_index != 0 ? ", " : " "; + ret += arg_to_string(arg); + + Type actual_type = arg.GetType(); + Type expected_type = GetArgTypeOf(op, arg_index); + if (!AreTypesCompatible(actual_type, expected_type)) { + ret += fmt::format("", GetNameOf(actual_type), GetNameOf(expected_type)); + } + } + + ret += fmt::format(" (uses: {})", inst.UseCount()); + + ret += '\n'; + inst_to_index[&inst] = index++; + } + + ret += "terminal = " + TerminalToString(block.GetTerminal()) + '\n'; + + return ret; +} + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/basic_block.h b/externals/dynarmic/src/dynarmic/ir/basic_block.h new file mode 100755 index 000000000..4f9a7805b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/basic_block.h @@ -0,0 +1,167 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include +#include +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/intrusive_list.h" +#include "dynarmic/ir/location_descriptor.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/terminal.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::Common { +class Pool; +} + +namespace Dynarmic::IR { + +enum class Cond; +enum class Opcode; + +/** + * A basic block. It consists of zero or more instructions followed by exactly one terminal. + * Note that this is a linear IR and not a pure tree-based IR: i.e.: there is an ordering to + * the microinstructions. This only matters before chaining is done in order to correctly + * order memory accesses. + */ +class Block final { +public: + using InstructionList = Common::IntrusiveList; + using size_type = InstructionList::size_type; + using iterator = InstructionList::iterator; + using const_iterator = InstructionList::const_iterator; + using reverse_iterator = InstructionList::reverse_iterator; + using const_reverse_iterator = InstructionList::const_reverse_iterator; + + explicit Block(const LocationDescriptor& location); + ~Block(); + + Block(const Block&) = delete; + Block& operator=(const Block&) = delete; + + Block(Block&&); + Block& operator=(Block&&); + + bool empty() const { return instructions.empty(); } + size_type size() const { return instructions.size(); } + + Inst& front() { return instructions.front(); } + const Inst& front() const { return instructions.front(); } + + Inst& back() { return instructions.back(); } + const Inst& back() const { return instructions.back(); } + + iterator begin() { return instructions.begin(); } + const_iterator begin() const { return instructions.begin(); } + iterator end() { return instructions.end(); } + const_iterator end() const { return instructions.end(); } + + reverse_iterator rbegin() { return instructions.rbegin(); } + const_reverse_iterator rbegin() const { return instructions.rbegin(); } + reverse_iterator rend() { return instructions.rend(); } + const_reverse_iterator rend() const { return instructions.rend(); } + + const_iterator cbegin() const { return instructions.cbegin(); } + const_iterator cend() const { return instructions.cend(); } + + const_reverse_iterator crbegin() const { return instructions.crbegin(); } + const_reverse_iterator crend() const { return instructions.crend(); } + + /** + * Appends a new instruction to the end of this basic block, + * handling any allocations necessary to do so. + * + * @param op Opcode representing the instruction to add. + * @param args A sequence of Value instances used as arguments for the instruction. + */ + void AppendNewInst(Opcode op, std::initializer_list args); + + /** + * Prepends a new instruction to this basic block before the insertion point, + * handling any allocations necessary to do so. + * + * @param insertion_point Where to insert the new instruction. + * @param op Opcode representing the instruction to add. + * @param args A sequence of Value instances used as arguments for the instruction. + * @returns Iterator to the newly created instruction. + */ + iterator PrependNewInst(iterator insertion_point, Opcode op, std::initializer_list args); + + /// Gets the starting location for this basic block. + LocationDescriptor Location() const; + /// Gets the end location for this basic block. + LocationDescriptor EndLocation() const; + /// Sets the end location for this basic block. + void SetEndLocation(const LocationDescriptor& descriptor); + + /// Gets the condition required to pass in order to execute this block. + Cond GetCondition() const; + /// Sets the condition required to pass in order to execute this block. + void SetCondition(Cond condition); + + /// Gets the location of the block to execute if the predicated condition fails. + LocationDescriptor ConditionFailedLocation() const; + /// Sets the location of the block to execute if the predicated condition fails. + void SetConditionFailedLocation(LocationDescriptor fail_location); + /// Determines whether or not a predicated condition failure block is present. + bool HasConditionFailedLocation() const; + + /// Gets a mutable reference to the condition failed cycle count. + size_t& ConditionFailedCycleCount(); + /// Gets an immutable reference to the condition failed cycle count. + const size_t& ConditionFailedCycleCount() const; + + /// Gets a mutable reference to the instruction list for this basic block. + InstructionList& Instructions(); + /// Gets an immutable reference to the instruction list for this basic block. + const InstructionList& Instructions() const; + + /// Gets the terminal instruction for this basic block. + Terminal GetTerminal() const; + /// Sets the terminal instruction for this basic block. + void SetTerminal(Terminal term); + /// Replaces the terminal instruction for this basic block. + void ReplaceTerminal(Terminal term); + /// Determines whether or not this basic block has a terminal instruction. + bool HasTerminal() const; + + /// Gets a mutable reference to the cycle count for this basic block. + size_t& CycleCount(); + /// Gets an immutable reference to the cycle count for this basic block. + const size_t& CycleCount() const; + +private: + /// Description of the starting location of this block + LocationDescriptor location; + /// Description of the end location of this block + LocationDescriptor end_location; + /// Conditional to pass in order to execute this block + Cond cond; + /// Block to execute next if `cond` did not pass. + std::optional cond_failed = {}; + /// Number of cycles this block takes to execute if the conditional fails. + size_t cond_failed_cycle_count = 0; + + /// List of instructions in this block. + InstructionList instructions; + /// Memory pool for instruction list + std::unique_ptr instruction_alloc_pool; + /// Terminal instruction of this block. + Terminal terminal = Term::Invalid{}; + + /// Number of cycles this block takes to execute. + size_t cycle_count = 0; +}; + +/// Returns a string representation of the contents of block. Intended for debugging. +std::string DumpBlock(const IR::Block& block); + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/cond.h b/externals/dynarmic/src/dynarmic/ir/cond.h new file mode 100755 index 000000000..5bdd05edd --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/cond.h @@ -0,0 +1,31 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::IR { + +enum class Cond { + EQ, + NE, + CS, + CC, + MI, + PL, + VS, + VC, + HI, + LS, + GE, + LT, + GT, + LE, + AL, + NV, + HS = CS, + LO = CC, +}; + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/ir_emitter.cpp b/externals/dynarmic/src/dynarmic/ir/ir_emitter.cpp new file mode 100755 index 000000000..bd6c1ebca --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/ir_emitter.cpp @@ -0,0 +1,2676 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/ir/ir_emitter.h" + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/cast_util.h" +#include "dynarmic/ir/opcodes.h" + +namespace Dynarmic::IR { + +U1 IREmitter::Imm1(bool imm1) const { + return U1(Value(imm1)); +} + +U8 IREmitter::Imm8(u8 imm8) const { + return U8(Value(imm8)); +} + +U16 IREmitter::Imm16(u16 imm16) const { + return U16(Value(imm16)); +} + +U32 IREmitter::Imm32(u32 imm32) const { + return U32(Value(imm32)); +} + +U64 IREmitter::Imm64(u64 imm64) const { + return U64(Value(imm64)); +} + +void IREmitter::PushRSB(const LocationDescriptor& return_location) { + Inst(Opcode::PushRSB, IR::Value(return_location.Value())); +} + +U64 IREmitter::Pack2x32To1x64(const U32& lo, const U32& hi) { + return Inst(Opcode::Pack2x32To1x64, lo, hi); +} + +U128 IREmitter::Pack2x64To1x128(const U64& lo, const U64& hi) { + return Inst(Opcode::Pack2x64To1x128, lo, hi); +} + +UAny IREmitter::LeastSignificant(size_t bitsize, const U32U64& value) { + switch (bitsize) { + case 8: + return LeastSignificantByte(value); + case 16: + return LeastSignificantHalf(value); + case 32: + if (value.GetType() == Type::U32) { + return value; + } + return LeastSignificantWord(value); + case 64: + ASSERT(value.GetType() == Type::U64); + return value; + } + ASSERT_FALSE("Invalid bitsize"); +} + +U32 IREmitter::LeastSignificantWord(const U64& value) { + return Inst(Opcode::LeastSignificantWord, value); +} + +U16 IREmitter::LeastSignificantHalf(U32U64 value) { + if (value.GetType() == Type::U64) { + value = LeastSignificantWord(value); + } + return Inst(Opcode::LeastSignificantHalf, value); +} + +U8 IREmitter::LeastSignificantByte(U32U64 value) { + if (value.GetType() == Type::U64) { + value = LeastSignificantWord(value); + } + return Inst(Opcode::LeastSignificantByte, value); +} + +ResultAndCarry IREmitter::MostSignificantWord(const U64& value) { + const auto result = Inst(Opcode::MostSignificantWord, value); + const auto carry_out = Inst(Opcode::GetCarryFromOp, result); + return {result, carry_out}; +} + +U1 IREmitter::MostSignificantBit(const U32& value) { + return Inst(Opcode::MostSignificantBit, value); +} + +U1 IREmitter::IsZero(const U32& value) { + return Inst(Opcode::IsZero32, value); +} + +U1 IREmitter::IsZero(const U64& value) { + return Inst(Opcode::IsZero64, value); +} + +U1 IREmitter::IsZero(const U32U64& value) { + if (value.GetType() == Type::U32) { + return Inst(Opcode::IsZero32, value); + } else { + return Inst(Opcode::IsZero64, value); + } +} + +U1 IREmitter::TestBit(const U32U64& value, const U8& bit) { + if (value.GetType() == Type::U32) { + return Inst(Opcode::TestBit, IndeterminateExtendToLong(value), bit); + } else { + return Inst(Opcode::TestBit, value, bit); + } +} + +U32 IREmitter::ConditionalSelect(Cond cond, const U32& a, const U32& b) { + return Inst(Opcode::ConditionalSelect32, Value{cond}, a, b); +} + +U64 IREmitter::ConditionalSelect(Cond cond, const U64& a, const U64& b) { + return Inst(Opcode::ConditionalSelect64, Value{cond}, a, b); +} + +NZCV IREmitter::ConditionalSelect(Cond cond, const NZCV& a, const NZCV& b) { + return Inst(Opcode::ConditionalSelectNZCV, Value{cond}, a, b); +} + +U32U64 IREmitter::ConditionalSelect(Cond cond, const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + if (a.GetType() == Type::U32) { + return Inst(Opcode::ConditionalSelect32, Value{cond}, a, b); + } else { + return Inst(Opcode::ConditionalSelect64, Value{cond}, a, b); + } +} + +NZCV IREmitter::NZCVFromPackedFlags(const U32& a) { + return Inst(Opcode::NZCVFromPackedFlags, a); +} + +NZCV IREmitter::NZCVFrom(const Value& value) { + return Inst(Opcode::GetNZCVFromOp, value); +} + +ResultAndCarry IREmitter::LogicalShiftLeft(const U32& value_in, const U8& shift_amount, const U1& carry_in) { + const auto result = Inst(Opcode::LogicalShiftLeft32, value_in, shift_amount, carry_in); + const auto carry_out = Inst(Opcode::GetCarryFromOp, result); + return {result, carry_out}; +} + +ResultAndCarry IREmitter::LogicalShiftRight(const U32& value_in, const U8& shift_amount, const U1& carry_in) { + const auto result = Inst(Opcode::LogicalShiftRight32, value_in, shift_amount, carry_in); + const auto carry_out = Inst(Opcode::GetCarryFromOp, result); + return {result, carry_out}; +} + +ResultAndCarry IREmitter::ArithmeticShiftRight(const U32& value_in, const U8& shift_amount, const U1& carry_in) { + const auto result = Inst(Opcode::ArithmeticShiftRight32, value_in, shift_amount, carry_in); + const auto carry_out = Inst(Opcode::GetCarryFromOp, result); + return {result, carry_out}; +} + +ResultAndCarry IREmitter::RotateRight(const U32& value_in, const U8& shift_amount, const U1& carry_in) { + const auto result = Inst(Opcode::RotateRight32, value_in, shift_amount, carry_in); + const auto carry_out = Inst(Opcode::GetCarryFromOp, result); + return {result, carry_out}; +} + +ResultAndCarry IREmitter::RotateRightExtended(const U32& value_in, const U1& carry_in) { + const auto result = Inst(Opcode::RotateRightExtended, value_in, carry_in); + const auto carry_out = Inst(Opcode::GetCarryFromOp, result); + return {result, carry_out}; +} + +U32U64 IREmitter::LogicalShiftLeft(const U32U64& value_in, const U8& shift_amount) { + if (value_in.GetType() == Type::U32) { + return Inst(Opcode::LogicalShiftLeft32, value_in, shift_amount, Imm1(0)); + } else { + return Inst(Opcode::LogicalShiftLeft64, value_in, shift_amount); + } +} + +U32U64 IREmitter::LogicalShiftRight(const U32U64& value_in, const U8& shift_amount) { + if (value_in.GetType() == Type::U32) { + return Inst(Opcode::LogicalShiftRight32, value_in, shift_amount, Imm1(0)); + } else { + return Inst(Opcode::LogicalShiftRight64, value_in, shift_amount); + } +} + +U32U64 IREmitter::ArithmeticShiftRight(const U32U64& value_in, const U8& shift_amount) { + if (value_in.GetType() == Type::U32) { + return Inst(Opcode::ArithmeticShiftRight32, value_in, shift_amount, Imm1(0)); + } else { + return Inst(Opcode::ArithmeticShiftRight64, value_in, shift_amount); + } +} + +U32U64 IREmitter::RotateRight(const U32U64& value_in, const U8& shift_amount) { + if (value_in.GetType() == Type::U32) { + return Inst(Opcode::RotateRight32, value_in, shift_amount, Imm1(0)); + } else { + return Inst(Opcode::RotateRight64, value_in, shift_amount); + } +} + +U32U64 IREmitter::LogicalShiftLeftMasked(const U32U64& value_in, const U32U64& shift_amount) { + ASSERT(value_in.GetType() == shift_amount.GetType()); + if (value_in.GetType() == Type::U32) { + return Inst(Opcode::LogicalShiftLeftMasked32, value_in, shift_amount); + } else { + return Inst(Opcode::LogicalShiftLeftMasked64, value_in, shift_amount); + } +} + +U32U64 IREmitter::LogicalShiftRightMasked(const U32U64& value_in, const U32U64& shift_amount) { + ASSERT(value_in.GetType() == shift_amount.GetType()); + if (value_in.GetType() == Type::U32) { + return Inst(Opcode::LogicalShiftRightMasked32, value_in, shift_amount); + } else { + return Inst(Opcode::LogicalShiftRightMasked64, value_in, shift_amount); + } +} + +U32U64 IREmitter::ArithmeticShiftRightMasked(const U32U64& value_in, const U32U64& shift_amount) { + ASSERT(value_in.GetType() == shift_amount.GetType()); + if (value_in.GetType() == Type::U32) { + return Inst(Opcode::ArithmeticShiftRightMasked32, value_in, shift_amount); + } else { + return Inst(Opcode::ArithmeticShiftRightMasked64, value_in, shift_amount); + } +} + +U32U64 IREmitter::RotateRightMasked(const U32U64& value_in, const U32U64& shift_amount) { + ASSERT(value_in.GetType() == shift_amount.GetType()); + if (value_in.GetType() == Type::U32) { + return Inst(Opcode::RotateRightMasked32, value_in, shift_amount); + } else { + return Inst(Opcode::RotateRightMasked64, value_in, shift_amount); + } +} + +ResultAndCarryAndOverflow IREmitter::AddWithCarry(const U32& a, const U32& b, const U1& carry_in) { + const auto result = Inst(Opcode::Add32, a, b, carry_in); + const auto carry_out = Inst(Opcode::GetCarryFromOp, result); + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, carry_out, overflow}; +} + +U32U64 IREmitter::AddWithCarry(const U32U64& a, const U32U64& b, const U1& carry_in) { + ASSERT(a.GetType() == b.GetType()); + if (a.GetType() == Type::U32) { + return Inst(Opcode::Add32, a, b, carry_in); + } else { + return Inst(Opcode::Add64, a, b, carry_in); + } +} + +U32U64 IREmitter::Add(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + if (a.GetType() == Type::U32) { + return Inst(Opcode::Add32, a, b, Imm1(0)); + } else { + return Inst(Opcode::Add64, a, b, Imm1(0)); + } +} + +ResultAndCarryAndOverflow IREmitter::SubWithCarry(const U32& a, const U32& b, const U1& carry_in) { + // This is equivalent to AddWithCarry(a, Not(b), carry_in). + const auto result = Inst(Opcode::Sub32, a, b, carry_in); + const auto carry_out = Inst(Opcode::GetCarryFromOp, result); + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, carry_out, overflow}; +} + +U32U64 IREmitter::SubWithCarry(const U32U64& a, const U32U64& b, const U1& carry_in) { + ASSERT(a.GetType() == b.GetType()); + if (a.GetType() == Type::U32) { + return Inst(Opcode::Sub32, a, b, carry_in); + } else { + return Inst(Opcode::Sub64, a, b, carry_in); + } +} + +U32U64 IREmitter::Sub(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + if (a.GetType() == Type::U32) { + return Inst(Opcode::Sub32, a, b, Imm1(1)); + } else { + return Inst(Opcode::Sub64, a, b, Imm1(1)); + } +} + +U32U64 IREmitter::Mul(const U32U64& a, const U32U64& b) { + if (a.GetType() == Type::U32) { + return Inst(Opcode::Mul32, a, b); + } + + return Inst(Opcode::Mul64, a, b); +} + +U64 IREmitter::UnsignedMultiplyHigh(const U64& a, const U64& b) { + return Inst(Opcode::UnsignedMultiplyHigh64, a, b); +} + +U64 IREmitter::SignedMultiplyHigh(const U64& a, const U64& b) { + return Inst(Opcode::SignedMultiplyHigh64, a, b); +} + +U32U64 IREmitter::UnsignedDiv(const U32U64& a, const U32U64& b) { + if (a.GetType() == Type::U32) { + return Inst(Opcode::UnsignedDiv32, a, b); + } + + return Inst(Opcode::UnsignedDiv64, a, b); +} + +U32U64 IREmitter::SignedDiv(const U32U64& a, const U32U64& b) { + if (a.GetType() == Type::U32) { + return Inst(Opcode::SignedDiv32, a, b); + } + + return Inst(Opcode::SignedDiv64, a, b); +} + +U32U64 IREmitter::And(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + if (a.GetType() == Type::U32) { + return Inst(Opcode::And32, a, b); + } else { + return Inst(Opcode::And64, a, b); + } +} + +U32U64 IREmitter::Eor(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + if (a.GetType() == Type::U32) { + return Inst(Opcode::Eor32, a, b); + } else { + return Inst(Opcode::Eor64, a, b); + } +} + +U32U64 IREmitter::Or(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + if (a.GetType() == Type::U32) { + return Inst(Opcode::Or32, a, b); + } else { + return Inst(Opcode::Or64, a, b); + } +} + +U32U64 IREmitter::Not(const U32U64& a) { + if (a.GetType() == Type::U32) { + return Inst(Opcode::Not32, a); + } else { + return Inst(Opcode::Not64, a); + } +} + +U64 IREmitter::SignExtendToLong(const UAny& a) { + switch (a.GetType()) { + case Type::U8: + return Inst(Opcode::SignExtendByteToLong, a); + case Type::U16: + return Inst(Opcode::SignExtendHalfToLong, a); + case Type::U32: + return Inst(Opcode::SignExtendWordToLong, a); + case Type::U64: + return U64(a); + default: + UNREACHABLE(); + } +} + +U32 IREmitter::SignExtendToWord(const UAny& a) { + switch (a.GetType()) { + case Type::U8: + return Inst(Opcode::SignExtendByteToWord, a); + case Type::U16: + return Inst(Opcode::SignExtendHalfToWord, a); + case Type::U32: + return U32(a); + case Type::U64: + return Inst(Opcode::LeastSignificantWord, a); + default: + UNREACHABLE(); + } +} + +U64 IREmitter::SignExtendWordToLong(const U32& a) { + return Inst(Opcode::SignExtendWordToLong, a); +} + +U32 IREmitter::SignExtendHalfToWord(const U16& a) { + return Inst(Opcode::SignExtendHalfToWord, a); +} + +U32 IREmitter::SignExtendByteToWord(const U8& a) { + return Inst(Opcode::SignExtendByteToWord, a); +} + +U64 IREmitter::ZeroExtendToLong(const UAny& a) { + switch (a.GetType()) { + case Type::U8: + return Inst(Opcode::ZeroExtendByteToLong, a); + case Type::U16: + return Inst(Opcode::ZeroExtendHalfToLong, a); + case Type::U32: + return Inst(Opcode::ZeroExtendWordToLong, a); + case Type::U64: + return U64(a); + default: + UNREACHABLE(); + } +} + +U32 IREmitter::ZeroExtendToWord(const UAny& a) { + switch (a.GetType()) { + case Type::U8: + return Inst(Opcode::ZeroExtendByteToWord, a); + case Type::U16: + return Inst(Opcode::ZeroExtendHalfToWord, a); + case Type::U32: + return U32(a); + case Type::U64: + return Inst(Opcode::LeastSignificantWord, a); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::ZeroExtendToQuad(const UAny& a) { + return Inst(Opcode::ZeroExtendLongToQuad, ZeroExtendToLong(a)); +} + +U64 IREmitter::ZeroExtendWordToLong(const U32& a) { + return Inst(Opcode::ZeroExtendWordToLong, a); +} + +U32 IREmitter::ZeroExtendHalfToWord(const U16& a) { + return Inst(Opcode::ZeroExtendHalfToWord, a); +} + +U32 IREmitter::ZeroExtendByteToWord(const U8& a) { + return Inst(Opcode::ZeroExtendByteToWord, a); +} + +U32 IREmitter::IndeterminateExtendToWord(const UAny& a) { + // TODO: Implement properly + return ZeroExtendToWord(a); +} + +U64 IREmitter::IndeterminateExtendToLong(const UAny& a) { + // TODO: Implement properly + return ZeroExtendToLong(a); +} + +U32 IREmitter::ByteReverseWord(const U32& a) { + return Inst(Opcode::ByteReverseWord, a); +} + +U16 IREmitter::ByteReverseHalf(const U16& a) { + return Inst(Opcode::ByteReverseHalf, a); +} + +U64 IREmitter::ByteReverseDual(const U64& a) { + return Inst(Opcode::ByteReverseDual, a); +} + +U32U64 IREmitter::CountLeadingZeros(const U32U64& a) { + if (a.GetType() == IR::Type::U32) { + return Inst(Opcode::CountLeadingZeros32, a); + } + + return Inst(Opcode::CountLeadingZeros64, a); +} + +U32U64 IREmitter::ExtractRegister(const U32U64& a, const U32U64& b, const U8& lsb) { + if (a.GetType() == IR::Type::U32) { + return Inst(Opcode::ExtractRegister32, a, b, lsb); + } + + return Inst(Opcode::ExtractRegister64, a, b, lsb); +} + +U32U64 IREmitter::ReplicateBit(const U32U64& a, u8 bit) { + if (a.GetType() == IR::Type::U32) { + ASSERT(bit < 32); + return Inst(Opcode::ReplicateBit32, a, Imm8(bit)); + } + + ASSERT(bit < 64); + return Inst(Opcode::ReplicateBit64, a, Imm8(bit)); +} + +U32U64 IREmitter::MaxSigned(const U32U64& a, const U32U64& b) { + if (a.GetType() == IR::Type::U32) { + return Inst(Opcode::MaxSigned32, a, b); + } + + return Inst(Opcode::MaxSigned64, a, b); +} + +U32U64 IREmitter::MaxUnsigned(const U32U64& a, const U32U64& b) { + if (a.GetType() == IR::Type::U32) { + return Inst(Opcode::MaxUnsigned32, a, b); + } + + return Inst(Opcode::MaxUnsigned64, a, b); +} + +U32U64 IREmitter::MinSigned(const U32U64& a, const U32U64& b) { + if (a.GetType() == IR::Type::U32) { + return Inst(Opcode::MinSigned32, a, b); + } + + return Inst(Opcode::MinSigned64, a, b); +} + +U32U64 IREmitter::MinUnsigned(const U32U64& a, const U32U64& b) { + if (a.GetType() == IR::Type::U32) { + return Inst(Opcode::MinUnsigned32, a, b); + } + + return Inst(Opcode::MinUnsigned64, a, b); +} + +ResultAndOverflow IREmitter::SignedSaturatedAdd(const UAny& a, const UAny& b) { + ASSERT(a.GetType() == b.GetType()); + const auto result = [&]() -> IR::UAny { + switch (a.GetType()) { + case IR::Type::U8: + return Inst(Opcode::SignedSaturatedAdd8, a, b); + case IR::Type::U16: + return Inst(Opcode::SignedSaturatedAdd16, a, b); + case IR::Type::U32: + return Inst(Opcode::SignedSaturatedAdd32, a, b); + case IR::Type::U64: + return Inst(Opcode::SignedSaturatedAdd64, a, b); + default: + return IR::UAny{}; + } + }(); + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, overflow}; +} + +ResultAndOverflow IREmitter::SignedSaturatedDoublingMultiplyReturnHigh(const UAny& a, const UAny& b) { + ASSERT(a.GetType() == b.GetType()); + const auto result = [&]() -> IR::UAny { + switch (a.GetType()) { + case IR::Type::U16: + return Inst(Opcode::SignedSaturatedDoublingMultiplyReturnHigh16, a, b); + case IR::Type::U32: + return Inst(Opcode::SignedSaturatedDoublingMultiplyReturnHigh32, a, b); + default: + UNREACHABLE(); + } + }(); + + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, overflow}; +} + +ResultAndOverflow IREmitter::SignedSaturatedSub(const UAny& a, const UAny& b) { + ASSERT(a.GetType() == b.GetType()); + const auto result = [&]() -> IR::UAny { + switch (a.GetType()) { + case IR::Type::U8: + return Inst(Opcode::SignedSaturatedSub8, a, b); + case IR::Type::U16: + return Inst(Opcode::SignedSaturatedSub16, a, b); + case IR::Type::U32: + return Inst(Opcode::SignedSaturatedSub32, a, b); + case IR::Type::U64: + return Inst(Opcode::SignedSaturatedSub64, a, b); + default: + return IR::UAny{}; + } + }(); + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, overflow}; +} + +ResultAndOverflow IREmitter::SignedSaturation(const U32& a, size_t bit_size_to_saturate_to) { + ASSERT(bit_size_to_saturate_to >= 1 && bit_size_to_saturate_to <= 32); + const auto result = Inst(Opcode::SignedSaturation, a, Imm8(static_cast(bit_size_to_saturate_to))); + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, overflow}; +} + +ResultAndOverflow IREmitter::UnsignedSaturatedAdd(const UAny& a, const UAny& b) { + ASSERT(a.GetType() == b.GetType()); + const auto result = [&]() -> IR::UAny { + switch (a.GetType()) { + case IR::Type::U8: + return Inst(Opcode::UnsignedSaturatedAdd8, a, b); + case IR::Type::U16: + return Inst(Opcode::UnsignedSaturatedAdd16, a, b); + case IR::Type::U32: + return Inst(Opcode::UnsignedSaturatedAdd32, a, b); + case IR::Type::U64: + return Inst(Opcode::UnsignedSaturatedAdd64, a, b); + default: + return IR::UAny{}; + } + }(); + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, overflow}; +} + +ResultAndOverflow IREmitter::UnsignedSaturatedSub(const UAny& a, const UAny& b) { + ASSERT(a.GetType() == b.GetType()); + const auto result = [&]() -> IR::UAny { + switch (a.GetType()) { + case IR::Type::U8: + return Inst(Opcode::UnsignedSaturatedSub8, a, b); + case IR::Type::U16: + return Inst(Opcode::UnsignedSaturatedSub16, a, b); + case IR::Type::U32: + return Inst(Opcode::UnsignedSaturatedSub32, a, b); + case IR::Type::U64: + return Inst(Opcode::UnsignedSaturatedSub64, a, b); + default: + return IR::UAny{}; + } + }(); + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, overflow}; +} + +ResultAndOverflow IREmitter::UnsignedSaturation(const U32& a, size_t bit_size_to_saturate_to) { + ASSERT(bit_size_to_saturate_to <= 31); + const auto result = Inst(Opcode::UnsignedSaturation, a, Imm8(static_cast(bit_size_to_saturate_to))); + const auto overflow = Inst(Opcode::GetOverflowFromOp, result); + return {result, overflow}; +} + +U128 IREmitter::VectorSignedSaturatedAdd(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSignedSaturatedAdd8, a, b); + case 16: + return Inst(Opcode::VectorSignedSaturatedAdd16, a, b); + case 32: + return Inst(Opcode::VectorSignedSaturatedAdd32, a, b); + case 64: + return Inst(Opcode::VectorSignedSaturatedAdd64, a, b); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorSignedSaturatedSub(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSignedSaturatedSub8, a, b); + case 16: + return Inst(Opcode::VectorSignedSaturatedSub16, a, b); + case 32: + return Inst(Opcode::VectorSignedSaturatedSub32, a, b); + case 64: + return Inst(Opcode::VectorSignedSaturatedSub64, a, b); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorUnsignedSaturatedAdd(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorUnsignedSaturatedAdd8, a, b); + case 16: + return Inst(Opcode::VectorUnsignedSaturatedAdd16, a, b); + case 32: + return Inst(Opcode::VectorUnsignedSaturatedAdd32, a, b); + case 64: + return Inst(Opcode::VectorUnsignedSaturatedAdd64, a, b); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorUnsignedSaturatedSub(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorUnsignedSaturatedSub8, a, b); + case 16: + return Inst(Opcode::VectorUnsignedSaturatedSub16, a, b); + case 32: + return Inst(Opcode::VectorUnsignedSaturatedSub32, a, b); + case 64: + return Inst(Opcode::VectorUnsignedSaturatedSub64, a, b); + default: + UNREACHABLE(); + } +} + +ResultAndGE IREmitter::PackedAddU8(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedAddU8, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedAddS8(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedAddS8, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedAddU16(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedAddU16, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedAddS16(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedAddS16, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedSubU8(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedSubU8, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedSubS8(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedSubS8, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedSubU16(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedSubU16, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedSubS16(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedSubS16, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedAddSubU16(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedAddSubU16, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedAddSubS16(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedAddSubS16, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedSubAddU16(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedSubAddU16, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +ResultAndGE IREmitter::PackedSubAddS16(const U32& a, const U32& b) { + const auto result = Inst(Opcode::PackedSubAddS16, a, b); + const auto ge = Inst(Opcode::GetGEFromOp, result); + return {result, ge}; +} + +U32 IREmitter::PackedHalvingAddU8(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingAddU8, a, b); +} + +U32 IREmitter::PackedHalvingAddS8(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingAddS8, a, b); +} + +U32 IREmitter::PackedHalvingSubU8(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingSubU8, a, b); +} + +U32 IREmitter::PackedHalvingSubS8(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingSubS8, a, b); +} + +U32 IREmitter::PackedHalvingAddU16(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingAddU16, a, b); +} + +U32 IREmitter::PackedHalvingAddS16(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingAddS16, a, b); +} + +U32 IREmitter::PackedHalvingSubU16(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingSubU16, a, b); +} + +U32 IREmitter::PackedHalvingSubS16(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingSubS16, a, b); +} + +U32 IREmitter::PackedHalvingAddSubU16(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingAddSubU16, a, b); +} + +U32 IREmitter::PackedHalvingAddSubS16(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingAddSubS16, a, b); +} + +U32 IREmitter::PackedHalvingSubAddU16(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingSubAddU16, a, b); +} + +U32 IREmitter::PackedHalvingSubAddS16(const U32& a, const U32& b) { + return Inst(Opcode::PackedHalvingSubAddS16, a, b); +} + +U32 IREmitter::PackedSaturatedAddU8(const U32& a, const U32& b) { + return Inst(Opcode::PackedSaturatedAddU8, a, b); +} + +U32 IREmitter::PackedSaturatedAddS8(const U32& a, const U32& b) { + return Inst(Opcode::PackedSaturatedAddS8, a, b); +} + +U32 IREmitter::PackedSaturatedSubU8(const U32& a, const U32& b) { + return Inst(Opcode::PackedSaturatedSubU8, a, b); +} + +U32 IREmitter::PackedSaturatedSubS8(const U32& a, const U32& b) { + return Inst(Opcode::PackedSaturatedSubS8, a, b); +} + +U32 IREmitter::PackedSaturatedAddU16(const U32& a, const U32& b) { + return Inst(Opcode::PackedSaturatedAddU16, a, b); +} + +U32 IREmitter::PackedSaturatedAddS16(const U32& a, const U32& b) { + return Inst(Opcode::PackedSaturatedAddS16, a, b); +} + +U32 IREmitter::PackedSaturatedSubU16(const U32& a, const U32& b) { + return Inst(Opcode::PackedSaturatedSubU16, a, b); +} + +U32 IREmitter::PackedSaturatedSubS16(const U32& a, const U32& b) { + return Inst(Opcode::PackedSaturatedSubS16, a, b); +} + +U32 IREmitter::PackedAbsDiffSumS8(const U32& a, const U32& b) { + return Inst(Opcode::PackedAbsDiffSumS8, a, b); +} + +U32 IREmitter::PackedSelect(const U32& ge, const U32& a, const U32& b) { + return Inst(Opcode::PackedSelect, ge, a, b); +} + +U32 IREmitter::CRC32Castagnoli8(const U32& a, const U32& b) { + return Inst(Opcode::CRC32Castagnoli8, a, b); +} + +U32 IREmitter::CRC32Castagnoli16(const U32& a, const U32& b) { + return Inst(Opcode::CRC32Castagnoli16, a, b); +} + +U32 IREmitter::CRC32Castagnoli32(const U32& a, const U32& b) { + return Inst(Opcode::CRC32Castagnoli32, a, b); +} + +U32 IREmitter::CRC32Castagnoli64(const U32& a, const U64& b) { + return Inst(Opcode::CRC32Castagnoli64, a, b); +} + +U32 IREmitter::CRC32ISO8(const U32& a, const U32& b) { + return Inst(Opcode::CRC32ISO8, a, b); +} + +U32 IREmitter::CRC32ISO16(const U32& a, const U32& b) { + return Inst(Opcode::CRC32ISO16, a, b); +} + +U32 IREmitter::CRC32ISO32(const U32& a, const U32& b) { + return Inst(Opcode::CRC32ISO32, a, b); +} + +U32 IREmitter::CRC32ISO64(const U32& a, const U64& b) { + return Inst(Opcode::CRC32ISO64, a, b); +} + +U128 IREmitter::AESDecryptSingleRound(const U128& a) { + return Inst(Opcode::AESDecryptSingleRound, a); +} + +U128 IREmitter::AESEncryptSingleRound(const U128& a) { + return Inst(Opcode::AESEncryptSingleRound, a); +} + +U128 IREmitter::AESInverseMixColumns(const U128& a) { + return Inst(Opcode::AESInverseMixColumns, a); +} + +U128 IREmitter::AESMixColumns(const U128& a) { + return Inst(Opcode::AESMixColumns, a); +} + +U8 IREmitter::SM4AccessSubstitutionBox(const U8& a) { + return Inst(Opcode::SM4AccessSubstitutionBox, a); +} + +UAny IREmitter::VectorGetElement(size_t esize, const U128& a, size_t index) { + ASSERT_MSG(esize * index < 128, "Invalid index"); + switch (esize) { + case 8: + return Inst(Opcode::VectorGetElement8, a, Imm8(static_cast(index))); + case 16: + return Inst(Opcode::VectorGetElement16, a, Imm8(static_cast(index))); + case 32: + return Inst(Opcode::VectorGetElement32, a, Imm8(static_cast(index))); + case 64: + return Inst(Opcode::VectorGetElement64, a, Imm8(static_cast(index))); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorSetElement(size_t esize, const U128& a, size_t index, const IR::UAny& elem) { + ASSERT_MSG(esize * index < 128, "Invalid index"); + switch (esize) { + case 8: + return Inst(Opcode::VectorSetElement8, a, Imm8(static_cast(index)), elem); + case 16: + return Inst(Opcode::VectorSetElement16, a, Imm8(static_cast(index)), elem); + case 32: + return Inst(Opcode::VectorSetElement32, a, Imm8(static_cast(index)), elem); + case 64: + return Inst(Opcode::VectorSetElement64, a, Imm8(static_cast(index)), elem); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorAbs(size_t esize, const U128& a) { + switch (esize) { + case 8: + return Inst(Opcode::VectorAbs8, a); + case 16: + return Inst(Opcode::VectorAbs16, a); + case 32: + return Inst(Opcode::VectorAbs32, a); + case 64: + return Inst(Opcode::VectorAbs64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorAdd(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorAdd8, a, b); + case 16: + return Inst(Opcode::VectorAdd16, a, b); + case 32: + return Inst(Opcode::VectorAdd32, a, b); + case 64: + return Inst(Opcode::VectorAdd64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorAnd(const U128& a, const U128& b) { + return Inst(Opcode::VectorAnd, a, b); +} + +U128 IREmitter::VectorArithmeticShiftRight(size_t esize, const U128& a, u8 shift_amount) { + switch (esize) { + case 8: + return Inst(Opcode::VectorArithmeticShiftRight8, a, Imm8(shift_amount)); + case 16: + return Inst(Opcode::VectorArithmeticShiftRight16, a, Imm8(shift_amount)); + case 32: + return Inst(Opcode::VectorArithmeticShiftRight32, a, Imm8(shift_amount)); + case 64: + return Inst(Opcode::VectorArithmeticShiftRight64, a, Imm8(shift_amount)); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorArithmeticVShift(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorArithmeticVShift8, a, b); + case 16: + return Inst(Opcode::VectorArithmeticVShift16, a, b); + case 32: + return Inst(Opcode::VectorArithmeticVShift32, a, b); + case 64: + return Inst(Opcode::VectorArithmeticVShift64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorBroadcastLower(size_t esize, const UAny& a) { + switch (esize) { + case 8: + return Inst(Opcode::VectorBroadcastLower8, U8(a)); + case 16: + return Inst(Opcode::VectorBroadcastLower16, U16(a)); + case 32: + return Inst(Opcode::VectorBroadcastLower32, U32(a)); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorBroadcast(size_t esize, const UAny& a) { + switch (esize) { + case 8: + return Inst(Opcode::VectorBroadcast8, U8(a)); + case 16: + return Inst(Opcode::VectorBroadcast16, U16(a)); + case 32: + return Inst(Opcode::VectorBroadcast32, U32(a)); + case 64: + return Inst(Opcode::VectorBroadcast64, U64(a)); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorCountLeadingZeros(size_t esize, const U128& a) { + switch (esize) { + case 8: + return Inst(Opcode::VectorCountLeadingZeros8, a); + case 16: + return Inst(Opcode::VectorCountLeadingZeros16, a); + case 32: + return Inst(Opcode::VectorCountLeadingZeros32, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorDeinterleaveEven(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorDeinterleaveEven8, a, b); + case 16: + return Inst(Opcode::VectorDeinterleaveEven16, a, b); + case 32: + return Inst(Opcode::VectorDeinterleaveEven32, a, b); + case 64: + return Inst(Opcode::VectorDeinterleaveEven64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorDeinterleaveOdd(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorDeinterleaveOdd8, a, b); + case 16: + return Inst(Opcode::VectorDeinterleaveOdd16, a, b); + case 32: + return Inst(Opcode::VectorDeinterleaveOdd32, a, b); + case 64: + return Inst(Opcode::VectorDeinterleaveOdd64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorDeinterleaveEvenLower(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorDeinterleaveEvenLower8, a, b); + case 16: + return Inst(Opcode::VectorDeinterleaveEvenLower16, a, b); + case 32: + return Inst(Opcode::VectorDeinterleaveEvenLower32, a, b); + case 64: + return Inst(Opcode::VectorDeinterleaveEvenLower64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorDeinterleaveOddLower(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorDeinterleaveOddLower8, a, b); + case 16: + return Inst(Opcode::VectorDeinterleaveOddLower16, a, b); + case 32: + return Inst(Opcode::VectorDeinterleaveOddLower32, a, b); + case 64: + return Inst(Opcode::VectorDeinterleaveOddLower64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorEor(const U128& a, const U128& b) { + return Inst(Opcode::VectorEor, a, b); +} + +U128 IREmitter::VectorEqual(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorEqual8, a, b); + case 16: + return Inst(Opcode::VectorEqual16, a, b); + case 32: + return Inst(Opcode::VectorEqual32, a, b); + case 64: + return Inst(Opcode::VectorEqual64, a, b); + case 128: + return Inst(Opcode::VectorEqual128, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorExtract(const U128& a, const U128& b, size_t position) { + ASSERT(position <= 128); + return Inst(Opcode::VectorExtract, a, b, Imm8(static_cast(position))); +} + +U128 IREmitter::VectorExtractLower(const U128& a, const U128& b, size_t position) { + ASSERT(position <= 64); + return Inst(Opcode::VectorExtractLower, a, b, Imm8(static_cast(position))); +} + +U128 IREmitter::VectorGreaterSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorGreaterS8, a, b); + case 16: + return Inst(Opcode::VectorGreaterS16, a, b); + case 32: + return Inst(Opcode::VectorGreaterS32, a, b); + case 64: + return Inst(Opcode::VectorGreaterS64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorGreaterEqualSigned(size_t esize, const U128& a, const U128& b) { + return VectorOr(VectorGreaterSigned(esize, a, b), VectorEqual(esize, a, b)); +} + +U128 IREmitter::VectorGreaterEqualUnsigned(size_t esize, const U128& a, const U128& b) { + return VectorEqual(esize, VectorMaxUnsigned(esize, a, b), a); +} + +U128 IREmitter::VectorGreaterUnsigned(size_t esize, const U128& a, const U128& b) { + return VectorNot(VectorEqual(esize, VectorMinUnsigned(esize, a, b), a)); +} + +U128 IREmitter::VectorHalvingAddSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorHalvingAddS8, a, b); + case 16: + return Inst(Opcode::VectorHalvingAddS16, a, b); + case 32: + return Inst(Opcode::VectorHalvingAddS32, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorHalvingAddUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorHalvingAddU8, a, b); + case 16: + return Inst(Opcode::VectorHalvingAddU16, a, b); + case 32: + return Inst(Opcode::VectorHalvingAddU32, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorHalvingSubSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorHalvingSubS8, a, b); + case 16: + return Inst(Opcode::VectorHalvingSubS16, a, b); + case 32: + return Inst(Opcode::VectorHalvingSubS32, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorHalvingSubUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorHalvingSubU8, a, b); + case 16: + return Inst(Opcode::VectorHalvingSubU16, a, b); + case 32: + return Inst(Opcode::VectorHalvingSubU32, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorInterleaveLower(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorInterleaveLower8, a, b); + case 16: + return Inst(Opcode::VectorInterleaveLower16, a, b); + case 32: + return Inst(Opcode::VectorInterleaveLower32, a, b); + case 64: + return Inst(Opcode::VectorInterleaveLower64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorInterleaveUpper(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorInterleaveUpper8, a, b); + case 16: + return Inst(Opcode::VectorInterleaveUpper16, a, b); + case 32: + return Inst(Opcode::VectorInterleaveUpper32, a, b); + case 64: + return Inst(Opcode::VectorInterleaveUpper64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorLessEqualSigned(size_t esize, const U128& a, const U128& b) { + return VectorNot(VectorGreaterSigned(esize, a, b)); +} + +U128 IREmitter::VectorLessEqualUnsigned(size_t esize, const U128& a, const U128& b) { + return VectorEqual(esize, VectorMinUnsigned(esize, a, b), a); +} + +U128 IREmitter::VectorLessSigned(size_t esize, const U128& a, const U128& b) { + return VectorNot(VectorOr(VectorGreaterSigned(esize, a, b), VectorEqual(esize, a, b))); +} + +U128 IREmitter::VectorLessUnsigned(size_t esize, const U128& a, const U128& b) { + return VectorNot(VectorEqual(esize, VectorMaxUnsigned(esize, a, b), a)); +} + +U128 IREmitter::VectorLogicalShiftLeft(size_t esize, const U128& a, u8 shift_amount) { + switch (esize) { + case 8: + return Inst(Opcode::VectorLogicalShiftLeft8, a, Imm8(shift_amount)); + case 16: + return Inst(Opcode::VectorLogicalShiftLeft16, a, Imm8(shift_amount)); + case 32: + return Inst(Opcode::VectorLogicalShiftLeft32, a, Imm8(shift_amount)); + case 64: + return Inst(Opcode::VectorLogicalShiftLeft64, a, Imm8(shift_amount)); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorLogicalShiftRight(size_t esize, const U128& a, u8 shift_amount) { + switch (esize) { + case 8: + return Inst(Opcode::VectorLogicalShiftRight8, a, Imm8(shift_amount)); + case 16: + return Inst(Opcode::VectorLogicalShiftRight16, a, Imm8(shift_amount)); + case 32: + return Inst(Opcode::VectorLogicalShiftRight32, a, Imm8(shift_amount)); + case 64: + return Inst(Opcode::VectorLogicalShiftRight64, a, Imm8(shift_amount)); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorLogicalVShift(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorLogicalVShift8, a, b); + case 16: + return Inst(Opcode::VectorLogicalVShift16, a, b); + case 32: + return Inst(Opcode::VectorLogicalVShift32, a, b); + case 64: + return Inst(Opcode::VectorLogicalVShift64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorMaxSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorMaxS8, a, b); + case 16: + return Inst(Opcode::VectorMaxS16, a, b); + case 32: + return Inst(Opcode::VectorMaxS32, a, b); + case 64: + return Inst(Opcode::VectorMaxS64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorMaxUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorMaxU8, a, b); + case 16: + return Inst(Opcode::VectorMaxU16, a, b); + case 32: + return Inst(Opcode::VectorMaxU32, a, b); + case 64: + return Inst(Opcode::VectorMaxU64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorMinSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorMinS8, a, b); + case 16: + return Inst(Opcode::VectorMinS16, a, b); + case 32: + return Inst(Opcode::VectorMinS32, a, b); + case 64: + return Inst(Opcode::VectorMinS64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorMinUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorMinU8, a, b); + case 16: + return Inst(Opcode::VectorMinU16, a, b); + case 32: + return Inst(Opcode::VectorMinU32, a, b); + case 64: + return Inst(Opcode::VectorMinU64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorMultiply(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorMultiply8, a, b); + case 16: + return Inst(Opcode::VectorMultiply16, a, b); + case 32: + return Inst(Opcode::VectorMultiply32, a, b); + case 64: + return Inst(Opcode::VectorMultiply64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorNarrow(size_t original_esize, const U128& a) { + switch (original_esize) { + case 16: + return Inst(Opcode::VectorNarrow16, a); + case 32: + return Inst(Opcode::VectorNarrow32, a); + case 64: + return Inst(Opcode::VectorNarrow64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorNot(const U128& a) { + return Inst(Opcode::VectorNot, a); +} + +U128 IREmitter::VectorOr(const U128& a, const U128& b) { + return Inst(Opcode::VectorOr, a, b); +} + +U128 IREmitter::VectorPairedAdd(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorPairedAdd8, a, b); + case 16: + return Inst(Opcode::VectorPairedAdd16, a, b); + case 32: + return Inst(Opcode::VectorPairedAdd32, a, b); + case 64: + return Inst(Opcode::VectorPairedAdd64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorPairedAddLower(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorPairedAddLower8, a, b); + case 16: + return Inst(Opcode::VectorPairedAddLower16, a, b); + case 32: + return Inst(Opcode::VectorPairedAddLower32, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorPairedAddSignedWiden(size_t original_esize, const U128& a) { + switch (original_esize) { + case 8: + return Inst(Opcode::VectorPairedAddSignedWiden8, a); + case 16: + return Inst(Opcode::VectorPairedAddSignedWiden16, a); + case 32: + return Inst(Opcode::VectorPairedAddSignedWiden32, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorPairedAddUnsignedWiden(size_t original_esize, const U128& a) { + switch (original_esize) { + case 8: + return Inst(Opcode::VectorPairedAddUnsignedWiden8, a); + case 16: + return Inst(Opcode::VectorPairedAddUnsignedWiden16, a); + case 32: + return Inst(Opcode::VectorPairedAddUnsignedWiden32, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorPairedMaxSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorPairedMaxS8, a, b); + case 16: + return Inst(Opcode::VectorPairedMaxS16, a, b); + case 32: + return Inst(Opcode::VectorPairedMaxS32, a, b); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorPairedMaxUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorPairedMaxU8, a, b); + case 16: + return Inst(Opcode::VectorPairedMaxU16, a, b); + case 32: + return Inst(Opcode::VectorPairedMaxU32, a, b); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorPairedMinSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorPairedMinS8, a, b); + case 16: + return Inst(Opcode::VectorPairedMinS16, a, b); + case 32: + return Inst(Opcode::VectorPairedMinS32, a, b); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorPairedMinUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorPairedMinU8, a, b); + case 16: + return Inst(Opcode::VectorPairedMinU16, a, b); + case 32: + return Inst(Opcode::VectorPairedMinU32, a, b); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorPolynomialMultiply(const U128& a, const U128& b) { + return Inst(Opcode::VectorPolynomialMultiply8, a, b); +} + +U128 IREmitter::VectorPolynomialMultiplyLong(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorPolynomialMultiplyLong8, a, b); + case 64: + return Inst(Opcode::VectorPolynomialMultiplyLong64, a, b); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::VectorPopulationCount(const U128& a) { + return Inst(Opcode::VectorPopulationCount, a); +} + +U128 IREmitter::VectorReverseBits(const U128& a) { + return Inst(Opcode::VectorReverseBits, a); +} + +U128 IREmitter::VectorRotateLeft(size_t esize, const U128& a, u8 amount) { + ASSERT(amount < esize); + + if (amount == 0) { + return a; + } + + return VectorOr(VectorLogicalShiftLeft(esize, a, amount), + VectorLogicalShiftRight(esize, a, static_cast(esize - amount))); +} + +U128 IREmitter::VectorRotateRight(size_t esize, const U128& a, u8 amount) { + ASSERT(amount < esize); + + if (amount == 0) { + return a; + } + + return VectorOr(VectorLogicalShiftRight(esize, a, amount), + VectorLogicalShiftLeft(esize, a, static_cast(esize - amount))); +} + +U128 IREmitter::VectorRoundingHalvingAddSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorRoundingHalvingAddS8, a, b); + case 16: + return Inst(Opcode::VectorRoundingHalvingAddS16, a, b); + case 32: + return Inst(Opcode::VectorRoundingHalvingAddS32, a, b); + } + + UNREACHABLE(); +} + +U128 IREmitter::VectorRoundingHalvingAddUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorRoundingHalvingAddU8, a, b); + case 16: + return Inst(Opcode::VectorRoundingHalvingAddU16, a, b); + case 32: + return Inst(Opcode::VectorRoundingHalvingAddU32, a, b); + } + + UNREACHABLE(); +} + +U128 IREmitter::VectorRoundingShiftLeftSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorRoundingShiftLeftS8, a, b); + case 16: + return Inst(Opcode::VectorRoundingShiftLeftS16, a, b); + case 32: + return Inst(Opcode::VectorRoundingShiftLeftS32, a, b); + case 64: + return Inst(Opcode::VectorRoundingShiftLeftS64, a, b); + } + + UNREACHABLE(); +} + +U128 IREmitter::VectorRoundingShiftLeftUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorRoundingShiftLeftU8, a, b); + case 16: + return Inst(Opcode::VectorRoundingShiftLeftU16, a, b); + case 32: + return Inst(Opcode::VectorRoundingShiftLeftU32, a, b); + case 64: + return Inst(Opcode::VectorRoundingShiftLeftU64, a, b); + } + + UNREACHABLE(); +} + +U128 IREmitter::VectorShuffleHighHalfwords(const U128& a, u8 mask) { + return Inst(Opcode::VectorShuffleHighHalfwords, a, mask); +} + +U128 IREmitter::VectorShuffleLowHalfwords(const U128& a, u8 mask) { + return Inst(Opcode::VectorShuffleLowHalfwords, a, mask); +} + +U128 IREmitter::VectorShuffleWords(const U128& a, u8 mask) { + return Inst(Opcode::VectorShuffleWords, a, mask); +} + +U128 IREmitter::VectorSignExtend(size_t original_esize, const U128& a) { + switch (original_esize) { + case 8: + return Inst(Opcode::VectorSignExtend8, a); + case 16: + return Inst(Opcode::VectorSignExtend16, a); + case 32: + return Inst(Opcode::VectorSignExtend32, a); + case 64: + return Inst(Opcode::VectorSignExtend64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorSignedAbsoluteDifference(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSignedAbsoluteDifference8, a, b); + case 16: + return Inst(Opcode::VectorSignedAbsoluteDifference16, a, b); + case 32: + return Inst(Opcode::VectorSignedAbsoluteDifference32, a, b); + } + UNREACHABLE(); +} + +UpperAndLower IREmitter::VectorSignedMultiply(size_t esize, const U128& a, const U128& b) { + const Value multiply = [&] { + switch (esize) { + case 16: + return Inst(Opcode::VectorSignedMultiply16, a, b); + case 32: + return Inst(Opcode::VectorSignedMultiply32, a, b); + } + UNREACHABLE(); + }(); + + return { + Inst(Opcode::GetUpperFromOp, multiply), + Inst(Opcode::GetLowerFromOp, multiply), + }; +} + +U128 IREmitter::VectorSignedSaturatedAbs(size_t esize, const U128& a) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSignedSaturatedAbs8, a); + case 16: + return Inst(Opcode::VectorSignedSaturatedAbs16, a); + case 32: + return Inst(Opcode::VectorSignedSaturatedAbs32, a); + case 64: + return Inst(Opcode::VectorSignedSaturatedAbs64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorSignedSaturatedAccumulateUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSignedSaturatedAccumulateUnsigned8, a, b); + case 16: + return Inst(Opcode::VectorSignedSaturatedAccumulateUnsigned16, a, b); + case 32: + return Inst(Opcode::VectorSignedSaturatedAccumulateUnsigned32, a, b); + case 64: + return Inst(Opcode::VectorSignedSaturatedAccumulateUnsigned64, a, b); + } + UNREACHABLE(); +} + +UpperAndLower IREmitter::VectorSignedSaturatedDoublingMultiply(size_t esize, const U128& a, const U128& b) { + const Value multiply = [&] { + switch (esize) { + case 16: + return Inst(Opcode::VectorSignedSaturatedDoublingMultiply16, a, b); + case 32: + return Inst(Opcode::VectorSignedSaturatedDoublingMultiply32, a, b); + default: + UNREACHABLE(); + } + }(); + + return { + Inst(Opcode::GetUpperFromOp, multiply), + Inst(Opcode::GetLowerFromOp, multiply), + }; +} + +U128 IREmitter::VectorSignedSaturatedDoublingMultiplyLong(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 16: + return Inst(Opcode::VectorSignedSaturatedDoublingMultiplyLong16, a, b); + case 32: + return Inst(Opcode::VectorSignedSaturatedDoublingMultiplyLong32, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorSignedSaturatedNarrowToSigned(size_t original_esize, const U128& a) { + switch (original_esize) { + case 16: + return Inst(Opcode::VectorSignedSaturatedNarrowToSigned16, a); + case 32: + return Inst(Opcode::VectorSignedSaturatedNarrowToSigned32, a); + case 64: + return Inst(Opcode::VectorSignedSaturatedNarrowToSigned64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorSignedSaturatedNarrowToUnsigned(size_t original_esize, const U128& a) { + switch (original_esize) { + case 16: + return Inst(Opcode::VectorSignedSaturatedNarrowToUnsigned16, a); + case 32: + return Inst(Opcode::VectorSignedSaturatedNarrowToUnsigned32, a); + case 64: + return Inst(Opcode::VectorSignedSaturatedNarrowToUnsigned64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorSignedSaturatedNeg(size_t esize, const U128& a) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSignedSaturatedNeg8, a); + case 16: + return Inst(Opcode::VectorSignedSaturatedNeg16, a); + case 32: + return Inst(Opcode::VectorSignedSaturatedNeg32, a); + case 64: + return Inst(Opcode::VectorSignedSaturatedNeg64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorSignedSaturatedShiftLeft(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSignedSaturatedShiftLeft8, a, b); + case 16: + return Inst(Opcode::VectorSignedSaturatedShiftLeft16, a, b); + case 32: + return Inst(Opcode::VectorSignedSaturatedShiftLeft32, a, b); + case 64: + return Inst(Opcode::VectorSignedSaturatedShiftLeft64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorSignedSaturatedShiftLeftUnsigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSignedSaturatedShiftLeftUnsigned8, a, b); + case 16: + return Inst(Opcode::VectorSignedSaturatedShiftLeftUnsigned16, a, b); + case 32: + return Inst(Opcode::VectorSignedSaturatedShiftLeftUnsigned32, a, b); + case 64: + return Inst(Opcode::VectorSignedSaturatedShiftLeftUnsigned64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorSub(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorSub8, a, b); + case 16: + return Inst(Opcode::VectorSub16, a, b); + case 32: + return Inst(Opcode::VectorSub32, a, b); + case 64: + return Inst(Opcode::VectorSub64, a, b); + } + UNREACHABLE(); +} + +Table IREmitter::VectorTable(std::vector values) { + ASSERT(values.size() >= 1 && values.size() <= 4); + values.resize(4); + return Inst(Opcode::VectorTable, values[0], values[1], values[2], values[3]); +} + +Table IREmitter::VectorTable(std::vector values) { + ASSERT(values.size() >= 1 && values.size() <= 4); + values.resize(4); + return Inst
(Opcode::VectorTable, values[0], values[1], values[2], values[3]); +} + +U64 IREmitter::VectorTableLookup(const U64& defaults, const Table& table, const U64& indices) { + ASSERT(table.GetInst()->GetArg(0).GetType() == Type::U64); + return Inst(Opcode::VectorTableLookup64, defaults, table, indices); +} + +U128 IREmitter::VectorTableLookup(const U128& defaults, const Table& table, const U128& indices) { + ASSERT(table.GetInst()->GetArg(0).GetType() == Type::U128); + return Inst(Opcode::VectorTableLookup128, defaults, table, indices); +} + +U128 IREmitter::VectorTranspose(size_t esize, const U128& a, const U128& b, bool part) { + switch (esize) { + case 8: + return Inst(Opcode::VectorTranspose8, a, b, Imm1(part)); + case 16: + return Inst(Opcode::VectorTranspose16, a, b, Imm1(part)); + case 32: + return Inst(Opcode::VectorTranspose32, a, b, Imm1(part)); + case 64: + return Inst(Opcode::VectorTranspose64, a, b, Imm1(part)); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorUnsignedAbsoluteDifference(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorUnsignedAbsoluteDifference8, a, b); + case 16: + return Inst(Opcode::VectorUnsignedAbsoluteDifference16, a, b); + case 32: + return Inst(Opcode::VectorUnsignedAbsoluteDifference32, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorUnsignedRecipEstimate(const U128& a) { + return Inst(Opcode::VectorUnsignedRecipEstimate, a); +} + +U128 IREmitter::VectorUnsignedRecipSqrtEstimate(const U128& a) { + return Inst(Opcode::VectorUnsignedRecipSqrtEstimate, a); +} + +U128 IREmitter::VectorUnsignedSaturatedAccumulateSigned(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorUnsignedSaturatedAccumulateSigned8, a, b); + case 16: + return Inst(Opcode::VectorUnsignedSaturatedAccumulateSigned16, a, b); + case 32: + return Inst(Opcode::VectorUnsignedSaturatedAccumulateSigned32, a, b); + case 64: + return Inst(Opcode::VectorUnsignedSaturatedAccumulateSigned64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorUnsignedSaturatedNarrow(size_t esize, const U128& a) { + switch (esize) { + case 16: + return Inst(Opcode::VectorUnsignedSaturatedNarrow16, a); + case 32: + return Inst(Opcode::VectorUnsignedSaturatedNarrow32, a); + case 64: + return Inst(Opcode::VectorUnsignedSaturatedNarrow64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorUnsignedSaturatedShiftLeft(size_t esize, const U128& a, const U128& b) { + switch (esize) { + case 8: + return Inst(Opcode::VectorUnsignedSaturatedShiftLeft8, a, b); + case 16: + return Inst(Opcode::VectorUnsignedSaturatedShiftLeft16, a, b); + case 32: + return Inst(Opcode::VectorUnsignedSaturatedShiftLeft32, a, b); + case 64: + return Inst(Opcode::VectorUnsignedSaturatedShiftLeft64, a, b); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorZeroExtend(size_t original_esize, const U128& a) { + switch (original_esize) { + case 8: + return Inst(Opcode::VectorZeroExtend8, a); + case 16: + return Inst(Opcode::VectorZeroExtend16, a); + case 32: + return Inst(Opcode::VectorZeroExtend32, a); + case 64: + return Inst(Opcode::VectorZeroExtend64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::VectorZeroUpper(const U128& a) { + return Inst(Opcode::VectorZeroUpper, a); +} + +U128 IREmitter::ZeroVector() { + return Inst(Opcode::ZeroVector); +} + +U16U32U64 IREmitter::FPAbs(const U16U32U64& a) { + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPAbs16, a); + case Type::U32: + return Inst(Opcode::FPAbs32, a); + case Type::U64: + return Inst(Opcode::FPAbs64, a); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPAdd(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPAdd32, a, b); + case Type::U64: + return Inst(Opcode::FPAdd64, a, b); + default: + UNREACHABLE(); + } +} + +NZCV IREmitter::FPCompare(const U32U64& a, const U32U64& b, bool exc_on_qnan) { + ASSERT(a.GetType() == b.GetType()); + + const IR::U1 exc_on_qnan_imm = Imm1(exc_on_qnan); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPCompare32, a, b, exc_on_qnan_imm); + case Type::U64: + return Inst(Opcode::FPCompare64, a, b, exc_on_qnan_imm); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPDiv(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPDiv32, a, b); + case Type::U64: + return Inst(Opcode::FPDiv64, a, b); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPMax(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPMax32, a, b); + case Type::U64: + return Inst(Opcode::FPMax64, a, b); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPMaxNumeric(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPMaxNumeric32, a, b); + case Type::U64: + return Inst(Opcode::FPMaxNumeric64, a, b); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPMin(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPMin32, a, b); + case Type::U64: + return Inst(Opcode::FPMin64, a, b); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPMinNumeric(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPMinNumeric32, a, b); + case Type::U64: + return Inst(Opcode::FPMinNumeric64, a, b); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPMul(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPMul32, a, b); + case Type::U64: + return Inst(Opcode::FPMul64, a, b); + default: + UNREACHABLE(); + } +} + +U16U32U64 IREmitter::FPMulAdd(const U16U32U64& a, const U16U32U64& b, const U16U32U64& c) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPMulAdd16, a, b, c); + case Type::U32: + return Inst(Opcode::FPMulAdd32, a, b, c); + case Type::U64: + return Inst(Opcode::FPMulAdd64, a, b, c); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPMulX(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPMulX32, a, b); + case Type::U64: + return Inst(Opcode::FPMulX64, a, b); + default: + UNREACHABLE(); + } +} + +U16U32U64 IREmitter::FPNeg(const U16U32U64& a) { + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPNeg16, a); + case Type::U32: + return Inst(Opcode::FPNeg32, a); + case Type::U64: + return Inst(Opcode::FPNeg64, a); + default: + UNREACHABLE(); + } +} + +U16U32U64 IREmitter::FPRecipEstimate(const U16U32U64& a) { + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPRecipEstimate16, a); + case Type::U32: + return Inst(Opcode::FPRecipEstimate32, a); + case Type::U64: + return Inst(Opcode::FPRecipEstimate64, a); + default: + UNREACHABLE(); + } +} + +U16U32U64 IREmitter::FPRecipExponent(const U16U32U64& a) { + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPRecipExponent16, a); + case Type::U32: + return Inst(Opcode::FPRecipExponent32, a); + case Type::U64: + return Inst(Opcode::FPRecipExponent64, a); + default: + UNREACHABLE(); + } +} + +U16U32U64 IREmitter::FPRecipStepFused(const U16U32U64& a, const U16U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPRecipStepFused16, a, b); + case Type::U32: + return Inst(Opcode::FPRecipStepFused32, a, b); + case Type::U64: + return Inst(Opcode::FPRecipStepFused64, a, b); + default: + UNREACHABLE(); + } +} + +U16U32U64 IREmitter::FPRoundInt(const U16U32U64& a, FP::RoundingMode rounding, bool exact) { + const u8 rounding_value = static_cast(rounding); + const IR::U1 exact_imm = Imm1(exact); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPRoundInt16, a, rounding_value, exact_imm); + case Type::U32: + return Inst(Opcode::FPRoundInt32, a, rounding_value, exact_imm); + case Type::U64: + return Inst(Opcode::FPRoundInt64, a, rounding_value, exact_imm); + default: + UNREACHABLE(); + } +} + +U16U32U64 IREmitter::FPRSqrtEstimate(const U16U32U64& a) { + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPRSqrtEstimate16, a); + case Type::U32: + return Inst(Opcode::FPRSqrtEstimate32, a); + case Type::U64: + return Inst(Opcode::FPRSqrtEstimate64, a); + default: + UNREACHABLE(); + } +} + +U16U32U64 IREmitter::FPRSqrtStepFused(const U16U32U64& a, const U16U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPRSqrtStepFused16, a, b); + case Type::U32: + return Inst(Opcode::FPRSqrtStepFused32, a, b); + case Type::U64: + return Inst(Opcode::FPRSqrtStepFused64, a, b); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPSqrt(const U32U64& a) { + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPSqrt32, a); + case Type::U64: + return Inst(Opcode::FPSqrt64, a); + default: + UNREACHABLE(); + } +} + +U32U64 IREmitter::FPSub(const U32U64& a, const U32U64& b) { + ASSERT(a.GetType() == b.GetType()); + + switch (a.GetType()) { + case Type::U32: + return Inst(Opcode::FPSub32, a, b); + case Type::U64: + return Inst(Opcode::FPSub64, a, b); + default: + UNREACHABLE(); + } +} + +U16 IREmitter::FPDoubleToHalf(const U64& a, FP::RoundingMode rounding) { + return Inst(Opcode::FPDoubleToHalf, a, Imm8(static_cast(rounding))); +} + +U32 IREmitter::FPDoubleToSingle(const U64& a, FP::RoundingMode rounding) { + return Inst(Opcode::FPDoubleToSingle, a, Imm8(static_cast(rounding))); +} + +U64 IREmitter::FPHalfToDouble(const U16& a, FP::RoundingMode rounding) { + return Inst(Opcode::FPHalfToDouble, a, Imm8(static_cast(rounding))); +} + +U32 IREmitter::FPHalfToSingle(const U16& a, FP::RoundingMode rounding) { + return Inst(Opcode::FPHalfToSingle, a, Imm8(static_cast(rounding))); +} + +U64 IREmitter::FPSingleToDouble(const U32& a, FP::RoundingMode rounding) { + return Inst(Opcode::FPSingleToDouble, a, Imm8(static_cast(rounding))); +} + +U16 IREmitter::FPSingleToHalf(const U32& a, FP::RoundingMode rounding) { + return Inst(Opcode::FPSingleToHalf, a, Imm8(static_cast(rounding))); +} + +U16 IREmitter::FPToFixedS16(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= 16); + + const U8 fbits_imm = Imm8(static_cast(fbits)); + const U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPHalfToFixedS16, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPSingleToFixedS16, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPDoubleToFixedS16, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U32 IREmitter::FPToFixedS32(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= 32); + + const U8 fbits_imm = Imm8(static_cast(fbits)); + const U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPHalfToFixedS32, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPSingleToFixedS32, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPDoubleToFixedS32, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U64 IREmitter::FPToFixedS64(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= 64); + + const U8 fbits_imm = Imm8(static_cast(fbits)); + const U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPHalfToFixedS64, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPSingleToFixedS64, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPDoubleToFixedS64, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U16 IREmitter::FPToFixedU16(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= 16); + + const U8 fbits_imm = Imm8(static_cast(fbits)); + const U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPHalfToFixedU16, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPSingleToFixedU16, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPDoubleToFixedU16, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U32 IREmitter::FPToFixedU32(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= 32); + + const U8 fbits_imm = Imm8(static_cast(fbits)); + const U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPHalfToFixedU32, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPSingleToFixedU32, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPDoubleToFixedU32, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U64 IREmitter::FPToFixedU64(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= 64); + + const U8 fbits_imm = Imm8(static_cast(fbits)); + const U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPHalfToFixedU64, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPSingleToFixedU64, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPDoubleToFixedU64, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U32 IREmitter::FPSignedFixedToSingle(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= (a.GetType() == Type::U16 ? 16 : (a.GetType() == Type::U32 ? 32 : 64))); + + const IR::U8 fbits_imm = Imm8(static_cast(fbits)); + const IR::U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPFixedS16ToSingle, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPFixedS32ToSingle, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPFixedS64ToSingle, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U32 IREmitter::FPUnsignedFixedToSingle(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= (a.GetType() == Type::U16 ? 16 : (a.GetType() == Type::U32 ? 32 : 64))); + + const IR::U8 fbits_imm = Imm8(static_cast(fbits)); + const IR::U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPFixedU16ToSingle, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPFixedU32ToSingle, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPFixedU64ToSingle, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U64 IREmitter::FPSignedFixedToDouble(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= (a.GetType() == Type::U16 ? 16 : (a.GetType() == Type::U32 ? 32 : 64))); + + const IR::U8 fbits_imm = Imm8(static_cast(fbits)); + const IR::U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPFixedS16ToDouble, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPFixedS32ToDouble, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPFixedS64ToDouble, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U64 IREmitter::FPUnsignedFixedToDouble(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding) { + ASSERT(fbits <= (a.GetType() == Type::U16 ? 16 : (a.GetType() == Type::U32 ? 32 : 64))); + + const IR::U8 fbits_imm = Imm8(static_cast(fbits)); + const IR::U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (a.GetType()) { + case Type::U16: + return Inst(Opcode::FPFixedU16ToDouble, a, fbits_imm, rounding_imm); + case Type::U32: + return Inst(Opcode::FPFixedU32ToDouble, a, fbits_imm, rounding_imm); + case Type::U64: + return Inst(Opcode::FPFixedU64ToDouble, a, fbits_imm, rounding_imm); + default: + UNREACHABLE(); + } +} + +U128 IREmitter::FPVectorAbs(size_t esize, const U128& a) { + switch (esize) { + case 16: + return Inst(Opcode::FPVectorAbs16, a); + case 32: + return Inst(Opcode::FPVectorAbs32, a); + case 64: + return Inst(Opcode::FPVectorAbs64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorAdd(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorAdd32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorAdd64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorDiv(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorDiv32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorDiv64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorEqual(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 16: + return Inst(Opcode::FPVectorEqual16, a, b, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorEqual32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorEqual64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorFromSignedFixed(size_t esize, const U128& a, size_t fbits, FP::RoundingMode rounding, bool fpcr_controlled) { + ASSERT(fbits <= esize); + switch (esize) { + case 32: + return Inst(Opcode::FPVectorFromSignedFixed32, a, Imm8(static_cast(fbits)), Imm8(static_cast(rounding)), Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorFromSignedFixed64, a, Imm8(static_cast(fbits)), Imm8(static_cast(rounding)), Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorFromUnsignedFixed(size_t esize, const U128& a, size_t fbits, FP::RoundingMode rounding, bool fpcr_controlled) { + ASSERT(fbits <= esize); + switch (esize) { + case 32: + return Inst(Opcode::FPVectorFromUnsignedFixed32, a, Imm8(static_cast(fbits)), Imm8(static_cast(rounding)), Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorFromUnsignedFixed64, a, Imm8(static_cast(fbits)), Imm8(static_cast(rounding)), Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorGreater(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorGreater32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorGreater64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorGreaterEqual(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorGreaterEqual32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorGreaterEqual64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorMax(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorMax32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorMax64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorMin(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorMin32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorMin64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorMul(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorMul32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorMul64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorMulAdd(size_t esize, const U128& a, const U128& b, const U128& c, bool fpcr_controlled) { + switch (esize) { + case 16: + return Inst(Opcode::FPVectorMulAdd16, a, b, c, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorMulAdd32, a, b, c, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorMulAdd64, a, b, c, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorMulX(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorMulX32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorMulX64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorNeg(size_t esize, const U128& a) { + switch (esize) { + case 16: + return Inst(Opcode::FPVectorNeg16, a); + case 32: + return Inst(Opcode::FPVectorNeg32, a); + case 64: + return Inst(Opcode::FPVectorNeg64, a); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorPairedAdd(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorPairedAdd32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorPairedAdd64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorPairedAddLower(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorPairedAddLower32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorPairedAddLower64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorRecipEstimate(size_t esize, const U128& a, bool fpcr_controlled) { + switch (esize) { + case 16: + return Inst(Opcode::FPVectorRecipEstimate16, a, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorRecipEstimate32, a, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorRecipEstimate64, a, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorRecipStepFused(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 16: + return Inst(Opcode::FPVectorRecipStepFused16, a, b, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorRecipStepFused32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorRecipStepFused64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorRoundInt(size_t esize, const U128& operand, FP::RoundingMode rounding, bool exact, bool fpcr_controlled) { + const IR::U8 rounding_imm = Imm8(static_cast(rounding)); + const IR::U1 exact_imm = Imm1(exact); + + switch (esize) { + case 16: + return Inst(Opcode::FPVectorRoundInt16, operand, rounding_imm, exact_imm, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorRoundInt32, operand, rounding_imm, exact_imm, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorRoundInt64, operand, rounding_imm, exact_imm, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorRSqrtEstimate(size_t esize, const U128& a, bool fpcr_controlled) { + switch (esize) { + case 16: + return Inst(Opcode::FPVectorRSqrtEstimate16, a, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorRSqrtEstimate32, a, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorRSqrtEstimate64, a, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorRSqrtStepFused(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 16: + return Inst(Opcode::FPVectorRSqrtStepFused16, a, b, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorRSqrtStepFused32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorRSqrtStepFused64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorSqrt(size_t esize, const U128& a, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorSqrt32, a, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorSqrt64, a, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorSub(size_t esize, const U128& a, const U128& b, bool fpcr_controlled) { + switch (esize) { + case 32: + return Inst(Opcode::FPVectorSub32, a, b, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorSub64, a, b, Imm1(fpcr_controlled)); + } + UNREACHABLE(); +} + +U128 IREmitter::FPVectorToSignedFixed(size_t esize, const U128& a, size_t fbits, FP::RoundingMode rounding, bool fpcr_controlled) { + ASSERT(fbits <= esize); + + const U8 fbits_imm = Imm8(static_cast(fbits)); + const U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (esize) { + case 16: + return Inst(Opcode::FPVectorToSignedFixed16, a, fbits_imm, rounding_imm, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorToSignedFixed32, a, fbits_imm, rounding_imm, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorToSignedFixed64, a, fbits_imm, rounding_imm, Imm1(fpcr_controlled)); + } + + UNREACHABLE(); +} + +U128 IREmitter::FPVectorToUnsignedFixed(size_t esize, const U128& a, size_t fbits, FP::RoundingMode rounding, bool fpcr_controlled) { + ASSERT(fbits <= esize); + + const U8 fbits_imm = Imm8(static_cast(fbits)); + const U8 rounding_imm = Imm8(static_cast(rounding)); + + switch (esize) { + case 16: + return Inst(Opcode::FPVectorToUnsignedFixed16, a, fbits_imm, rounding_imm, Imm1(fpcr_controlled)); + case 32: + return Inst(Opcode::FPVectorToUnsignedFixed32, a, fbits_imm, rounding_imm, Imm1(fpcr_controlled)); + case 64: + return Inst(Opcode::FPVectorToUnsignedFixed64, a, fbits_imm, rounding_imm, Imm1(fpcr_controlled)); + } + + UNREACHABLE(); +} + +void IREmitter::Breakpoint() { + Inst(Opcode::Breakpoint); +} + +void IREmitter::CallHostFunction(void (*fn)(void)) { + Inst(Opcode::CallHostFunction, Imm64(Common::BitCast(fn))); +} + +void IREmitter::CallHostFunction(void (*fn)(u64), const U64& arg1) { + Inst(Opcode::CallHostFunction, Imm64(Common::BitCast(fn)), arg1); +} + +void IREmitter::CallHostFunction(void (*fn)(u64, u64), const U64& arg1, const U64& arg2) { + Inst(Opcode::CallHostFunction, Imm64(Common::BitCast(fn)), arg1, arg2); +} + +void IREmitter::CallHostFunction(void (*fn)(u64, u64, u64), const U64& arg1, const U64& arg2, const U64& arg3) { + Inst(Opcode::CallHostFunction, Imm64(Common::BitCast(fn)), arg1, arg2, arg3); +} + +void IREmitter::SetTerm(const Terminal& terminal) { + block.SetTerminal(terminal); +} + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/ir_emitter.h b/externals/dynarmic/src/dynarmic/ir/ir_emitter.h new file mode 100755 index 000000000..db5421365 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/ir_emitter.h @@ -0,0 +1,421 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/location_descriptor.h" +#include "dynarmic/ir/terminal.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::FP { +enum class RoundingMode; +} // namespace Dynarmic::FP + +// ARM JIT Microinstruction Intermediate Representation +// +// This intermediate representation is an SSA IR. It is designed primarily for analysis, +// though it can be lowered into a reduced form for interpretation. Each IR node (Value) +// is a microinstruction of an idealised ARM CPU. The choice of microinstructions is made +// not based on any existing microarchitecture but on ease of implementation. + +namespace Dynarmic::IR { + +enum class Opcode; + +template +struct ResultAndCarry { + T result; + U1 carry; +}; + +template +struct ResultAndOverflow { + T result; + U1 overflow; +}; + +template +struct ResultAndCarryAndOverflow { + T result; + U1 carry; + U1 overflow; +}; + +template +struct ResultAndGE { + T result; + U32 ge; +}; + +struct UpperAndLower { + U128 upper; + U128 lower; +}; + +enum class AccType { + NORMAL, + VEC, + STREAM, + VECSTREAM, + ATOMIC, + ORDERED, + ORDEREDRW, + LIMITEDORDERED, + UNPRIV, + IFETCH, + PTW, + DC, + IC, + DCZVA, + AT, +}; + +enum class MemOp { + LOAD, + STORE, + PREFETCH, +}; + +/** + * Convenience class to construct a basic block of the intermediate representation. + * `block` is the resulting block. + * The user of this class updates `current_location` as appropriate. + */ +class IREmitter { +public: + explicit IREmitter(Block& block) + : block(block), insertion_point(block.end()) {} + + Block& block; + + U1 Imm1(bool value) const; + U8 Imm8(u8 value) const; + U16 Imm16(u16 value) const; + U32 Imm32(u32 value) const; + U64 Imm64(u64 value) const; + + void PushRSB(const LocationDescriptor& return_location); + + U64 Pack2x32To1x64(const U32& lo, const U32& hi); + U128 Pack2x64To1x128(const U64& lo, const U64& hi); + UAny LeastSignificant(size_t bitsize, const U32U64& value); + U32 LeastSignificantWord(const U64& value); + U16 LeastSignificantHalf(U32U64 value); + U8 LeastSignificantByte(U32U64 value); + ResultAndCarry MostSignificantWord(const U64& value); + U1 MostSignificantBit(const U32& value); + U1 IsZero(const U32& value); + U1 IsZero(const U64& value); + U1 IsZero(const U32U64& value); + U1 TestBit(const U32U64& value, const U8& bit); + U32 ConditionalSelect(Cond cond, const U32& a, const U32& b); + U64 ConditionalSelect(Cond cond, const U64& a, const U64& b); + NZCV ConditionalSelect(Cond cond, const NZCV& a, const NZCV& b); + U32U64 ConditionalSelect(Cond cond, const U32U64& a, const U32U64& b); + + NZCV NZCVFromPackedFlags(const U32& a); + // This pseudo-instruction may only be added to instructions that support it. + NZCV NZCVFrom(const Value& value); + + ResultAndCarry LogicalShiftLeft(const U32& value_in, const U8& shift_amount, const U1& carry_in); + ResultAndCarry LogicalShiftRight(const U32& value_in, const U8& shift_amount, const U1& carry_in); + ResultAndCarry ArithmeticShiftRight(const U32& value_in, const U8& shift_amount, const U1& carry_in); + ResultAndCarry RotateRight(const U32& value_in, const U8& shift_amount, const U1& carry_in); + U32U64 LogicalShiftLeft(const U32U64& value_in, const U8& shift_amount); + U32U64 LogicalShiftRight(const U32U64& value_in, const U8& shift_amount); + U32U64 ArithmeticShiftRight(const U32U64& value_in, const U8& shift_amount); + U32U64 RotateRight(const U32U64& value_in, const U8& shift_amount); + U32U64 LogicalShiftLeftMasked(const U32U64& value_in, const U32U64& shift_amount); + U32U64 LogicalShiftRightMasked(const U32U64& value_in, const U32U64& shift_amount); + U32U64 ArithmeticShiftRightMasked(const U32U64& value_in, const U32U64& shift_amount); + U32U64 RotateRightMasked(const U32U64& value_in, const U32U64& shift_amount); + ResultAndCarry RotateRightExtended(const U32& value_in, const U1& carry_in); + ResultAndCarryAndOverflow AddWithCarry(const U32& a, const U32& b, const U1& carry_in); + ResultAndCarryAndOverflow SubWithCarry(const U32& a, const U32& b, const U1& carry_in); + U32U64 AddWithCarry(const U32U64& a, const U32U64& b, const U1& carry_in); + U32U64 SubWithCarry(const U32U64& a, const U32U64& b, const U1& carry_in); + U32U64 Add(const U32U64& a, const U32U64& b); + U32U64 Sub(const U32U64& a, const U32U64& b); + U32U64 Mul(const U32U64& a, const U32U64& b); + U64 UnsignedMultiplyHigh(const U64& a, const U64& b); + U64 SignedMultiplyHigh(const U64& a, const U64& b); + U32U64 UnsignedDiv(const U32U64& a, const U32U64& b); + U32U64 SignedDiv(const U32U64& a, const U32U64& b); + U32U64 And(const U32U64& a, const U32U64& b); + U32U64 Eor(const U32U64& a, const U32U64& b); + U32U64 Or(const U32U64& a, const U32U64& b); + U32U64 Not(const U32U64& a); + U32 SignExtendToWord(const UAny& a); + U64 SignExtendToLong(const UAny& a); + U32 SignExtendByteToWord(const U8& a); + U32 SignExtendHalfToWord(const U16& a); + U64 SignExtendWordToLong(const U32& a); + U32 ZeroExtendToWord(const UAny& a); + U64 ZeroExtendToLong(const UAny& a); + U128 ZeroExtendToQuad(const UAny& a); + U32 ZeroExtendByteToWord(const U8& a); + U32 ZeroExtendHalfToWord(const U16& a); + U64 ZeroExtendWordToLong(const U32& a); + U32 IndeterminateExtendToWord(const UAny& a); + U64 IndeterminateExtendToLong(const UAny& a); + U32 ByteReverseWord(const U32& a); + U16 ByteReverseHalf(const U16& a); + U64 ByteReverseDual(const U64& a); + U32U64 CountLeadingZeros(const U32U64& a); + U32U64 ExtractRegister(const U32U64& a, const U32U64& b, const U8& lsb); + U32U64 ReplicateBit(const U32U64& a, u8 bit); + U32U64 MaxSigned(const U32U64& a, const U32U64& b); + U32U64 MaxUnsigned(const U32U64& a, const U32U64& b); + U32U64 MinSigned(const U32U64& a, const U32U64& b); + U32U64 MinUnsigned(const U32U64& a, const U32U64& b); + + ResultAndOverflow SignedSaturatedAdd(const UAny& a, const UAny& b); + ResultAndOverflow SignedSaturatedDoublingMultiplyReturnHigh(const UAny& a, const UAny& b); + ResultAndOverflow SignedSaturatedSub(const UAny& a, const UAny& b); + ResultAndOverflow SignedSaturation(const U32& a, size_t bit_size_to_saturate_to); + ResultAndOverflow UnsignedSaturatedAdd(const UAny& a, const UAny& b); + ResultAndOverflow UnsignedSaturatedSub(const UAny& a, const UAny& b); + ResultAndOverflow UnsignedSaturation(const U32& a, size_t bit_size_to_saturate_to); + + U128 VectorSignedSaturatedAdd(size_t esize, const U128& a, const U128& b); + U128 VectorSignedSaturatedSub(size_t esize, const U128& a, const U128& b); + U128 VectorUnsignedSaturatedAdd(size_t esize, const U128& a, const U128& b); + U128 VectorUnsignedSaturatedSub(size_t esize, const U128& a, const U128& b); + + ResultAndGE PackedAddU8(const U32& a, const U32& b); + ResultAndGE PackedAddS8(const U32& a, const U32& b); + ResultAndGE PackedAddU16(const U32& a, const U32& b); + ResultAndGE PackedAddS16(const U32& a, const U32& b); + ResultAndGE PackedSubU8(const U32& a, const U32& b); + ResultAndGE PackedSubS8(const U32& a, const U32& b); + ResultAndGE PackedSubU16(const U32& a, const U32& b); + ResultAndGE PackedSubS16(const U32& a, const U32& b); + ResultAndGE PackedAddSubU16(const U32& a, const U32& b); + ResultAndGE PackedAddSubS16(const U32& a, const U32& b); + ResultAndGE PackedSubAddU16(const U32& a, const U32& b); + ResultAndGE PackedSubAddS16(const U32& a, const U32& b); + U32 PackedHalvingAddU8(const U32& a, const U32& b); + U32 PackedHalvingAddS8(const U32& a, const U32& b); + U32 PackedHalvingSubU8(const U32& a, const U32& b); + U32 PackedHalvingSubS8(const U32& a, const U32& b); + U32 PackedHalvingAddU16(const U32& a, const U32& b); + U32 PackedHalvingAddS16(const U32& a, const U32& b); + U32 PackedHalvingSubU16(const U32& a, const U32& b); + U32 PackedHalvingSubS16(const U32& a, const U32& b); + U32 PackedHalvingAddSubU16(const U32& a, const U32& b); + U32 PackedHalvingAddSubS16(const U32& a, const U32& b); + U32 PackedHalvingSubAddU16(const U32& a, const U32& b); + U32 PackedHalvingSubAddS16(const U32& a, const U32& b); + U32 PackedSaturatedAddU8(const U32& a, const U32& b); + U32 PackedSaturatedAddS8(const U32& a, const U32& b); + U32 PackedSaturatedSubU8(const U32& a, const U32& b); + U32 PackedSaturatedSubS8(const U32& a, const U32& b); + U32 PackedSaturatedAddU16(const U32& a, const U32& b); + U32 PackedSaturatedAddS16(const U32& a, const U32& b); + U32 PackedSaturatedSubU16(const U32& a, const U32& b); + U32 PackedSaturatedSubS16(const U32& a, const U32& b); + U32 PackedAbsDiffSumS8(const U32& a, const U32& b); + U32 PackedSelect(const U32& ge, const U32& a, const U32& b); + + U32 CRC32Castagnoli8(const U32& a, const U32& b); + U32 CRC32Castagnoli16(const U32& a, const U32& b); + U32 CRC32Castagnoli32(const U32& a, const U32& b); + U32 CRC32Castagnoli64(const U32& a, const U64& b); + U32 CRC32ISO8(const U32& a, const U32& b); + U32 CRC32ISO16(const U32& a, const U32& b); + U32 CRC32ISO32(const U32& a, const U32& b); + U32 CRC32ISO64(const U32& a, const U64& b); + + U128 AESDecryptSingleRound(const U128& a); + U128 AESEncryptSingleRound(const U128& a); + U128 AESInverseMixColumns(const U128& a); + U128 AESMixColumns(const U128& a); + + U8 SM4AccessSubstitutionBox(const U8& a); + + UAny VectorGetElement(size_t esize, const U128& a, size_t index); + U128 VectorSetElement(size_t esize, const U128& a, size_t index, const UAny& elem); + U128 VectorAbs(size_t esize, const U128& a); + U128 VectorAdd(size_t esize, const U128& a, const U128& b); + U128 VectorAnd(const U128& a, const U128& b); + U128 VectorArithmeticShiftRight(size_t esize, const U128& a, u8 shift_amount); + U128 VectorArithmeticVShift(size_t esize, const U128& a, const U128& b); + U128 VectorBroadcast(size_t esize, const UAny& a); + U128 VectorBroadcastLower(size_t esize, const UAny& a); + U128 VectorCountLeadingZeros(size_t esize, const U128& a); + U128 VectorEor(const U128& a, const U128& b); + U128 VectorDeinterleaveEven(size_t esize, const U128& a, const U128& b); + U128 VectorDeinterleaveEvenLower(size_t esize, const U128& a, const U128& b); + U128 VectorDeinterleaveOdd(size_t esize, const U128& a, const U128& b); + U128 VectorDeinterleaveOddLower(size_t esize, const U128& a, const U128& b); + U128 VectorEqual(size_t esize, const U128& a, const U128& b); + U128 VectorExtract(const U128& a, const U128& b, size_t position); + U128 VectorExtractLower(const U128& a, const U128& b, size_t position); + U128 VectorGreaterEqualSigned(size_t esize, const U128& a, const U128& b); + U128 VectorGreaterEqualUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorGreaterSigned(size_t esize, const U128& a, const U128& b); + U128 VectorGreaterUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorHalvingAddSigned(size_t esize, const U128& a, const U128& b); + U128 VectorHalvingAddUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorHalvingSubSigned(size_t esize, const U128& a, const U128& b); + U128 VectorHalvingSubUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorInterleaveLower(size_t esize, const U128& a, const U128& b); + U128 VectorInterleaveUpper(size_t esize, const U128& a, const U128& b); + U128 VectorLessEqualSigned(size_t esize, const U128& a, const U128& b); + U128 VectorLessEqualUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorLessSigned(size_t esize, const U128& a, const U128& b); + U128 VectorLessUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorLogicalShiftLeft(size_t esize, const U128& a, u8 shift_amount); + U128 VectorLogicalShiftRight(size_t esize, const U128& a, u8 shift_amount); + U128 VectorLogicalVShift(size_t esize, const U128& a, const U128& b); + U128 VectorMaxSigned(size_t esize, const U128& a, const U128& b); + U128 VectorMaxUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorMinSigned(size_t esize, const U128& a, const U128& b); + U128 VectorMinUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorMultiply(size_t esize, const U128& a, const U128& b); + U128 VectorNarrow(size_t original_esize, const U128& a); + U128 VectorNot(const U128& a); + U128 VectorOr(const U128& a, const U128& b); + U128 VectorPairedAdd(size_t esize, const U128& a, const U128& b); + U128 VectorPairedAddLower(size_t esize, const U128& a, const U128& b); + U128 VectorPairedAddSignedWiden(size_t original_esize, const U128& a); + U128 VectorPairedAddUnsignedWiden(size_t original_esize, const U128& a); + U128 VectorPairedMaxSigned(size_t esize, const U128& a, const U128& b); + U128 VectorPairedMaxUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorPairedMinSigned(size_t esize, const U128& a, const U128& b); + U128 VectorPairedMinUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorPolynomialMultiply(const U128& a, const U128& b); + U128 VectorPolynomialMultiplyLong(size_t esize, const U128& a, const U128& b); + U128 VectorPopulationCount(const U128& a); + U128 VectorReverseBits(const U128& a); + U128 VectorRotateLeft(size_t esize, const U128& a, u8 amount); + U128 VectorRotateRight(size_t esize, const U128& a, u8 amount); + U128 VectorRoundingHalvingAddSigned(size_t esize, const U128& a, const U128& b); + U128 VectorRoundingHalvingAddUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorRoundingShiftLeftSigned(size_t esize, const U128& a, const U128& b); + U128 VectorRoundingShiftLeftUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorShuffleHighHalfwords(const U128& a, u8 mask); + U128 VectorShuffleLowHalfwords(const U128& a, u8 mask); + U128 VectorShuffleWords(const U128& a, u8 mask); + U128 VectorSignExtend(size_t original_esize, const U128& a); + U128 VectorSignedAbsoluteDifference(size_t esize, const U128& a, const U128& b); + UpperAndLower VectorSignedMultiply(size_t esize, const U128& a, const U128& b); + U128 VectorSignedSaturatedAbs(size_t esize, const U128& a); + U128 VectorSignedSaturatedAccumulateUnsigned(size_t esize, const U128& a, const U128& b); + UpperAndLower VectorSignedSaturatedDoublingMultiply(size_t esize, const U128& a, const U128& b); + U128 VectorSignedSaturatedDoublingMultiplyLong(size_t esize, const U128& a, const U128& b); + U128 VectorSignedSaturatedNarrowToSigned(size_t original_esize, const U128& a); + U128 VectorSignedSaturatedNarrowToUnsigned(size_t original_esize, const U128& a); + U128 VectorSignedSaturatedNeg(size_t esize, const U128& a); + U128 VectorSignedSaturatedShiftLeft(size_t esize, const U128& a, const U128& b); + U128 VectorSignedSaturatedShiftLeftUnsigned(size_t esize, const U128& a, const U128& b); + U128 VectorSub(size_t esize, const U128& a, const U128& b); + Table VectorTable(std::vector values); + Table VectorTable(std::vector values); + U64 VectorTableLookup(const U64& defaults, const Table& table, const U64& indices); + U128 VectorTableLookup(const U128& defaults, const Table& table, const U128& indices); + U128 VectorTranspose(size_t esize, const U128& a, const U128& b, bool part); + U128 VectorUnsignedAbsoluteDifference(size_t esize, const U128& a, const U128& b); + U128 VectorUnsignedRecipEstimate(const U128& a); + U128 VectorUnsignedRecipSqrtEstimate(const U128& a); + U128 VectorUnsignedSaturatedAccumulateSigned(size_t esize, const U128& a, const U128& b); + U128 VectorUnsignedSaturatedNarrow(size_t esize, const U128& a); + U128 VectorUnsignedSaturatedShiftLeft(size_t esize, const U128& a, const U128& b); + U128 VectorZeroExtend(size_t original_esize, const U128& a); + U128 VectorZeroUpper(const U128& a); + U128 ZeroVector(); + + U16U32U64 FPAbs(const U16U32U64& a); + U32U64 FPAdd(const U32U64& a, const U32U64& b); + NZCV FPCompare(const U32U64& a, const U32U64& b, bool exc_on_qnan); + U32U64 FPDiv(const U32U64& a, const U32U64& b); + U32U64 FPMax(const U32U64& a, const U32U64& b); + U32U64 FPMaxNumeric(const U32U64& a, const U32U64& b); + U32U64 FPMin(const U32U64& a, const U32U64& b); + U32U64 FPMinNumeric(const U32U64& a, const U32U64& b); + U32U64 FPMul(const U32U64& a, const U32U64& b); + U16U32U64 FPMulAdd(const U16U32U64& addend, const U16U32U64& op1, const U16U32U64& op2); + U32U64 FPMulX(const U32U64& a, const U32U64& b); + U16U32U64 FPNeg(const U16U32U64& a); + U16U32U64 FPRecipEstimate(const U16U32U64& a); + U16U32U64 FPRecipExponent(const U16U32U64& a); + U16U32U64 FPRecipStepFused(const U16U32U64& a, const U16U32U64& b); + U16U32U64 FPRoundInt(const U16U32U64& a, FP::RoundingMode rounding, bool exact); + U16U32U64 FPRSqrtEstimate(const U16U32U64& a); + U16U32U64 FPRSqrtStepFused(const U16U32U64& a, const U16U32U64& b); + U32U64 FPSqrt(const U32U64& a); + U32U64 FPSub(const U32U64& a, const U32U64& b); + U16 FPDoubleToHalf(const U64& a, FP::RoundingMode rounding); + U32 FPDoubleToSingle(const U64& a, FP::RoundingMode rounding); + U64 FPHalfToDouble(const U16& a, FP::RoundingMode rounding); + U32 FPHalfToSingle(const U16& a, FP::RoundingMode rounding); + U16 FPSingleToHalf(const U32& a, FP::RoundingMode rounding); + U64 FPSingleToDouble(const U32& a, FP::RoundingMode rounding); + U16 FPToFixedS16(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U32 FPToFixedS32(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U64 FPToFixedS64(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U16 FPToFixedU16(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U32 FPToFixedU32(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U64 FPToFixedU64(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U32 FPSignedFixedToSingle(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U32 FPUnsignedFixedToSingle(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U64 FPSignedFixedToDouble(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + U64 FPUnsignedFixedToDouble(const U16U32U64& a, size_t fbits, FP::RoundingMode rounding); + + U128 FPVectorAbs(size_t esize, const U128& a); + U128 FPVectorAdd(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorDiv(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorEqual(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorFromSignedFixed(size_t esize, const U128& a, size_t fbits, FP::RoundingMode rounding, bool fpcr_controlled = true); + U128 FPVectorFromUnsignedFixed(size_t esize, const U128& a, size_t fbits, FP::RoundingMode rounding, bool fpcr_controlled = true); + U128 FPVectorGreater(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorGreaterEqual(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorMax(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorMin(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorMul(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorMulAdd(size_t esize, const U128& addend, const U128& op1, const U128& op2, bool fpcr_controlled = true); + U128 FPVectorMulX(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorNeg(size_t esize, const U128& a); + U128 FPVectorPairedAdd(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorPairedAddLower(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorRecipEstimate(size_t esize, const U128& a, bool fpcr_controlled = true); + U128 FPVectorRecipStepFused(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorRoundInt(size_t esize, const U128& operand, FP::RoundingMode rounding, bool exact, bool fpcr_controlled = true); + U128 FPVectorRSqrtEstimate(size_t esize, const U128& a, bool fpcr_controlled = true); + U128 FPVectorRSqrtStepFused(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorSqrt(size_t esize, const U128& a, bool fpcr_controlled = true); + U128 FPVectorSub(size_t esize, const U128& a, const U128& b, bool fpcr_controlled = true); + U128 FPVectorToSignedFixed(size_t esize, const U128& a, size_t fbits, FP::RoundingMode rounding, bool fpcr_controlled = true); + U128 FPVectorToUnsignedFixed(size_t esize, const U128& a, size_t fbits, FP::RoundingMode rounding, bool fpcr_controlled = true); + + void Breakpoint(); + void CallHostFunction(void (*fn)(void)); + void CallHostFunction(void (*fn)(u64), const U64& arg1); + void CallHostFunction(void (*fn)(u64, u64), const U64& arg1, const U64& arg2); + void CallHostFunction(void (*fn)(u64, u64, u64), const U64& arg1, const U64& arg2, const U64& arg3); + + void SetTerm(const Terminal& terminal); + + void SetInsertionPoint(IR::Inst* new_insertion_point) { + insertion_point = IR::Block::iterator{*new_insertion_point}; + } + + void SetInsertionPoint(IR::Block::iterator new_insertion_point) { + insertion_point = new_insertion_point; + } + +protected: + IR::Block::iterator insertion_point; + + template + T Inst(Opcode op, Args... args) { + auto iter = block.PrependNewInst(insertion_point, op, {Value(args)...}); + return T(Value(&*iter)); + } +}; + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/location_descriptor.cpp b/externals/dynarmic/src/dynarmic/ir/location_descriptor.cpp new file mode 100755 index 000000000..19e67ea23 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/location_descriptor.cpp @@ -0,0 +1,19 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/ir/location_descriptor.h" + +#include + +#include + +namespace Dynarmic::IR { + +std::ostream& operator<<(std::ostream& o, const LocationDescriptor& descriptor) { + o << fmt::format("{{{:016x}}}", descriptor.Value()); + return o; +} + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/location_descriptor.h b/externals/dynarmic/src/dynarmic/ir/location_descriptor.h new file mode 100755 index 000000000..cd47b80b2 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/location_descriptor.h @@ -0,0 +1,55 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::IR { + +class LocationDescriptor { +public: + explicit LocationDescriptor(u64 value) + : value(value) {} + + bool operator==(const LocationDescriptor& o) const { + return value == o.Value(); + } + + bool operator!=(const LocationDescriptor& o) const { + return !operator==(o); + } + + u64 Value() const { return value; } + +private: + u64 value; +}; + +std::ostream& operator<<(std::ostream& o, const LocationDescriptor& descriptor); + +inline bool operator<(const LocationDescriptor& x, const LocationDescriptor& y) noexcept { + return x.Value() < y.Value(); +} + +} // namespace Dynarmic::IR + +namespace std { +template<> +struct less { + bool operator()(const Dynarmic::IR::LocationDescriptor& x, const Dynarmic::IR::LocationDescriptor& y) const noexcept { + return x < y; + } +}; +template<> +struct hash { + size_t operator()(const Dynarmic::IR::LocationDescriptor& x) const noexcept { + return std::hash()(x.Value()); + } +}; +} // namespace std diff --git a/externals/dynarmic/src/dynarmic/ir/microinstruction.cpp b/externals/dynarmic/src/dynarmic/ir/microinstruction.cpp new file mode 100755 index 000000000..a499c327a --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/microinstruction.cpp @@ -0,0 +1,746 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/ir/microinstruction.h" + +#include + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/type.h" + +namespace Dynarmic::IR { + +bool Inst::IsArithmeticShift() const { + return op == Opcode::ArithmeticShiftRight32 + || op == Opcode::ArithmeticShiftRight64; +} + +bool Inst::IsCircularShift() const { + return op == Opcode::RotateRight32 + || op == Opcode::RotateRight64 + || op == Opcode::RotateRightExtended; +} + +bool Inst::IsLogicalShift() const { + switch (op) { + case Opcode::LogicalShiftLeft32: + case Opcode::LogicalShiftLeft64: + case Opcode::LogicalShiftRight32: + case Opcode::LogicalShiftRight64: + return true; + + default: + return false; + } +} + +bool Inst::IsShift() const { + return IsArithmeticShift() + || IsCircularShift() + || IsLogicalShift(); +} + +bool Inst::IsBarrier() const { + switch (op) { + case Opcode::A32DataMemoryBarrier: + case Opcode::A32DataSynchronizationBarrier: + case Opcode::A32InstructionSynchronizationBarrier: + case Opcode::A64DataMemoryBarrier: + case Opcode::A64DataSynchronizationBarrier: + case Opcode::A64InstructionSynchronizationBarrier: + return true; + + default: + return false; + } +} + +bool Inst::IsSharedMemoryRead() const { + switch (op) { + case Opcode::A32ReadMemory8: + case Opcode::A32ReadMemory16: + case Opcode::A32ReadMemory32: + case Opcode::A32ReadMemory64: + case Opcode::A64ReadMemory8: + case Opcode::A64ReadMemory16: + case Opcode::A64ReadMemory32: + case Opcode::A64ReadMemory64: + case Opcode::A64ReadMemory128: + return true; + + default: + return false; + } +} + +bool Inst::IsSharedMemoryWrite() const { + switch (op) { + case Opcode::A32WriteMemory8: + case Opcode::A32WriteMemory16: + case Opcode::A32WriteMemory32: + case Opcode::A32WriteMemory64: + case Opcode::A64WriteMemory8: + case Opcode::A64WriteMemory16: + case Opcode::A64WriteMemory32: + case Opcode::A64WriteMemory64: + case Opcode::A64WriteMemory128: + return true; + + default: + return false; + } +} + +bool Inst::IsSharedMemoryReadOrWrite() const { + return IsSharedMemoryRead() + || IsSharedMemoryWrite(); +} + +bool Inst::IsExclusiveMemoryRead() const { + switch (op) { + case Opcode::A32ExclusiveReadMemory8: + case Opcode::A32ExclusiveReadMemory16: + case Opcode::A32ExclusiveReadMemory32: + case Opcode::A32ExclusiveReadMemory64: + case Opcode::A64ExclusiveReadMemory8: + case Opcode::A64ExclusiveReadMemory16: + case Opcode::A64ExclusiveReadMemory32: + case Opcode::A64ExclusiveReadMemory64: + case Opcode::A64ExclusiveReadMemory128: + return true; + + default: + return false; + } +} + +bool Inst::IsExclusiveMemoryWrite() const { + switch (op) { + case Opcode::A32ExclusiveWriteMemory8: + case Opcode::A32ExclusiveWriteMemory16: + case Opcode::A32ExclusiveWriteMemory32: + case Opcode::A32ExclusiveWriteMemory64: + case Opcode::A64ExclusiveWriteMemory8: + case Opcode::A64ExclusiveWriteMemory16: + case Opcode::A64ExclusiveWriteMemory32: + case Opcode::A64ExclusiveWriteMemory64: + case Opcode::A64ExclusiveWriteMemory128: + return true; + + default: + return false; + } +} + +bool Inst::IsMemoryRead() const { + return IsSharedMemoryRead() + || IsExclusiveMemoryRead(); +} + +bool Inst::IsMemoryWrite() const { + return IsSharedMemoryWrite() + || IsExclusiveMemoryWrite(); +} + +bool Inst::IsMemoryReadOrWrite() const { + return IsMemoryRead() + || IsMemoryWrite(); +} + +bool Inst::ReadsFromCPSR() const { + switch (op) { + case Opcode::A32GetCpsr: + case Opcode::A32GetNFlag: + case Opcode::A32GetZFlag: + case Opcode::A32GetCFlag: + case Opcode::A32GetVFlag: + case Opcode::A32GetGEFlags: + case Opcode::A32UpdateUpperLocationDescriptor: + case Opcode::A64GetCFlag: + case Opcode::A64GetNZCVRaw: + case Opcode::ConditionalSelect32: + case Opcode::ConditionalSelect64: + case Opcode::ConditionalSelectNZCV: + return true; + + default: + return false; + } +} + +bool Inst::WritesToCPSR() const { + switch (op) { + case Opcode::A32SetCpsr: + case Opcode::A32SetCpsrNZCV: + case Opcode::A32SetCpsrNZCVQ: + case Opcode::A32SetNFlag: + case Opcode::A32SetZFlag: + case Opcode::A32SetCFlag: + case Opcode::A32SetVFlag: + case Opcode::A32OrQFlag: + case Opcode::A32SetGEFlags: + case Opcode::A32SetGEFlagsCompressed: + case Opcode::A32UpdateUpperLocationDescriptor: + case Opcode::A64SetNZCVRaw: + case Opcode::A64SetNZCV: + return true; + + default: + return false; + } +} + +bool Inst::WritesToSystemRegister() const { + switch (op) { + case Opcode::A64SetTPIDR: + return true; + default: + return false; + } +} + +bool Inst::ReadsFromCoreRegister() const { + switch (op) { + case Opcode::A32GetRegister: + case Opcode::A32GetExtendedRegister32: + case Opcode::A32GetExtendedRegister64: + case Opcode::A32GetVector: + case Opcode::A64GetW: + case Opcode::A64GetX: + case Opcode::A64GetS: + case Opcode::A64GetD: + case Opcode::A64GetQ: + case Opcode::A64GetSP: + return true; + + default: + return false; + } +} + +bool Inst::WritesToCoreRegister() const { + switch (op) { + case Opcode::A32SetRegister: + case Opcode::A32SetExtendedRegister32: + case Opcode::A32SetExtendedRegister64: + case Opcode::A32SetVector: + case Opcode::A32BXWritePC: + case Opcode::A64SetW: + case Opcode::A64SetX: + case Opcode::A64SetS: + case Opcode::A64SetD: + case Opcode::A64SetQ: + case Opcode::A64SetSP: + case Opcode::A64SetPC: + return true; + + default: + return false; + } +} + +bool Inst::ReadsFromFPCR() const { + switch (op) { + case Opcode::A32GetFpscr: + case Opcode::A32GetFpscrNZCV: + case Opcode::A64GetFPCR: + return true; + + default: + return false; + } +} + +bool Inst::WritesToFPCR() const { + switch (op) { + case Opcode::A32SetFpscr: + case Opcode::A32SetFpscrNZCV: + case Opcode::A64SetFPCR: + return true; + + default: + return false; + } +} + +bool Inst::ReadsFromFPSR() const { + return op == Opcode::A32GetFpscr + || op == Opcode::A32GetFpscrNZCV + || op == Opcode::A64GetFPSR + || ReadsFromFPSRCumulativeExceptionBits() + || ReadsFromFPSRCumulativeSaturationBit(); +} + +bool Inst::WritesToFPSR() const { + return op == Opcode::A32SetFpscr + || op == Opcode::A32SetFpscrNZCV + || op == Opcode::A64SetFPSR + || WritesToFPSRCumulativeExceptionBits() + || WritesToFPSRCumulativeSaturationBit(); +} + +bool Inst::ReadsFromFPSRCumulativeExceptionBits() const { + return ReadsFromAndWritesToFPSRCumulativeExceptionBits(); +} + +bool Inst::WritesToFPSRCumulativeExceptionBits() const { + return ReadsFromAndWritesToFPSRCumulativeExceptionBits(); +} + +bool Inst::ReadsFromAndWritesToFPSRCumulativeExceptionBits() const { + switch (op) { + case Opcode::FPAdd32: + case Opcode::FPAdd64: + case Opcode::FPCompare32: + case Opcode::FPCompare64: + case Opcode::FPDiv32: + case Opcode::FPDiv64: + case Opcode::FPMax32: + case Opcode::FPMax64: + case Opcode::FPMaxNumeric32: + case Opcode::FPMaxNumeric64: + case Opcode::FPMin32: + case Opcode::FPMin64: + case Opcode::FPMinNumeric32: + case Opcode::FPMinNumeric64: + case Opcode::FPMul32: + case Opcode::FPMul64: + case Opcode::FPMulAdd16: + case Opcode::FPMulAdd32: + case Opcode::FPMulAdd64: + case Opcode::FPRecipEstimate16: + case Opcode::FPRecipEstimate32: + case Opcode::FPRecipEstimate64: + case Opcode::FPRecipExponent16: + case Opcode::FPRecipExponent32: + case Opcode::FPRecipExponent64: + case Opcode::FPRecipStepFused16: + case Opcode::FPRecipStepFused32: + case Opcode::FPRecipStepFused64: + case Opcode::FPRoundInt16: + case Opcode::FPRoundInt32: + case Opcode::FPRoundInt64: + case Opcode::FPRSqrtEstimate16: + case Opcode::FPRSqrtEstimate32: + case Opcode::FPRSqrtEstimate64: + case Opcode::FPRSqrtStepFused16: + case Opcode::FPRSqrtStepFused32: + case Opcode::FPRSqrtStepFused64: + case Opcode::FPSqrt32: + case Opcode::FPSqrt64: + case Opcode::FPSub32: + case Opcode::FPSub64: + case Opcode::FPHalfToDouble: + case Opcode::FPHalfToSingle: + case Opcode::FPSingleToDouble: + case Opcode::FPSingleToHalf: + case Opcode::FPDoubleToHalf: + case Opcode::FPDoubleToSingle: + case Opcode::FPDoubleToFixedS32: + case Opcode::FPDoubleToFixedS64: + case Opcode::FPDoubleToFixedU32: + case Opcode::FPDoubleToFixedU64: + case Opcode::FPHalfToFixedS32: + case Opcode::FPHalfToFixedS64: + case Opcode::FPHalfToFixedU32: + case Opcode::FPHalfToFixedU64: + case Opcode::FPSingleToFixedS32: + case Opcode::FPSingleToFixedS64: + case Opcode::FPSingleToFixedU32: + case Opcode::FPSingleToFixedU64: + case Opcode::FPFixedU32ToSingle: + case Opcode::FPFixedS32ToSingle: + case Opcode::FPFixedU32ToDouble: + case Opcode::FPFixedU64ToDouble: + case Opcode::FPFixedU64ToSingle: + case Opcode::FPFixedS32ToDouble: + case Opcode::FPFixedS64ToDouble: + case Opcode::FPFixedS64ToSingle: + case Opcode::FPVectorAdd32: + case Opcode::FPVectorAdd64: + case Opcode::FPVectorDiv32: + case Opcode::FPVectorDiv64: + case Opcode::FPVectorEqual16: + case Opcode::FPVectorEqual32: + case Opcode::FPVectorEqual64: + case Opcode::FPVectorFromSignedFixed32: + case Opcode::FPVectorFromSignedFixed64: + case Opcode::FPVectorFromUnsignedFixed32: + case Opcode::FPVectorFromUnsignedFixed64: + case Opcode::FPVectorGreater32: + case Opcode::FPVectorGreater64: + case Opcode::FPVectorGreaterEqual32: + case Opcode::FPVectorGreaterEqual64: + case Opcode::FPVectorMul32: + case Opcode::FPVectorMul64: + case Opcode::FPVectorMulAdd16: + case Opcode::FPVectorMulAdd32: + case Opcode::FPVectorMulAdd64: + case Opcode::FPVectorPairedAddLower32: + case Opcode::FPVectorPairedAddLower64: + case Opcode::FPVectorPairedAdd32: + case Opcode::FPVectorPairedAdd64: + case Opcode::FPVectorRecipEstimate16: + case Opcode::FPVectorRecipEstimate32: + case Opcode::FPVectorRecipEstimate64: + case Opcode::FPVectorRecipStepFused16: + case Opcode::FPVectorRecipStepFused32: + case Opcode::FPVectorRecipStepFused64: + case Opcode::FPVectorRoundInt16: + case Opcode::FPVectorRoundInt32: + case Opcode::FPVectorRoundInt64: + case Opcode::FPVectorRSqrtEstimate16: + case Opcode::FPVectorRSqrtEstimate32: + case Opcode::FPVectorRSqrtEstimate64: + case Opcode::FPVectorRSqrtStepFused16: + case Opcode::FPVectorRSqrtStepFused32: + case Opcode::FPVectorRSqrtStepFused64: + case Opcode::FPVectorSqrt32: + case Opcode::FPVectorSqrt64: + case Opcode::FPVectorSub32: + case Opcode::FPVectorSub64: + case Opcode::FPVectorToSignedFixed16: + case Opcode::FPVectorToSignedFixed32: + case Opcode::FPVectorToSignedFixed64: + case Opcode::FPVectorToUnsignedFixed16: + case Opcode::FPVectorToUnsignedFixed32: + case Opcode::FPVectorToUnsignedFixed64: + return true; + + default: + return false; + } +} + +bool Inst::ReadsFromFPSRCumulativeSaturationBit() const { + return false; +} + +bool Inst::WritesToFPSRCumulativeSaturationBit() const { + switch (op) { + case Opcode::A64OrQC: + case Opcode::VectorSignedSaturatedAbs8: + case Opcode::VectorSignedSaturatedAbs16: + case Opcode::VectorSignedSaturatedAbs32: + case Opcode::VectorSignedSaturatedAbs64: + case Opcode::VectorSignedSaturatedAccumulateUnsigned8: + case Opcode::VectorSignedSaturatedAccumulateUnsigned16: + case Opcode::VectorSignedSaturatedAccumulateUnsigned32: + case Opcode::VectorSignedSaturatedAccumulateUnsigned64: + case Opcode::VectorSignedSaturatedAdd8: + case Opcode::VectorSignedSaturatedAdd16: + case Opcode::VectorSignedSaturatedAdd32: + case Opcode::VectorSignedSaturatedAdd64: + case Opcode::VectorSignedSaturatedDoublingMultiply16: + case Opcode::VectorSignedSaturatedDoublingMultiply32: + case Opcode::VectorSignedSaturatedDoublingMultiplyLong16: + case Opcode::VectorSignedSaturatedDoublingMultiplyLong32: + case Opcode::VectorSignedSaturatedNarrowToSigned16: + case Opcode::VectorSignedSaturatedNarrowToSigned32: + case Opcode::VectorSignedSaturatedNarrowToSigned64: + case Opcode::VectorSignedSaturatedNarrowToUnsigned16: + case Opcode::VectorSignedSaturatedNarrowToUnsigned32: + case Opcode::VectorSignedSaturatedNarrowToUnsigned64: + case Opcode::VectorSignedSaturatedNeg8: + case Opcode::VectorSignedSaturatedNeg16: + case Opcode::VectorSignedSaturatedNeg32: + case Opcode::VectorSignedSaturatedNeg64: + case Opcode::VectorSignedSaturatedShiftLeft8: + case Opcode::VectorSignedSaturatedShiftLeft16: + case Opcode::VectorSignedSaturatedShiftLeft32: + case Opcode::VectorSignedSaturatedShiftLeft64: + case Opcode::VectorSignedSaturatedShiftLeftUnsigned8: + case Opcode::VectorSignedSaturatedShiftLeftUnsigned16: + case Opcode::VectorSignedSaturatedShiftLeftUnsigned32: + case Opcode::VectorSignedSaturatedShiftLeftUnsigned64: + case Opcode::VectorSignedSaturatedSub8: + case Opcode::VectorSignedSaturatedSub16: + case Opcode::VectorSignedSaturatedSub32: + case Opcode::VectorSignedSaturatedSub64: + case Opcode::VectorUnsignedSaturatedAccumulateSigned8: + case Opcode::VectorUnsignedSaturatedAccumulateSigned16: + case Opcode::VectorUnsignedSaturatedAccumulateSigned32: + case Opcode::VectorUnsignedSaturatedAccumulateSigned64: + case Opcode::VectorUnsignedSaturatedAdd8: + case Opcode::VectorUnsignedSaturatedAdd16: + case Opcode::VectorUnsignedSaturatedAdd32: + case Opcode::VectorUnsignedSaturatedAdd64: + case Opcode::VectorUnsignedSaturatedNarrow16: + case Opcode::VectorUnsignedSaturatedNarrow32: + case Opcode::VectorUnsignedSaturatedNarrow64: + case Opcode::VectorUnsignedSaturatedShiftLeft8: + case Opcode::VectorUnsignedSaturatedShiftLeft16: + case Opcode::VectorUnsignedSaturatedShiftLeft32: + case Opcode::VectorUnsignedSaturatedShiftLeft64: + case Opcode::VectorUnsignedSaturatedSub8: + case Opcode::VectorUnsignedSaturatedSub16: + case Opcode::VectorUnsignedSaturatedSub32: + case Opcode::VectorUnsignedSaturatedSub64: + return true; + + default: + return false; + } +} + +bool Inst::CausesCPUException() const { + return op == Opcode::Breakpoint + || op == Opcode::A32CallSupervisor + || op == Opcode::A32ExceptionRaised + || op == Opcode::A64CallSupervisor + || op == Opcode::A64ExceptionRaised; +} + +bool Inst::AltersExclusiveState() const { + return op == Opcode::A32ClearExclusive + || op == Opcode::A64ClearExclusive + || IsExclusiveMemoryRead() + || IsExclusiveMemoryWrite(); +} + +bool Inst::IsCoprocessorInstruction() const { + switch (op) { + case Opcode::A32CoprocInternalOperation: + case Opcode::A32CoprocSendOneWord: + case Opcode::A32CoprocSendTwoWords: + case Opcode::A32CoprocGetOneWord: + case Opcode::A32CoprocGetTwoWords: + case Opcode::A32CoprocLoadWords: + case Opcode::A32CoprocStoreWords: + return true; + + default: + return false; + } +} + +bool Inst::IsSetCheckBitOperation() const { + return op == Opcode::A32SetCheckBit + || op == Opcode::A64SetCheckBit; +} + +bool Inst::MayHaveSideEffects() const { + return op == Opcode::PushRSB + || op == Opcode::CallHostFunction + || op == Opcode::A64DataCacheOperationRaised + || op == Opcode::A64InstructionCacheOperationRaised + || IsSetCheckBitOperation() + || IsBarrier() + || CausesCPUException() + || WritesToCoreRegister() + || WritesToSystemRegister() + || WritesToCPSR() + || WritesToFPCR() + || WritesToFPSR() + || AltersExclusiveState() + || IsMemoryWrite() + || IsCoprocessorInstruction(); +} + +bool Inst::IsAPseudoOperation() const { + switch (op) { + case Opcode::GetCarryFromOp: + case Opcode::GetOverflowFromOp: + case Opcode::GetGEFromOp: + case Opcode::GetNZCVFromOp: + case Opcode::GetUpperFromOp: + case Opcode::GetLowerFromOp: + return true; + + default: + return false; + } +} + +bool Inst::MayGetNZCVFromOp() const { + switch (op) { + case Opcode::Add32: + case Opcode::Add64: + case Opcode::Sub32: + case Opcode::Sub64: + case Opcode::And32: + case Opcode::And64: + case Opcode::Eor32: + case Opcode::Eor64: + case Opcode::Or32: + case Opcode::Or64: + case Opcode::Not32: + case Opcode::Not64: + return true; + + default: + return false; + } +} + +bool Inst::AreAllArgsImmediates() const { + return std::all_of(args.begin(), args.begin() + NumArgs(), [](const auto& value) { return value.IsImmediate(); }); +} + +bool Inst::HasAssociatedPseudoOperation() const { + return carry_inst + || overflow_inst + || ge_inst + || nzcv_inst + || upper_inst + || lower_inst; +} + +Inst* Inst::GetAssociatedPseudoOperation(Opcode opcode) { + // This is faster than doing a search through the block. + switch (opcode) { + case Opcode::GetCarryFromOp: + ASSERT(!carry_inst || carry_inst->GetOpcode() == Opcode::GetCarryFromOp); + return carry_inst; + case Opcode::GetOverflowFromOp: + ASSERT(!overflow_inst || overflow_inst->GetOpcode() == Opcode::GetOverflowFromOp); + return overflow_inst; + case Opcode::GetGEFromOp: + ASSERT(!ge_inst || ge_inst->GetOpcode() == Opcode::GetGEFromOp); + return ge_inst; + case Opcode::GetNZCVFromOp: + ASSERT(!nzcv_inst || nzcv_inst->GetOpcode() == Opcode::GetNZCVFromOp); + return nzcv_inst; + case Opcode::GetUpperFromOp: + ASSERT(!upper_inst || upper_inst->GetOpcode() == Opcode::GetUpperFromOp); + return upper_inst; + case Opcode::GetLowerFromOp: + ASSERT(!lower_inst || lower_inst->GetOpcode() == Opcode::GetLowerFromOp); + return lower_inst; + default: + break; + } + + ASSERT_FALSE("Not a valid pseudo-operation"); +} + +Type Inst::GetType() const { + if (op == Opcode::Identity) + return args[0].GetType(); + return GetTypeOf(op); +} + +size_t Inst::NumArgs() const { + return GetNumArgsOf(op); +} + +Value Inst::GetArg(size_t index) const { + ASSERT_MSG(index < GetNumArgsOf(op), "Inst::GetArg: index {} >= number of arguments of {} ({})", index, op, GetNumArgsOf(op)); + ASSERT_MSG(!args[index].IsEmpty() || GetArgTypeOf(op, index) == IR::Type::Opaque, "Inst::GetArg: index {} is empty", index, args[index].GetType()); + + return args[index]; +} + +void Inst::SetArg(size_t index, Value value) { + ASSERT_MSG(index < GetNumArgsOf(op), "Inst::SetArg: index {} >= number of arguments of {} ({})", index, op, GetNumArgsOf(op)); + ASSERT_MSG(AreTypesCompatible(value.GetType(), GetArgTypeOf(op, index)), "Inst::SetArg: type {} of argument {} not compatible with operation {} ({})", value.GetType(), index, op, GetArgTypeOf(op, index)); + + if (!args[index].IsImmediate()) { + UndoUse(args[index]); + } + if (!value.IsImmediate()) { + Use(value); + } + + args[index] = value; +} + +void Inst::Invalidate() { + ClearArgs(); + op = Opcode::Void; +} + +void Inst::ClearArgs() { + for (auto& value : args) { + if (!value.IsImmediate()) { + UndoUse(value); + } + value = {}; + } +} + +void Inst::ReplaceUsesWith(Value replacement) { + Invalidate(); + + op = Opcode::Identity; + + if (!replacement.IsImmediate()) { + Use(replacement); + } + + args[0] = replacement; +} + +void Inst::Use(const Value& value) { + value.GetInst()->use_count++; + + switch (op) { + case Opcode::GetCarryFromOp: + ASSERT_MSG(!value.GetInst()->carry_inst, "Only one of each type of pseudo-op allowed"); + value.GetInst()->carry_inst = this; + break; + case Opcode::GetOverflowFromOp: + ASSERT_MSG(!value.GetInst()->overflow_inst, "Only one of each type of pseudo-op allowed"); + value.GetInst()->overflow_inst = this; + break; + case Opcode::GetGEFromOp: + ASSERT_MSG(!value.GetInst()->ge_inst, "Only one of each type of pseudo-op allowed"); + value.GetInst()->ge_inst = this; + break; + case Opcode::GetNZCVFromOp: + ASSERT_MSG(!value.GetInst()->nzcv_inst, "Only one of each type of pseudo-op allowed"); + ASSERT_MSG(value.GetInst()->MayGetNZCVFromOp(), "This value doesn't support the GetNZCVFromOp pseduo-op"); + value.GetInst()->nzcv_inst = this; + break; + case Opcode::GetUpperFromOp: + ASSERT_MSG(!value.GetInst()->upper_inst, "Only one of each type of pseudo-op allowed"); + value.GetInst()->upper_inst = this; + break; + case Opcode::GetLowerFromOp: + ASSERT_MSG(!value.GetInst()->lower_inst, "Only one of each type of pseudo-op allowed"); + value.GetInst()->lower_inst = this; + break; + default: + break; + } +} + +void Inst::UndoUse(const Value& value) { + value.GetInst()->use_count--; + + switch (op) { + case Opcode::GetCarryFromOp: + ASSERT(value.GetInst()->carry_inst->GetOpcode() == Opcode::GetCarryFromOp); + value.GetInst()->carry_inst = nullptr; + break; + case Opcode::GetOverflowFromOp: + ASSERT(value.GetInst()->overflow_inst->GetOpcode() == Opcode::GetOverflowFromOp); + value.GetInst()->overflow_inst = nullptr; + break; + case Opcode::GetGEFromOp: + ASSERT(value.GetInst()->ge_inst->GetOpcode() == Opcode::GetGEFromOp); + value.GetInst()->ge_inst = nullptr; + break; + case Opcode::GetNZCVFromOp: + ASSERT(value.GetInst()->nzcv_inst->GetOpcode() == Opcode::GetNZCVFromOp); + value.GetInst()->nzcv_inst = nullptr; + break; + case Opcode::GetUpperFromOp: + ASSERT(value.GetInst()->upper_inst->GetOpcode() == Opcode::GetUpperFromOp); + value.GetInst()->upper_inst = nullptr; + break; + case Opcode::GetLowerFromOp: + ASSERT(value.GetInst()->lower_inst->GetOpcode() == Opcode::GetLowerFromOp); + value.GetInst()->lower_inst = nullptr; + break; + default: + break; + } +} + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/microinstruction.h b/externals/dynarmic/src/dynarmic/ir/microinstruction.h new file mode 100755 index 000000000..de3db2e52 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/microinstruction.h @@ -0,0 +1,165 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/intrusive_list.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::IR { + +enum class Opcode; +enum class Type; + +constexpr size_t max_arg_count = 4; + +/** + * A representation of a microinstruction. A single ARM/Thumb instruction may be + * converted into zero or more microinstructions. + */ +class Inst final : public Common::IntrusiveListNode { +public: + explicit Inst(Opcode op) + : op(op) {} + + /// Determines whether or not this instruction performs an arithmetic shift. + bool IsArithmeticShift() const; + /// Determines whether or not this instruction performs a logical shift. + bool IsLogicalShift() const; + /// Determines whether or not this instruction performs a circular shift. + bool IsCircularShift() const; + /// Determines whether or not this instruction performs any kind of shift. + bool IsShift() const; + + /// Determines whether or not this instruction is a form of barrier. + bool IsBarrier() const; + + /// Determines whether or not this instruction performs a shared memory read. + bool IsSharedMemoryRead() const; + /// Determines whether or not this instruction performs a shared memory write. + bool IsSharedMemoryWrite() const; + /// Determines whether or not this instruction performs a shared memory read or write. + bool IsSharedMemoryReadOrWrite() const; + /// Determines whether or not this instruction performs an atomic memory read. + bool IsExclusiveMemoryRead() const; + /// Determines whether or not this instruction performs an atomic memory write. + bool IsExclusiveMemoryWrite() const; + + /// Determines whether or not this instruction performs any kind of memory read. + bool IsMemoryRead() const; + /// Determines whether or not this instruction performs any kind of memory write. + bool IsMemoryWrite() const; + /// Determines whether or not this instruction performs any kind of memory access. + bool IsMemoryReadOrWrite() const; + + /// Determines whether or not this instruction reads from the CPSR. + bool ReadsFromCPSR() const; + /// Determines whether or not this instruction writes to the CPSR. + bool WritesToCPSR() const; + + /// Determines whether or not this instruction writes to a system register. + bool WritesToSystemRegister() const; + + /// Determines whether or not this instruction reads from a core register. + bool ReadsFromCoreRegister() const; + /// Determines whether or not this instruction writes to a core register. + bool WritesToCoreRegister() const; + + /// Determines whether or not this instruction reads from the FPCR. + bool ReadsFromFPCR() const; + /// Determines whether or not this instruction writes to the FPCR. + bool WritesToFPCR() const; + + /// Determines whether or not this instruction reads from the FPSR. + bool ReadsFromFPSR() const; + /// Determines whether or not this instruction writes to the FPSR. + bool WritesToFPSR() const; + + /// Determines whether or not this instruction reads from the FPSR cumulative exception bits. + bool ReadsFromFPSRCumulativeExceptionBits() const; + /// Determines whether or not this instruction writes to the FPSR cumulative exception bits. + bool WritesToFPSRCumulativeExceptionBits() const; + /// Determines whether or not this instruction both reads from and writes to the FPSR cumulative exception bits. + bool ReadsFromAndWritesToFPSRCumulativeExceptionBits() const; + + /// Determines whether or not this instruction reads from the FPSR cumulative saturation bit. + bool ReadsFromFPSRCumulativeSaturationBit() const; + /// Determines whether or not this instruction writes to the FPSR cumulative saturation bit. + bool WritesToFPSRCumulativeSaturationBit() const; + + /// Determines whether or not this instruction alters memory-exclusivity. + bool AltersExclusiveState() const; + + /// Determines whether or not this instruction accesses a coprocessor. + bool IsCoprocessorInstruction() const; + + /// Determines whether or not this instruction causes a CPU exception. + bool CausesCPUException() const; + + /// Determines whether or not this instruction is a SetCheckBit operation. + bool IsSetCheckBitOperation() const; + + /// Determines whether or not this instruction may have side-effects. + bool MayHaveSideEffects() const; + + /// Determines whether or not this instruction is a pseduo-instruction. + /// Pseudo-instructions depend on their parent instructions for their semantics. + bool IsAPseudoOperation() const; + + /// Determines whether or not this instruction supports the GetNZCVFromOp pseudo-operation. + bool MayGetNZCVFromOp() const; + + /// Determines if all arguments of this instruction are immediates. + bool AreAllArgsImmediates() const; + + size_t UseCount() const { return use_count; } + bool HasUses() const { return use_count > 0; } + + /// Determines if there is a pseudo-operation associated with this instruction. + bool HasAssociatedPseudoOperation() const; + /// Gets a pseudo-operation associated with this instruction. + Inst* GetAssociatedPseudoOperation(Opcode opcode); + + /// Get the microop this microinstruction represents. + Opcode GetOpcode() const { return op; } + /// Get the type this instruction returns. + Type GetType() const; + /// Get the number of arguments this instruction has. + size_t NumArgs() const; + + Value GetArg(size_t index) const; + void SetArg(size_t index, Value value); + + void Invalidate(); + void ClearArgs(); + + void ReplaceUsesWith(Value replacement); + +private: + void Use(const Value& value); + void UndoUse(const Value& value); + + Opcode op; + size_t use_count = 0; + std::array args; + + // Pointers to related pseudooperations: + // Since not all combinations are possible, we use a union to save space + union { + Inst* carry_inst = nullptr; + Inst* ge_inst; + Inst* upper_inst; + }; + Inst* overflow_inst = nullptr; + union { + Inst* nzcv_inst = nullptr; + Inst* lower_inst; + }; +}; + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/opcodes.cpp b/externals/dynarmic/src/dynarmic/ir/opcodes.cpp new file mode 100755 index 000000000..354b8c59d --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opcodes.cpp @@ -0,0 +1,79 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/ir/opcodes.h" + +#include +#include +#include +#include + +#include +#include + +#include "dynarmic/ir/type.h" + +namespace Dynarmic::IR { + +// Opcode information + +namespace OpcodeInfo { + +struct Meta { + const char* name; + Type type; + std::vector arg_types; +}; + +constexpr Type Void = Type::Void; +constexpr Type A32Reg = Type::A32Reg; +constexpr Type A32ExtReg = Type::A32ExtReg; +constexpr Type A64Reg = Type::A64Reg; +constexpr Type A64Vec = Type::A64Vec; +constexpr Type Opaque = Type::Opaque; +constexpr Type U1 = Type::U1; +constexpr Type U8 = Type::U8; +constexpr Type U16 = Type::U16; +constexpr Type U32 = Type::U32; +constexpr Type U64 = Type::U64; +constexpr Type U128 = Type::U128; +constexpr Type CoprocInfo = Type::CoprocInfo; +constexpr Type NZCV = Type::NZCVFlags; +constexpr Type Cond = Type::Cond; +constexpr Type Table = Type::Table; + +static const std::array opcode_info{ +#define OPCODE(name, type, ...) Meta{#name, type, {__VA_ARGS__}}, +#define A32OPC(name, type, ...) Meta{#name, type, {__VA_ARGS__}}, +#define A64OPC(name, type, ...) Meta{#name, type, {__VA_ARGS__}}, +#include "./opcodes.inc" +#undef OPCODE +#undef A32OPC +#undef A64OPC +}; + +} // namespace OpcodeInfo + +Type GetTypeOf(Opcode op) { + return OpcodeInfo::opcode_info.at(static_cast(op)).type; +} + +size_t GetNumArgsOf(Opcode op) { + return OpcodeInfo::opcode_info.at(static_cast(op)).arg_types.size(); +} + +Type GetArgTypeOf(Opcode op, size_t arg_index) { + return OpcodeInfo::opcode_info.at(static_cast(op)).arg_types.at(arg_index); +} + +std::string GetNameOf(Opcode op) { + return OpcodeInfo::opcode_info.at(static_cast(op)).name; +} + +std::ostream& operator<<(std::ostream& o, Opcode opcode) { + return o << GetNameOf(opcode); +} + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/opcodes.h b/externals/dynarmic/src/dynarmic/ir/opcodes.h new file mode 100755 index 000000000..2923511d1 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opcodes.h @@ -0,0 +1,48 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::IR { + +enum class Type; + +/** + * The Opcodes of our intermediate representation. + * Type signatures for each opcode can be found in opcodes.inc + */ +enum class Opcode { +#define OPCODE(name, type, ...) name, +#define A32OPC(name, type, ...) A32##name, +#define A64OPC(name, type, ...) A64##name, +#include "./opcodes.inc" +#undef OPCODE +#undef A32OPC +#undef A64OPC + NUM_OPCODE +}; + +constexpr size_t OpcodeCount = static_cast(Opcode::NUM_OPCODE); + +/// Get return type of an opcode +Type GetTypeOf(Opcode op); + +/// Get the number of arguments an opcode accepts +size_t GetNumArgsOf(Opcode op); + +/// Get the required type of an argument of an opcode +Type GetArgTypeOf(Opcode op, size_t arg_index); + +/// Get the name of an opcode. +std::string GetNameOf(Opcode op); + +std::ostream& operator<<(std::ostream& o, Opcode opcode); + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/opcodes.inc b/externals/dynarmic/src/dynarmic/ir/opcodes.inc new file mode 100755 index 000000000..50c36439b --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opcodes.inc @@ -0,0 +1,717 @@ +// opcode name, return type, arg1 type, arg2 type, arg3 type, arg4 type, ... + +OPCODE(Void, Void, ) +OPCODE(Identity, Opaque, Opaque ) +OPCODE(Breakpoint, Void, ) +OPCODE(CallHostFunction, Void, U64, Opaque, Opaque, Opaque ) + +// A32 Context getters/setters +A32OPC(SetCheckBit, Void, U1 ) +A32OPC(GetRegister, U32, A32Reg ) +A32OPC(GetExtendedRegister32, U32, A32ExtReg ) +A32OPC(GetExtendedRegister64, U64, A32ExtReg ) +A32OPC(GetVector, U128, A32ExtReg ) +A32OPC(SetRegister, Void, A32Reg, U32 ) +A32OPC(SetExtendedRegister32, Void, A32ExtReg, U32 ) +A32OPC(SetExtendedRegister64, Void, A32ExtReg, U64 ) +A32OPC(SetVector, Void, A32ExtReg, U128 ) +A32OPC(GetCpsr, U32, ) +A32OPC(SetCpsr, Void, U32 ) +A32OPC(SetCpsrNZCV, Void, U32 ) +A32OPC(SetCpsrNZCVQ, Void, U32 ) +A32OPC(GetNFlag, U1, ) +A32OPC(SetNFlag, Void, U1 ) +A32OPC(GetZFlag, U1, ) +A32OPC(SetZFlag, Void, U1 ) +A32OPC(GetCFlag, U1, ) +A32OPC(SetCFlag, Void, U1 ) +A32OPC(GetVFlag, U1, ) +A32OPC(SetVFlag, Void, U1 ) +A32OPC(OrQFlag, Void, U1 ) +A32OPC(GetGEFlags, U32, ) +A32OPC(SetGEFlags, Void, U32 ) +A32OPC(SetGEFlagsCompressed, Void, U32 ) +A32OPC(BXWritePC, Void, U32 ) +A32OPC(UpdateUpperLocationDescriptor, Void, ) +A32OPC(CallSupervisor, Void, U32 ) +A32OPC(ExceptionRaised, Void, U32, U64 ) +A32OPC(DataSynchronizationBarrier, Void, ) +A32OPC(DataMemoryBarrier, Void, ) +A32OPC(InstructionSynchronizationBarrier, Void, ) +A32OPC(GetFpscr, U32, ) +A32OPC(SetFpscr, Void, U32, ) +A32OPC(GetFpscrNZCV, U32, ) +A32OPC(SetFpscrNZCV, Void, NZCV ) + +// A64 Context getters/setters +A64OPC(SetCheckBit, Void, U1 ) +A64OPC(GetCFlag, U1, ) +A64OPC(GetNZCVRaw, U32, ) +A64OPC(SetNZCVRaw, Void, U32 ) +A64OPC(SetNZCV, Void, NZCV ) +A64OPC(GetW, U32, A64Reg ) +A64OPC(GetX, U64, A64Reg ) +A64OPC(GetS, U128, A64Vec ) +A64OPC(GetD, U128, A64Vec ) +A64OPC(GetQ, U128, A64Vec ) +A64OPC(GetSP, U64, ) +A64OPC(GetFPCR, U32, ) +A64OPC(GetFPSR, U32, ) +A64OPC(SetW, Void, A64Reg, U32 ) +A64OPC(SetX, Void, A64Reg, U64 ) +A64OPC(SetS, Void, A64Vec, U128 ) +A64OPC(SetD, Void, A64Vec, U128 ) +A64OPC(SetQ, Void, A64Vec, U128 ) +A64OPC(SetSP, Void, U64 ) +A64OPC(SetFPCR, Void, U32 ) +A64OPC(SetFPSR, Void, U32 ) +A64OPC(OrQC, Void, U1 ) +A64OPC(SetPC, Void, U64 ) +A64OPC(CallSupervisor, Void, U32 ) +A64OPC(ExceptionRaised, Void, U64, U64 ) +A64OPC(DataCacheOperationRaised, Void, U64, U64 ) +A64OPC(InstructionCacheOperationRaised, Void, U64, U64 ) +A64OPC(DataSynchronizationBarrier, Void, ) +A64OPC(DataMemoryBarrier, Void, ) +A64OPC(InstructionSynchronizationBarrier, Void, ) +A64OPC(GetCNTFRQ, U32, ) +A64OPC(GetCNTPCT, U64, ) +A64OPC(GetCTR, U32, ) +A64OPC(GetDCZID, U32, ) +A64OPC(GetTPIDR, U64, ) +A64OPC(GetTPIDRRO, U64, ) +A64OPC(SetTPIDR, Void, U64 ) + +// Hints +OPCODE(PushRSB, Void, U64 ) + +// Pseudo-operation, handled specially at final emit +OPCODE(GetCarryFromOp, U1, Opaque ) +OPCODE(GetOverflowFromOp, U1, Opaque ) +OPCODE(GetGEFromOp, U32, Opaque ) +OPCODE(GetNZCVFromOp, NZCV, Opaque ) +OPCODE(GetUpperFromOp, U128, Opaque ) +OPCODE(GetLowerFromOp, U128, Opaque ) + +OPCODE(NZCVFromPackedFlags, NZCV, U32 ) + +// Calculations +OPCODE(Pack2x32To1x64, U64, U32, U32 ) +OPCODE(Pack2x64To1x128, U128, U64, U64 ) +OPCODE(LeastSignificantWord, U32, U64 ) +OPCODE(LeastSignificantHalf, U16, U32 ) +OPCODE(LeastSignificantByte, U8, U32 ) +OPCODE(MostSignificantWord, U32, U64 ) +OPCODE(MostSignificantBit, U1, U32 ) +OPCODE(IsZero32, U1, U32 ) +OPCODE(IsZero64, U1, U64 ) +OPCODE(TestBit, U1, U64, U8 ) +OPCODE(ConditionalSelect32, U32, Cond, U32, U32 ) +OPCODE(ConditionalSelect64, U64, Cond, U64, U64 ) +OPCODE(ConditionalSelectNZCV, NZCV, Cond, NZCV, NZCV ) +OPCODE(LogicalShiftLeft32, U32, U32, U8, U1 ) +OPCODE(LogicalShiftLeft64, U64, U64, U8 ) +OPCODE(LogicalShiftRight32, U32, U32, U8, U1 ) +OPCODE(LogicalShiftRight64, U64, U64, U8 ) +OPCODE(ArithmeticShiftRight32, U32, U32, U8, U1 ) +OPCODE(ArithmeticShiftRight64, U64, U64, U8 ) +OPCODE(RotateRight32, U32, U32, U8, U1 ) +OPCODE(RotateRight64, U64, U64, U8 ) +OPCODE(RotateRightExtended, U32, U32, U1 ) +OPCODE(LogicalShiftLeftMasked32, U32, U32, U32 ) +OPCODE(LogicalShiftLeftMasked64, U64, U64, U64 ) +OPCODE(LogicalShiftRightMasked32, U32, U32, U32 ) +OPCODE(LogicalShiftRightMasked64, U64, U64, U64 ) +OPCODE(ArithmeticShiftRightMasked32, U32, U32, U32 ) +OPCODE(ArithmeticShiftRightMasked64, U64, U64, U64 ) +OPCODE(RotateRightMasked32, U32, U32, U32 ) +OPCODE(RotateRightMasked64, U64, U64, U64 ) +OPCODE(Add32, U32, U32, U32, U1 ) +OPCODE(Add64, U64, U64, U64, U1 ) +OPCODE(Sub32, U32, U32, U32, U1 ) +OPCODE(Sub64, U64, U64, U64, U1 ) +OPCODE(Mul32, U32, U32, U32 ) +OPCODE(Mul64, U64, U64, U64 ) +OPCODE(SignedMultiplyHigh64, U64, U64, U64 ) +OPCODE(UnsignedMultiplyHigh64, U64, U64, U64 ) +OPCODE(UnsignedDiv32, U32, U32, U32 ) +OPCODE(UnsignedDiv64, U64, U64, U64 ) +OPCODE(SignedDiv32, U32, U32, U32 ) +OPCODE(SignedDiv64, U64, U64, U64 ) +OPCODE(And32, U32, U32, U32 ) +OPCODE(And64, U64, U64, U64 ) +OPCODE(Eor32, U32, U32, U32 ) +OPCODE(Eor64, U64, U64, U64 ) +OPCODE(Or32, U32, U32, U32 ) +OPCODE(Or64, U64, U64, U64 ) +OPCODE(Not32, U32, U32 ) +OPCODE(Not64, U64, U64 ) +OPCODE(SignExtendByteToWord, U32, U8 ) +OPCODE(SignExtendHalfToWord, U32, U16 ) +OPCODE(SignExtendByteToLong, U64, U8 ) +OPCODE(SignExtendHalfToLong, U64, U16 ) +OPCODE(SignExtendWordToLong, U64, U32 ) +OPCODE(ZeroExtendByteToWord, U32, U8 ) +OPCODE(ZeroExtendHalfToWord, U32, U16 ) +OPCODE(ZeroExtendByteToLong, U64, U8 ) +OPCODE(ZeroExtendHalfToLong, U64, U16 ) +OPCODE(ZeroExtendWordToLong, U64, U32 ) +OPCODE(ZeroExtendLongToQuad, U128, U64 ) +OPCODE(ByteReverseWord, U32, U32 ) +OPCODE(ByteReverseHalf, U16, U16 ) +OPCODE(ByteReverseDual, U64, U64 ) +OPCODE(CountLeadingZeros32, U32, U32 ) +OPCODE(CountLeadingZeros64, U64, U64 ) +OPCODE(ExtractRegister32, U32, U32, U32, U8 ) +OPCODE(ExtractRegister64, U64, U64, U64, U8 ) +OPCODE(ReplicateBit32, U32, U32, U8 ) +OPCODE(ReplicateBit64, U64, U64, U8 ) +OPCODE(MaxSigned32, U32, U32, U32 ) +OPCODE(MaxSigned64, U64, U64, U64 ) +OPCODE(MaxUnsigned32, U32, U32, U32 ) +OPCODE(MaxUnsigned64, U64, U64, U64 ) +OPCODE(MinSigned32, U32, U32, U32 ) +OPCODE(MinSigned64, U64, U64, U64 ) +OPCODE(MinUnsigned32, U32, U32, U32 ) +OPCODE(MinUnsigned64, U64, U64, U64 ) + +// Saturated instructions +OPCODE(SignedSaturatedAdd8, U8, U8, U8 ) +OPCODE(SignedSaturatedAdd16, U16, U16, U16 ) +OPCODE(SignedSaturatedAdd32, U32, U32, U32 ) +OPCODE(SignedSaturatedAdd64, U64, U64, U64 ) +OPCODE(SignedSaturatedDoublingMultiplyReturnHigh16, U16, U16, U16 ) +OPCODE(SignedSaturatedDoublingMultiplyReturnHigh32, U32, U32, U32 ) +OPCODE(SignedSaturatedSub8, U8, U8, U8 ) +OPCODE(SignedSaturatedSub16, U16, U16, U16 ) +OPCODE(SignedSaturatedSub32, U32, U32, U32 ) +OPCODE(SignedSaturatedSub64, U64, U64, U64 ) +OPCODE(SignedSaturation, U32, U32, U8 ) +OPCODE(UnsignedSaturatedAdd8, U8, U8, U8 ) +OPCODE(UnsignedSaturatedAdd16, U16, U16, U16 ) +OPCODE(UnsignedSaturatedAdd32, U32, U32, U32 ) +OPCODE(UnsignedSaturatedAdd64, U64, U64, U64 ) +OPCODE(UnsignedSaturatedSub8, U8, U8, U8 ) +OPCODE(UnsignedSaturatedSub16, U16, U16, U16 ) +OPCODE(UnsignedSaturatedSub32, U32, U32, U32 ) +OPCODE(UnsignedSaturatedSub64, U64, U64, U64 ) +OPCODE(UnsignedSaturation, U32, U32, U8 ) + +// Vector saturated instructions +OPCODE(VectorSignedSaturatedAdd8, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedAdd16, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedAdd32, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedAdd64, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedSub8, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedSub16, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedSub32, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedSub64, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedAdd8, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedAdd16, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedAdd32, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedAdd64, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedSub8, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedSub16, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedSub32, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedSub64, U128, U128, U128 ) + +// Packed instructions +OPCODE(PackedAddU8, U32, U32, U32 ) +OPCODE(PackedAddS8, U32, U32, U32 ) +OPCODE(PackedSubU8, U32, U32, U32 ) +OPCODE(PackedSubS8, U32, U32, U32 ) +OPCODE(PackedAddU16, U32, U32, U32 ) +OPCODE(PackedAddS16, U32, U32, U32 ) +OPCODE(PackedSubU16, U32, U32, U32 ) +OPCODE(PackedSubS16, U32, U32, U32 ) +OPCODE(PackedAddSubU16, U32, U32, U32 ) +OPCODE(PackedAddSubS16, U32, U32, U32 ) +OPCODE(PackedSubAddU16, U32, U32, U32 ) +OPCODE(PackedSubAddS16, U32, U32, U32 ) +OPCODE(PackedHalvingAddU8, U32, U32, U32 ) +OPCODE(PackedHalvingAddS8, U32, U32, U32 ) +OPCODE(PackedHalvingSubU8, U32, U32, U32 ) +OPCODE(PackedHalvingSubS8, U32, U32, U32 ) +OPCODE(PackedHalvingAddU16, U32, U32, U32 ) +OPCODE(PackedHalvingAddS16, U32, U32, U32 ) +OPCODE(PackedHalvingSubU16, U32, U32, U32 ) +OPCODE(PackedHalvingSubS16, U32, U32, U32 ) +OPCODE(PackedHalvingAddSubU16, U32, U32, U32 ) +OPCODE(PackedHalvingAddSubS16, U32, U32, U32 ) +OPCODE(PackedHalvingSubAddU16, U32, U32, U32 ) +OPCODE(PackedHalvingSubAddS16, U32, U32, U32 ) +OPCODE(PackedSaturatedAddU8, U32, U32, U32 ) +OPCODE(PackedSaturatedAddS8, U32, U32, U32 ) +OPCODE(PackedSaturatedSubU8, U32, U32, U32 ) +OPCODE(PackedSaturatedSubS8, U32, U32, U32 ) +OPCODE(PackedSaturatedAddU16, U32, U32, U32 ) +OPCODE(PackedSaturatedAddS16, U32, U32, U32 ) +OPCODE(PackedSaturatedSubU16, U32, U32, U32 ) +OPCODE(PackedSaturatedSubS16, U32, U32, U32 ) +OPCODE(PackedAbsDiffSumS8, U32, U32, U32 ) +OPCODE(PackedSelect, U32, U32, U32, U32 ) + +// CRC instructions +OPCODE(CRC32Castagnoli8, U32, U32, U32 ) +OPCODE(CRC32Castagnoli16, U32, U32, U32 ) +OPCODE(CRC32Castagnoli32, U32, U32, U32 ) +OPCODE(CRC32Castagnoli64, U32, U32, U64 ) +OPCODE(CRC32ISO8, U32, U32, U32 ) +OPCODE(CRC32ISO16, U32, U32, U32 ) +OPCODE(CRC32ISO32, U32, U32, U32 ) +OPCODE(CRC32ISO64, U32, U32, U64 ) + +// AES instructions +OPCODE(AESDecryptSingleRound, U128, U128 ) +OPCODE(AESEncryptSingleRound, U128, U128 ) +OPCODE(AESInverseMixColumns, U128, U128 ) +OPCODE(AESMixColumns, U128, U128 ) + +// SM4 instructions +OPCODE(SM4AccessSubstitutionBox, U8, U8 ) + +// Vector instructions +OPCODE(VectorGetElement8, U8, U128, U8 ) +OPCODE(VectorGetElement16, U16, U128, U8 ) +OPCODE(VectorGetElement32, U32, U128, U8 ) +OPCODE(VectorGetElement64, U64, U128, U8 ) +OPCODE(VectorSetElement8, U128, U128, U8, U8 ) +OPCODE(VectorSetElement16, U128, U128, U8, U16 ) +OPCODE(VectorSetElement32, U128, U128, U8, U32 ) +OPCODE(VectorSetElement64, U128, U128, U8, U64 ) +OPCODE(VectorAbs8, U128, U128 ) +OPCODE(VectorAbs16, U128, U128 ) +OPCODE(VectorAbs32, U128, U128 ) +OPCODE(VectorAbs64, U128, U128 ) +OPCODE(VectorAdd8, U128, U128, U128 ) +OPCODE(VectorAdd16, U128, U128, U128 ) +OPCODE(VectorAdd32, U128, U128, U128 ) +OPCODE(VectorAdd64, U128, U128, U128 ) +OPCODE(VectorAnd, U128, U128, U128 ) +OPCODE(VectorArithmeticShiftRight8, U128, U128, U8 ) +OPCODE(VectorArithmeticShiftRight16, U128, U128, U8 ) +OPCODE(VectorArithmeticShiftRight32, U128, U128, U8 ) +OPCODE(VectorArithmeticShiftRight64, U128, U128, U8 ) +OPCODE(VectorArithmeticVShift8, U128, U128, U128 ) +OPCODE(VectorArithmeticVShift16, U128, U128, U128 ) +OPCODE(VectorArithmeticVShift32, U128, U128, U128 ) +OPCODE(VectorArithmeticVShift64, U128, U128, U128 ) +OPCODE(VectorBroadcastLower8, U128, U8 ) +OPCODE(VectorBroadcastLower16, U128, U16 ) +OPCODE(VectorBroadcastLower32, U128, U32 ) +OPCODE(VectorBroadcast8, U128, U8 ) +OPCODE(VectorBroadcast16, U128, U16 ) +OPCODE(VectorBroadcast32, U128, U32 ) +OPCODE(VectorBroadcast64, U128, U64 ) +OPCODE(VectorCountLeadingZeros8, U128, U128 ) +OPCODE(VectorCountLeadingZeros16, U128, U128 ) +OPCODE(VectorCountLeadingZeros32, U128, U128 ) +OPCODE(VectorDeinterleaveEven8, U128, U128, U128 ) +OPCODE(VectorDeinterleaveEven16, U128, U128, U128 ) +OPCODE(VectorDeinterleaveEven32, U128, U128, U128 ) +OPCODE(VectorDeinterleaveEven64, U128, U128, U128 ) +OPCODE(VectorDeinterleaveEvenLower8, U128, U128, U128 ) +OPCODE(VectorDeinterleaveEvenLower16, U128, U128, U128 ) +OPCODE(VectorDeinterleaveEvenLower32, U128, U128, U128 ) +OPCODE(VectorDeinterleaveEvenLower64, U128, U128, U128 ) +OPCODE(VectorDeinterleaveOdd8, U128, U128, U128 ) +OPCODE(VectorDeinterleaveOdd16, U128, U128, U128 ) +OPCODE(VectorDeinterleaveOdd32, U128, U128, U128 ) +OPCODE(VectorDeinterleaveOdd64, U128, U128, U128 ) +OPCODE(VectorDeinterleaveOddLower8, U128, U128, U128 ) +OPCODE(VectorDeinterleaveOddLower16, U128, U128, U128 ) +OPCODE(VectorDeinterleaveOddLower32, U128, U128, U128 ) +OPCODE(VectorDeinterleaveOddLower64, U128, U128, U128 ) +OPCODE(VectorEor, U128, U128, U128 ) +OPCODE(VectorEqual8, U128, U128, U128 ) +OPCODE(VectorEqual16, U128, U128, U128 ) +OPCODE(VectorEqual32, U128, U128, U128 ) +OPCODE(VectorEqual64, U128, U128, U128 ) +OPCODE(VectorEqual128, U128, U128, U128 ) +OPCODE(VectorExtract, U128, U128, U128, U8 ) +OPCODE(VectorExtractLower, U128, U128, U128, U8 ) +OPCODE(VectorGreaterS8, U128, U128, U128 ) +OPCODE(VectorGreaterS16, U128, U128, U128 ) +OPCODE(VectorGreaterS32, U128, U128, U128 ) +OPCODE(VectorGreaterS64, U128, U128, U128 ) +OPCODE(VectorHalvingAddS8, U128, U128, U128 ) +OPCODE(VectorHalvingAddS16, U128, U128, U128 ) +OPCODE(VectorHalvingAddS32, U128, U128, U128 ) +OPCODE(VectorHalvingAddU8, U128, U128, U128 ) +OPCODE(VectorHalvingAddU16, U128, U128, U128 ) +OPCODE(VectorHalvingAddU32, U128, U128, U128 ) +OPCODE(VectorHalvingSubS8, U128, U128, U128 ) +OPCODE(VectorHalvingSubS16, U128, U128, U128 ) +OPCODE(VectorHalvingSubS32, U128, U128, U128 ) +OPCODE(VectorHalvingSubU8, U128, U128, U128 ) +OPCODE(VectorHalvingSubU16, U128, U128, U128 ) +OPCODE(VectorHalvingSubU32, U128, U128, U128 ) +OPCODE(VectorInterleaveLower8, U128, U128, U128 ) +OPCODE(VectorInterleaveLower16, U128, U128, U128 ) +OPCODE(VectorInterleaveLower32, U128, U128, U128 ) +OPCODE(VectorInterleaveLower64, U128, U128, U128 ) +OPCODE(VectorInterleaveUpper8, U128, U128, U128 ) +OPCODE(VectorInterleaveUpper16, U128, U128, U128 ) +OPCODE(VectorInterleaveUpper32, U128, U128, U128 ) +OPCODE(VectorInterleaveUpper64, U128, U128, U128 ) +OPCODE(VectorLogicalShiftLeft8, U128, U128, U8 ) +OPCODE(VectorLogicalShiftLeft16, U128, U128, U8 ) +OPCODE(VectorLogicalShiftLeft32, U128, U128, U8 ) +OPCODE(VectorLogicalShiftLeft64, U128, U128, U8 ) +OPCODE(VectorLogicalShiftRight8, U128, U128, U8 ) +OPCODE(VectorLogicalShiftRight16, U128, U128, U8 ) +OPCODE(VectorLogicalShiftRight32, U128, U128, U8 ) +OPCODE(VectorLogicalShiftRight64, U128, U128, U8 ) +OPCODE(VectorLogicalVShift8, U128, U128, U128 ) +OPCODE(VectorLogicalVShift16, U128, U128, U128 ) +OPCODE(VectorLogicalVShift32, U128, U128, U128 ) +OPCODE(VectorLogicalVShift64, U128, U128, U128 ) +OPCODE(VectorMaxS8, U128, U128, U128 ) +OPCODE(VectorMaxS16, U128, U128, U128 ) +OPCODE(VectorMaxS32, U128, U128, U128 ) +OPCODE(VectorMaxS64, U128, U128, U128 ) +OPCODE(VectorMaxU8, U128, U128, U128 ) +OPCODE(VectorMaxU16, U128, U128, U128 ) +OPCODE(VectorMaxU32, U128, U128, U128 ) +OPCODE(VectorMaxU64, U128, U128, U128 ) +OPCODE(VectorMinS8, U128, U128, U128 ) +OPCODE(VectorMinS16, U128, U128, U128 ) +OPCODE(VectorMinS32, U128, U128, U128 ) +OPCODE(VectorMinS64, U128, U128, U128 ) +OPCODE(VectorMinU8, U128, U128, U128 ) +OPCODE(VectorMinU16, U128, U128, U128 ) +OPCODE(VectorMinU32, U128, U128, U128 ) +OPCODE(VectorMinU64, U128, U128, U128 ) +OPCODE(VectorMultiply8, U128, U128, U128 ) +OPCODE(VectorMultiply16, U128, U128, U128 ) +OPCODE(VectorMultiply32, U128, U128, U128 ) +OPCODE(VectorMultiply64, U128, U128, U128 ) +OPCODE(VectorNarrow16, U128, U128 ) +OPCODE(VectorNarrow32, U128, U128 ) +OPCODE(VectorNarrow64, U128, U128 ) +OPCODE(VectorNot, U128, U128 ) +OPCODE(VectorOr, U128, U128, U128 ) +OPCODE(VectorPairedAddLower8, U128, U128, U128 ) +OPCODE(VectorPairedAddLower16, U128, U128, U128 ) +OPCODE(VectorPairedAddLower32, U128, U128, U128 ) +OPCODE(VectorPairedAddSignedWiden8, U128, U128 ) +OPCODE(VectorPairedAddSignedWiden16, U128, U128 ) +OPCODE(VectorPairedAddSignedWiden32, U128, U128 ) +OPCODE(VectorPairedAddUnsignedWiden8, U128, U128 ) +OPCODE(VectorPairedAddUnsignedWiden16, U128, U128 ) +OPCODE(VectorPairedAddUnsignedWiden32, U128, U128 ) +OPCODE(VectorPairedAdd8, U128, U128, U128 ) +OPCODE(VectorPairedAdd16, U128, U128, U128 ) +OPCODE(VectorPairedAdd32, U128, U128, U128 ) +OPCODE(VectorPairedAdd64, U128, U128, U128 ) +OPCODE(VectorPairedMaxS8, U128, U128, U128 ) +OPCODE(VectorPairedMaxS16, U128, U128, U128 ) +OPCODE(VectorPairedMaxS32, U128, U128, U128 ) +OPCODE(VectorPairedMaxU8, U128, U128, U128 ) +OPCODE(VectorPairedMaxU16, U128, U128, U128 ) +OPCODE(VectorPairedMaxU32, U128, U128, U128 ) +OPCODE(VectorPairedMinS8, U128, U128, U128 ) +OPCODE(VectorPairedMinS16, U128, U128, U128 ) +OPCODE(VectorPairedMinS32, U128, U128, U128 ) +OPCODE(VectorPairedMinU8, U128, U128, U128 ) +OPCODE(VectorPairedMinU16, U128, U128, U128 ) +OPCODE(VectorPairedMinU32, U128, U128, U128 ) +OPCODE(VectorPolynomialMultiply8, U128, U128, U128 ) +OPCODE(VectorPolynomialMultiplyLong8, U128, U128, U128 ) +OPCODE(VectorPolynomialMultiplyLong64, U128, U128, U128 ) +OPCODE(VectorPopulationCount, U128, U128 ) +OPCODE(VectorReverseBits, U128, U128 ) +OPCODE(VectorRoundingHalvingAddS8, U128, U128, U128 ) +OPCODE(VectorRoundingHalvingAddS16, U128, U128, U128 ) +OPCODE(VectorRoundingHalvingAddS32, U128, U128, U128 ) +OPCODE(VectorRoundingHalvingAddU8, U128, U128, U128 ) +OPCODE(VectorRoundingHalvingAddU16, U128, U128, U128 ) +OPCODE(VectorRoundingHalvingAddU32, U128, U128, U128 ) +OPCODE(VectorRoundingShiftLeftS8, U128, U128, U128 ) +OPCODE(VectorRoundingShiftLeftS16, U128, U128, U128 ) +OPCODE(VectorRoundingShiftLeftS32, U128, U128, U128 ) +OPCODE(VectorRoundingShiftLeftS64, U128, U128, U128 ) +OPCODE(VectorRoundingShiftLeftU8, U128, U128, U128 ) +OPCODE(VectorRoundingShiftLeftU16, U128, U128, U128 ) +OPCODE(VectorRoundingShiftLeftU32, U128, U128, U128 ) +OPCODE(VectorRoundingShiftLeftU64, U128, U128, U128 ) +OPCODE(VectorShuffleHighHalfwords, U128, U128, U8 ) +OPCODE(VectorShuffleLowHalfwords, U128, U128, U8 ) +OPCODE(VectorShuffleWords, U128, U128, U8 ) +OPCODE(VectorSignExtend8, U128, U128 ) +OPCODE(VectorSignExtend16, U128, U128 ) +OPCODE(VectorSignExtend32, U128, U128 ) +OPCODE(VectorSignExtend64, U128, U128 ) +OPCODE(VectorSignedAbsoluteDifference8, U128, U128, U128 ) +OPCODE(VectorSignedAbsoluteDifference16, U128, U128, U128 ) +OPCODE(VectorSignedAbsoluteDifference32, U128, U128, U128 ) +OPCODE(VectorSignedMultiply16, Void, U128, U128 ) +OPCODE(VectorSignedMultiply32, Void, U128, U128 ) +OPCODE(VectorSignedSaturatedAbs8, U128, U128 ) +OPCODE(VectorSignedSaturatedAbs16, U128, U128 ) +OPCODE(VectorSignedSaturatedAbs32, U128, U128 ) +OPCODE(VectorSignedSaturatedAbs64, U128, U128 ) +OPCODE(VectorSignedSaturatedAccumulateUnsigned8, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedAccumulateUnsigned16, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedAccumulateUnsigned32, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedAccumulateUnsigned64, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedDoublingMultiply16, Void, U128, U128 ) +OPCODE(VectorSignedSaturatedDoublingMultiply32, Void, U128, U128 ) +OPCODE(VectorSignedSaturatedDoublingMultiplyLong16, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedDoublingMultiplyLong32, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedNarrowToSigned16, U128, U128 ) +OPCODE(VectorSignedSaturatedNarrowToSigned32, U128, U128 ) +OPCODE(VectorSignedSaturatedNarrowToSigned64, U128, U128 ) +OPCODE(VectorSignedSaturatedNarrowToUnsigned16, U128, U128 ) +OPCODE(VectorSignedSaturatedNarrowToUnsigned32, U128, U128 ) +OPCODE(VectorSignedSaturatedNarrowToUnsigned64, U128, U128 ) +OPCODE(VectorSignedSaturatedNeg8, U128, U128 ) +OPCODE(VectorSignedSaturatedNeg16, U128, U128 ) +OPCODE(VectorSignedSaturatedNeg32, U128, U128 ) +OPCODE(VectorSignedSaturatedNeg64, U128, U128 ) +OPCODE(VectorSignedSaturatedShiftLeft8, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedShiftLeft16, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedShiftLeft32, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedShiftLeft64, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedShiftLeftUnsigned8, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedShiftLeftUnsigned16, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedShiftLeftUnsigned32, U128, U128, U128 ) +OPCODE(VectorSignedSaturatedShiftLeftUnsigned64, U128, U128, U128 ) +OPCODE(VectorSub8, U128, U128, U128 ) +OPCODE(VectorSub16, U128, U128, U128 ) +OPCODE(VectorSub32, U128, U128, U128 ) +OPCODE(VectorSub64, U128, U128, U128 ) +OPCODE(VectorTable, Table, Opaque, Opaque, Opaque, Opaque ) +OPCODE(VectorTableLookup64, U64, U64, Table, U64 ) +OPCODE(VectorTableLookup128, U128, U128, Table, U128 ) +OPCODE(VectorTranspose8, U128, U128, U128, U1 ) +OPCODE(VectorTranspose16, U128, U128, U128, U1 ) +OPCODE(VectorTranspose32, U128, U128, U128, U1 ) +OPCODE(VectorTranspose64, U128, U128, U128, U1 ) +OPCODE(VectorUnsignedAbsoluteDifference8, U128, U128, U128 ) +OPCODE(VectorUnsignedAbsoluteDifference16, U128, U128, U128 ) +OPCODE(VectorUnsignedAbsoluteDifference32, U128, U128, U128 ) +OPCODE(VectorUnsignedMultiply16, Void, U128, U128 ) +OPCODE(VectorUnsignedMultiply32, Void, U128, U128 ) +OPCODE(VectorUnsignedRecipEstimate, U128, U128 ) +OPCODE(VectorUnsignedRecipSqrtEstimate, U128, U128 ) +OPCODE(VectorUnsignedSaturatedAccumulateSigned8, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedAccumulateSigned16, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedAccumulateSigned32, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedAccumulateSigned64, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedNarrow16, U128, U128 ) +OPCODE(VectorUnsignedSaturatedNarrow32, U128, U128 ) +OPCODE(VectorUnsignedSaturatedNarrow64, U128, U128 ) +OPCODE(VectorUnsignedSaturatedShiftLeft8, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedShiftLeft16, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedShiftLeft32, U128, U128, U128 ) +OPCODE(VectorUnsignedSaturatedShiftLeft64, U128, U128, U128 ) +OPCODE(VectorZeroExtend8, U128, U128 ) +OPCODE(VectorZeroExtend16, U128, U128 ) +OPCODE(VectorZeroExtend32, U128, U128 ) +OPCODE(VectorZeroExtend64, U128, U128 ) +OPCODE(VectorZeroUpper, U128, U128 ) +OPCODE(ZeroVector, U128, ) + +// Floating-point operations +OPCODE(FPAbs16, U16, U16 ) +OPCODE(FPAbs32, U32, U32 ) +OPCODE(FPAbs64, U64, U64 ) +OPCODE(FPAdd32, U32, U32, U32 ) +OPCODE(FPAdd64, U64, U64, U64 ) +OPCODE(FPCompare32, NZCV, U32, U32, U1 ) +OPCODE(FPCompare64, NZCV, U64, U64, U1 ) +OPCODE(FPDiv32, U32, U32, U32 ) +OPCODE(FPDiv64, U64, U64, U64 ) +OPCODE(FPMax32, U32, U32, U32 ) +OPCODE(FPMax64, U64, U64, U64 ) +OPCODE(FPMaxNumeric32, U32, U32, U32 ) +OPCODE(FPMaxNumeric64, U64, U64, U64 ) +OPCODE(FPMin32, U32, U32, U32 ) +OPCODE(FPMin64, U64, U64, U64 ) +OPCODE(FPMinNumeric32, U32, U32, U32 ) +OPCODE(FPMinNumeric64, U64, U64, U64 ) +OPCODE(FPMul32, U32, U32, U32 ) +OPCODE(FPMul64, U64, U64, U64 ) +OPCODE(FPMulAdd16, U16, U16, U16, U16 ) +OPCODE(FPMulAdd32, U32, U32, U32, U32 ) +OPCODE(FPMulAdd64, U64, U64, U64, U64 ) +OPCODE(FPMulX32, U32, U32, U32 ) +OPCODE(FPMulX64, U64, U64, U64 ) +OPCODE(FPNeg16, U16, U16 ) +OPCODE(FPNeg32, U32, U32 ) +OPCODE(FPNeg64, U64, U64 ) +OPCODE(FPRecipEstimate16, U16, U16 ) +OPCODE(FPRecipEstimate32, U32, U32 ) +OPCODE(FPRecipEstimate64, U64, U64 ) +OPCODE(FPRecipExponent16, U16, U16 ) +OPCODE(FPRecipExponent32, U32, U32 ) +OPCODE(FPRecipExponent64, U64, U64 ) +OPCODE(FPRecipStepFused16, U16, U16, U16 ) +OPCODE(FPRecipStepFused32, U32, U32, U32 ) +OPCODE(FPRecipStepFused64, U64, U64, U64 ) +OPCODE(FPRoundInt16, U16, U16, U8, U1 ) +OPCODE(FPRoundInt32, U32, U32, U8, U1 ) +OPCODE(FPRoundInt64, U64, U64, U8, U1 ) +OPCODE(FPRSqrtEstimate16, U16, U16 ) +OPCODE(FPRSqrtEstimate32, U32, U32 ) +OPCODE(FPRSqrtEstimate64, U64, U64 ) +OPCODE(FPRSqrtStepFused16, U16, U16, U16 ) +OPCODE(FPRSqrtStepFused32, U32, U32, U32 ) +OPCODE(FPRSqrtStepFused64, U64, U64, U64 ) +OPCODE(FPSqrt32, U32, U32 ) +OPCODE(FPSqrt64, U64, U64 ) +OPCODE(FPSub32, U32, U32, U32 ) +OPCODE(FPSub64, U64, U64, U64 ) + +// Floating-point conversions +OPCODE(FPHalfToDouble, U64, U16, U8 ) +OPCODE(FPHalfToSingle, U32, U16, U8 ) +OPCODE(FPSingleToDouble, U64, U32, U8 ) +OPCODE(FPSingleToHalf, U16, U32, U8 ) +OPCODE(FPDoubleToHalf, U16, U64, U8 ) +OPCODE(FPDoubleToSingle, U32, U64, U8 ) +OPCODE(FPDoubleToFixedS16, U16, U64, U8, U8 ) +OPCODE(FPDoubleToFixedS32, U32, U64, U8, U8 ) +OPCODE(FPDoubleToFixedS64, U64, U64, U8, U8 ) +OPCODE(FPDoubleToFixedU16, U16, U64, U8, U8 ) +OPCODE(FPDoubleToFixedU32, U32, U64, U8, U8 ) +OPCODE(FPDoubleToFixedU64, U64, U64, U8, U8 ) +OPCODE(FPHalfToFixedS16, U16, U16, U8, U8 ) +OPCODE(FPHalfToFixedS32, U32, U16, U8, U8 ) +OPCODE(FPHalfToFixedS64, U64, U16, U8, U8 ) +OPCODE(FPHalfToFixedU16, U16, U16, U8, U8 ) +OPCODE(FPHalfToFixedU32, U32, U16, U8, U8 ) +OPCODE(FPHalfToFixedU64, U64, U16, U8, U8 ) +OPCODE(FPSingleToFixedS16, U16, U32, U8, U8 ) +OPCODE(FPSingleToFixedS32, U32, U32, U8, U8 ) +OPCODE(FPSingleToFixedS64, U64, U32, U8, U8 ) +OPCODE(FPSingleToFixedU16, U16, U32, U8, U8 ) +OPCODE(FPSingleToFixedU32, U32, U32, U8, U8 ) +OPCODE(FPSingleToFixedU64, U64, U32, U8, U8 ) +OPCODE(FPFixedU16ToSingle, U32, U16, U8, U8 ) +OPCODE(FPFixedS16ToSingle, U32, U16, U8, U8 ) +OPCODE(FPFixedU16ToDouble, U64, U16, U8, U8 ) +OPCODE(FPFixedS16ToDouble, U64, U16, U8, U8 ) +OPCODE(FPFixedU32ToSingle, U32, U32, U8, U8 ) +OPCODE(FPFixedS32ToSingle, U32, U32, U8, U8 ) +OPCODE(FPFixedU32ToDouble, U64, U32, U8, U8 ) +OPCODE(FPFixedS32ToDouble, U64, U32, U8, U8 ) +OPCODE(FPFixedU64ToDouble, U64, U64, U8, U8 ) +OPCODE(FPFixedU64ToSingle, U32, U64, U8, U8 ) +OPCODE(FPFixedS64ToDouble, U64, U64, U8, U8 ) +OPCODE(FPFixedS64ToSingle, U32, U64, U8, U8 ) + +// Floating-point vector instructions +OPCODE(FPVectorAbs16, U128, U128 ) +OPCODE(FPVectorAbs32, U128, U128 ) +OPCODE(FPVectorAbs64, U128, U128 ) +OPCODE(FPVectorAdd32, U128, U128, U128, U1 ) +OPCODE(FPVectorAdd64, U128, U128, U128, U1 ) +OPCODE(FPVectorDiv32, U128, U128, U128, U1 ) +OPCODE(FPVectorDiv64, U128, U128, U128, U1 ) +OPCODE(FPVectorEqual16, U128, U128, U128, U1 ) +OPCODE(FPVectorEqual32, U128, U128, U128, U1 ) +OPCODE(FPVectorEqual64, U128, U128, U128, U1 ) +OPCODE(FPVectorFromSignedFixed32, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorFromSignedFixed64, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorFromUnsignedFixed32, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorFromUnsignedFixed64, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorGreater32, U128, U128, U128, U1 ) +OPCODE(FPVectorGreater64, U128, U128, U128, U1 ) +OPCODE(FPVectorGreaterEqual32, U128, U128, U128, U1 ) +OPCODE(FPVectorGreaterEqual64, U128, U128, U128, U1 ) +OPCODE(FPVectorMax32, U128, U128, U128, U1 ) +OPCODE(FPVectorMax64, U128, U128, U128, U1 ) +OPCODE(FPVectorMin32, U128, U128, U128, U1 ) +OPCODE(FPVectorMin64, U128, U128, U128, U1 ) +OPCODE(FPVectorMul32, U128, U128, U128, U1 ) +OPCODE(FPVectorMul64, U128, U128, U128, U1 ) +OPCODE(FPVectorMulAdd16, U128, U128, U128, U128, U1 ) +OPCODE(FPVectorMulAdd32, U128, U128, U128, U128, U1 ) +OPCODE(FPVectorMulAdd64, U128, U128, U128, U128, U1 ) +OPCODE(FPVectorMulX32, U128, U128, U128, U1 ) +OPCODE(FPVectorMulX64, U128, U128, U128, U1 ) +OPCODE(FPVectorNeg16, U128, U128 ) +OPCODE(FPVectorNeg32, U128, U128 ) +OPCODE(FPVectorNeg64, U128, U128 ) +OPCODE(FPVectorPairedAdd32, U128, U128, U128, U1 ) +OPCODE(FPVectorPairedAdd64, U128, U128, U128, U1 ) +OPCODE(FPVectorPairedAddLower32, U128, U128, U128, U1 ) +OPCODE(FPVectorPairedAddLower64, U128, U128, U128, U1 ) +OPCODE(FPVectorRecipEstimate16, U128, U128, U1 ) +OPCODE(FPVectorRecipEstimate32, U128, U128, U1 ) +OPCODE(FPVectorRecipEstimate64, U128, U128, U1 ) +OPCODE(FPVectorRecipStepFused16, U128, U128, U128, U1 ) +OPCODE(FPVectorRecipStepFused32, U128, U128, U128, U1 ) +OPCODE(FPVectorRecipStepFused64, U128, U128, U128, U1 ) +OPCODE(FPVectorRoundInt16, U128, U128, U8, U1, U1 ) +OPCODE(FPVectorRoundInt32, U128, U128, U8, U1, U1 ) +OPCODE(FPVectorRoundInt64, U128, U128, U8, U1, U1 ) +OPCODE(FPVectorRSqrtEstimate16, U128, U128, U1 ) +OPCODE(FPVectorRSqrtEstimate32, U128, U128, U1 ) +OPCODE(FPVectorRSqrtEstimate64, U128, U128, U1 ) +OPCODE(FPVectorRSqrtStepFused16, U128, U128, U128, U1 ) +OPCODE(FPVectorRSqrtStepFused32, U128, U128, U128, U1 ) +OPCODE(FPVectorRSqrtStepFused64, U128, U128, U128, U1 ) +OPCODE(FPVectorSqrt32, U128, U128, U1 ) +OPCODE(FPVectorSqrt64, U128, U128, U1 ) +OPCODE(FPVectorSub32, U128, U128, U128, U1 ) +OPCODE(FPVectorSub64, U128, U128, U128, U1 ) +OPCODE(FPVectorToSignedFixed16, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorToSignedFixed32, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorToSignedFixed64, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorToUnsignedFixed16, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorToUnsignedFixed32, U128, U128, U8, U8, U1 ) +OPCODE(FPVectorToUnsignedFixed64, U128, U128, U8, U8, U1 ) + +// A32 Memory access +A32OPC(ClearExclusive, Void, ) +A32OPC(ReadMemory8, U8, U32 ) +A32OPC(ReadMemory16, U16, U32 ) +A32OPC(ReadMemory32, U32, U32 ) +A32OPC(ReadMemory64, U64, U32 ) +A32OPC(ExclusiveReadMemory8, U8, U32 ) +A32OPC(ExclusiveReadMemory16, U16, U32 ) +A32OPC(ExclusiveReadMemory32, U32, U32 ) +A32OPC(ExclusiveReadMemory64, U64, U32 ) +A32OPC(WriteMemory8, Void, U32, U8 ) +A32OPC(WriteMemory16, Void, U32, U16 ) +A32OPC(WriteMemory32, Void, U32, U32 ) +A32OPC(WriteMemory64, Void, U32, U64 ) +A32OPC(ExclusiveWriteMemory8, U32, U32, U8 ) +A32OPC(ExclusiveWriteMemory16, U32, U32, U16 ) +A32OPC(ExclusiveWriteMemory32, U32, U32, U32 ) +A32OPC(ExclusiveWriteMemory64, U32, U32, U64 ) + +// A64 Memory access +A64OPC(ClearExclusive, Void, ) +A64OPC(ReadMemory8, U8, U64 ) +A64OPC(ReadMemory16, U16, U64 ) +A64OPC(ReadMemory32, U32, U64 ) +A64OPC(ReadMemory64, U64, U64 ) +A64OPC(ReadMemory128, U128, U64 ) +A64OPC(ExclusiveReadMemory8, U8, U64 ) +A64OPC(ExclusiveReadMemory16, U16, U64 ) +A64OPC(ExclusiveReadMemory32, U32, U64 ) +A64OPC(ExclusiveReadMemory64, U64, U64 ) +A64OPC(ExclusiveReadMemory128, U128, U64 ) +A64OPC(WriteMemory8, Void, U64, U8 ) +A64OPC(WriteMemory16, Void, U64, U16 ) +A64OPC(WriteMemory32, Void, U64, U32 ) +A64OPC(WriteMemory64, Void, U64, U64 ) +A64OPC(WriteMemory128, Void, U64, U128 ) +A64OPC(ExclusiveWriteMemory8, U32, U64, U8 ) +A64OPC(ExclusiveWriteMemory16, U32, U64, U16 ) +A64OPC(ExclusiveWriteMemory32, U32, U64, U32 ) +A64OPC(ExclusiveWriteMemory64, U32, U64, U64 ) +A64OPC(ExclusiveWriteMemory128, U32, U64, U128 ) + +// Coprocessor +A32OPC(CoprocInternalOperation, Void, CoprocInfo ) +A32OPC(CoprocSendOneWord, Void, CoprocInfo, U32 ) +A32OPC(CoprocSendTwoWords, Void, CoprocInfo, U32, U32 ) +A32OPC(CoprocGetOneWord, U32, CoprocInfo ) +A32OPC(CoprocGetTwoWords, U64, CoprocInfo ) +A32OPC(CoprocLoadWords, Void, CoprocInfo, U32 ) +A32OPC(CoprocStoreWords, Void, CoprocInfo, U32 ) diff --git a/externals/dynarmic/src/dynarmic/ir/opt/a32_constant_memory_reads_pass.cpp b/externals/dynarmic/src/dynarmic/ir/opt/a32_constant_memory_reads_pass.cpp new file mode 100755 index 000000000..a3ff8568a --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/a32_constant_memory_reads_pass.cpp @@ -0,0 +1,77 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/interface/A32/config.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/opt/passes.h" + +namespace Dynarmic::Optimization { + +void A32ConstantMemoryReads(IR::Block& block, A32::UserCallbacks* cb) { + for (auto& inst : block) { + switch (inst.GetOpcode()) { + case IR::Opcode::A32SetCFlag: { + const IR::Value arg = inst.GetArg(0); + if (!arg.IsImmediate() && arg.GetInst()->GetOpcode() == IR::Opcode::A32GetCFlag) { + inst.Invalidate(); + } + break; + } + case IR::Opcode::A32ReadMemory8: { + if (!inst.AreAllArgsImmediates()) { + break; + } + + const u32 vaddr = inst.GetArg(0).GetU32(); + if (cb->IsReadOnlyMemory(vaddr)) { + const u8 value_from_memory = cb->MemoryRead8(vaddr); + inst.ReplaceUsesWith(IR::Value{value_from_memory}); + } + break; + } + case IR::Opcode::A32ReadMemory16: { + if (!inst.AreAllArgsImmediates()) { + break; + } + + const u32 vaddr = inst.GetArg(0).GetU32(); + if (cb->IsReadOnlyMemory(vaddr)) { + const u16 value_from_memory = cb->MemoryRead16(vaddr); + inst.ReplaceUsesWith(IR::Value{value_from_memory}); + } + break; + } + case IR::Opcode::A32ReadMemory32: { + if (!inst.AreAllArgsImmediates()) { + break; + } + + const u32 vaddr = inst.GetArg(0).GetU32(); + if (cb->IsReadOnlyMemory(vaddr)) { + const u32 value_from_memory = cb->MemoryRead32(vaddr); + inst.ReplaceUsesWith(IR::Value{value_from_memory}); + } + break; + } + case IR::Opcode::A32ReadMemory64: { + if (!inst.AreAllArgsImmediates()) { + break; + } + + const u32 vaddr = inst.GetArg(0).GetU32(); + if (cb->IsReadOnlyMemory(vaddr)) { + const u64 value_from_memory = cb->MemoryRead64(vaddr); + inst.ReplaceUsesWith(IR::Value{value_from_memory}); + } + break; + } + default: + break; + } + } +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/a32_get_set_elimination_pass.cpp b/externals/dynarmic/src/dynarmic/ir/opt/a32_get_set_elimination_pass.cpp new file mode 100755 index 000000000..03550c82c --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/a32_get_set_elimination_pass.cpp @@ -0,0 +1,219 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A32/types.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/opt/passes.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::Optimization { + +void A32GetSetElimination(IR::Block& block) { + using Iterator = IR::Block::iterator; + struct RegisterInfo { + IR::Value register_value; + bool set_instruction_present = false; + Iterator last_set_instruction; + }; + std::array reg_info; + std::array ext_reg_singles_info; + std::array ext_reg_doubles_info; + std::array ext_reg_vector_double_info; + std::array ext_reg_vector_quad_info; + struct CpsrInfo { + RegisterInfo n; + RegisterInfo z; + RegisterInfo c; + RegisterInfo v; + RegisterInfo ge; + } cpsr_info; + + const auto do_set = [&block](RegisterInfo& info, IR::Value value, Iterator set_inst) { + if (info.set_instruction_present) { + info.last_set_instruction->Invalidate(); + block.Instructions().erase(info.last_set_instruction); + } + + info.register_value = value; + info.set_instruction_present = true; + info.last_set_instruction = set_inst; + }; + + const auto do_get = [](RegisterInfo& info, Iterator get_inst) { + if (info.register_value.IsEmpty()) { + info.register_value = IR::Value(&*get_inst); + return; + } + get_inst->ReplaceUsesWith(info.register_value); + }; + + for (auto inst = block.begin(); inst != block.end(); ++inst) { + switch (inst->GetOpcode()) { + case IR::Opcode::A32SetRegister: { + const A32::Reg reg = inst->GetArg(0).GetA32RegRef(); + if (reg == A32::Reg::PC) { + break; + } + const auto reg_index = static_cast(reg); + do_set(reg_info[reg_index], inst->GetArg(1), inst); + break; + } + case IR::Opcode::A32GetRegister: { + const A32::Reg reg = inst->GetArg(0).GetA32RegRef(); + ASSERT(reg != A32::Reg::PC); + const size_t reg_index = static_cast(reg); + do_get(reg_info[reg_index], inst); + break; + } + case IR::Opcode::A32SetExtendedRegister32: { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + const size_t reg_index = A32::RegNumber(reg); + do_set(ext_reg_singles_info[reg_index], inst->GetArg(1), inst); + + ext_reg_doubles_info[reg_index / 2] = {}; + ext_reg_vector_double_info[reg_index / 2] = {}; + ext_reg_vector_quad_info[reg_index / 4] = {}; + break; + } + case IR::Opcode::A32GetExtendedRegister32: { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + const size_t reg_index = A32::RegNumber(reg); + do_get(ext_reg_singles_info[reg_index], inst); + + ext_reg_doubles_info[reg_index / 2] = {}; + ext_reg_vector_double_info[reg_index / 2] = {}; + ext_reg_vector_quad_info[reg_index / 4] = {}; + break; + } + case IR::Opcode::A32SetExtendedRegister64: { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + const size_t reg_index = A32::RegNumber(reg); + do_set(ext_reg_doubles_info[reg_index], inst->GetArg(1), inst); + + ext_reg_singles_info[reg_index * 2 + 0] = {}; + ext_reg_singles_info[reg_index * 2 + 1] = {}; + ext_reg_vector_double_info[reg_index] = {}; + ext_reg_vector_quad_info[reg_index / 2] = {}; + break; + } + case IR::Opcode::A32GetExtendedRegister64: { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + const size_t reg_index = A32::RegNumber(reg); + do_get(ext_reg_doubles_info[reg_index], inst); + + ext_reg_singles_info[reg_index * 2 + 0] = {}; + ext_reg_singles_info[reg_index * 2 + 1] = {}; + ext_reg_vector_double_info[reg_index] = {}; + ext_reg_vector_quad_info[reg_index / 2] = {}; + break; + } + case IR::Opcode::A32SetVector: { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + const size_t reg_index = A32::RegNumber(reg); + if (A32::IsDoubleExtReg(reg)) { + do_set(ext_reg_vector_double_info[reg_index], inst->GetArg(1), inst); + + ext_reg_singles_info[reg_index * 2 + 0] = {}; + ext_reg_singles_info[reg_index * 2 + 1] = {}; + ext_reg_doubles_info[reg_index] = {}; + ext_reg_vector_quad_info[reg_index / 2] = {}; + } else { + DEBUG_ASSERT(A32::IsQuadExtReg(reg)); + + do_set(ext_reg_vector_quad_info[reg_index], inst->GetArg(1), inst); + + ext_reg_singles_info[reg_index * 4 + 0] = {}; + ext_reg_singles_info[reg_index * 4 + 1] = {}; + ext_reg_singles_info[reg_index * 4 + 2] = {}; + ext_reg_singles_info[reg_index * 4 + 3] = {}; + ext_reg_doubles_info[reg_index * 2 + 0] = {}; + ext_reg_doubles_info[reg_index * 2 + 1] = {}; + ext_reg_vector_double_info[reg_index * 2 + 0] = {}; + ext_reg_vector_double_info[reg_index * 2 + 1] = {}; + } + break; + } + case IR::Opcode::A32GetVector: { + const A32::ExtReg reg = inst->GetArg(0).GetA32ExtRegRef(); + const size_t reg_index = A32::RegNumber(reg); + if (A32::IsDoubleExtReg(reg)) { + do_get(ext_reg_vector_double_info[reg_index], inst); + + ext_reg_singles_info[reg_index * 2 + 0] = {}; + ext_reg_singles_info[reg_index * 2 + 1] = {}; + ext_reg_doubles_info[reg_index] = {}; + ext_reg_vector_quad_info[reg_index / 2] = {}; + } else { + DEBUG_ASSERT(A32::IsQuadExtReg(reg)); + + do_get(ext_reg_vector_quad_info[reg_index], inst); + + ext_reg_singles_info[reg_index * 4 + 0] = {}; + ext_reg_singles_info[reg_index * 4 + 1] = {}; + ext_reg_singles_info[reg_index * 4 + 2] = {}; + ext_reg_singles_info[reg_index * 4 + 3] = {}; + ext_reg_doubles_info[reg_index * 2 + 0] = {}; + ext_reg_doubles_info[reg_index * 2 + 1] = {}; + ext_reg_vector_double_info[reg_index * 2 + 0] = {}; + ext_reg_vector_double_info[reg_index * 2 + 1] = {}; + } + break; + } + case IR::Opcode::A32SetNFlag: { + do_set(cpsr_info.n, inst->GetArg(0), inst); + break; + } + case IR::Opcode::A32GetNFlag: { + do_get(cpsr_info.n, inst); + break; + } + case IR::Opcode::A32SetZFlag: { + do_set(cpsr_info.z, inst->GetArg(0), inst); + break; + } + case IR::Opcode::A32GetZFlag: { + do_get(cpsr_info.z, inst); + break; + } + case IR::Opcode::A32SetCFlag: { + do_set(cpsr_info.c, inst->GetArg(0), inst); + break; + } + case IR::Opcode::A32GetCFlag: { + do_get(cpsr_info.c, inst); + break; + } + case IR::Opcode::A32SetVFlag: { + do_set(cpsr_info.v, inst->GetArg(0), inst); + break; + } + case IR::Opcode::A32GetVFlag: { + do_get(cpsr_info.v, inst); + break; + } + case IR::Opcode::A32SetGEFlags: { + do_set(cpsr_info.ge, inst->GetArg(0), inst); + break; + } + case IR::Opcode::A32GetGEFlags: { + do_get(cpsr_info.ge, inst); + break; + } + default: { + if (inst->ReadsFromCPSR() || inst->WritesToCPSR()) { + cpsr_info = {}; + } + break; + } + } + } +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/a64_callback_config_pass.cpp b/externals/dynarmic/src/dynarmic/ir/opt/a64_callback_config_pass.cpp new file mode 100755 index 000000000..e49fdebdc --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/a64_callback_config_pass.cpp @@ -0,0 +1,56 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/frontend/A64/ir_emitter.h" +#include "dynarmic/interface/A64/config.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/opt/passes.h" + +namespace Dynarmic::Optimization { + +void A64CallbackConfigPass(IR::Block& block, const A64::UserConfig& conf) { + if (conf.hook_data_cache_operations) { + return; + } + + for (auto& inst : block) { + if (inst.GetOpcode() != IR::Opcode::A64DataCacheOperationRaised) { + continue; + } + + const auto op = static_cast(inst.GetArg(0).GetU64()); + if (op == A64::DataCacheOperation::ZeroByVA) { + A64::IREmitter ir{block}; + ir.SetInsertionPoint(&inst); + + size_t bytes = 4 << static_cast(conf.dczid_el0 & 0b1111); + IR::U64 addr{inst.GetArg(1)}; + + const IR::U128 zero_u128 = ir.ZeroExtendToQuad(ir.Imm64(0)); + while (bytes >= 16) { + ir.WriteMemory128(addr, zero_u128); + addr = ir.Add(addr, ir.Imm64(16)); + bytes -= 16; + } + + while (bytes >= 8) { + ir.WriteMemory64(addr, ir.Imm64(0)); + addr = ir.Add(addr, ir.Imm64(8)); + bytes -= 8; + } + + while (bytes >= 4) { + ir.WriteMemory32(addr, ir.Imm32(0)); + addr = ir.Add(addr, ir.Imm64(4)); + bytes -= 4; + } + } + inst.Invalidate(); + } +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/a64_get_set_elimination_pass.cpp b/externals/dynarmic/src/dynarmic/ir/opt/a64_get_set_elimination_pass.cpp new file mode 100755 index 000000000..a2f14bd79 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/a64_get_set_elimination_pass.cpp @@ -0,0 +1,160 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A64/types.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/opt/passes.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::Optimization { + +void A64GetSetElimination(IR::Block& block) { + using Iterator = IR::Block::iterator; + + enum class TrackingType { + W, + X, + S, + D, + Q, + SP, + NZCV, + NZCVRaw, + }; + struct RegisterInfo { + IR::Value register_value; + TrackingType tracking_type; + bool set_instruction_present = false; + Iterator last_set_instruction; + }; + std::array reg_info; + std::array vec_info; + RegisterInfo sp_info; + RegisterInfo nzcv_info; + + const auto do_set = [&block](RegisterInfo& info, IR::Value value, Iterator set_inst, TrackingType tracking_type) { + if (info.set_instruction_present) { + info.last_set_instruction->Invalidate(); + block.Instructions().erase(info.last_set_instruction); + } + + info.register_value = value; + info.tracking_type = tracking_type; + info.set_instruction_present = true; + info.last_set_instruction = set_inst; + }; + + const auto do_get = [](RegisterInfo& info, Iterator get_inst, TrackingType tracking_type) { + const auto do_nothing = [&] { + info = {}; + info.register_value = IR::Value(&*get_inst); + info.tracking_type = tracking_type; + }; + + if (info.register_value.IsEmpty()) { + do_nothing(); + return; + } + + if (info.tracking_type == tracking_type) { + get_inst->ReplaceUsesWith(info.register_value); + return; + } + + do_nothing(); + }; + + for (auto inst = block.begin(); inst != block.end(); ++inst) { + switch (inst->GetOpcode()) { + case IR::Opcode::A64GetW: { + const size_t index = A64::RegNumber(inst->GetArg(0).GetA64RegRef()); + do_get(reg_info.at(index), inst, TrackingType::W); + break; + } + case IR::Opcode::A64GetX: { + const size_t index = A64::RegNumber(inst->GetArg(0).GetA64RegRef()); + do_get(reg_info.at(index), inst, TrackingType::X); + break; + } + case IR::Opcode::A64GetS: { + const size_t index = A64::VecNumber(inst->GetArg(0).GetA64VecRef()); + do_get(vec_info.at(index), inst, TrackingType::S); + break; + } + case IR::Opcode::A64GetD: { + const size_t index = A64::VecNumber(inst->GetArg(0).GetA64VecRef()); + do_get(vec_info.at(index), inst, TrackingType::D); + break; + } + case IR::Opcode::A64GetQ: { + const size_t index = A64::VecNumber(inst->GetArg(0).GetA64VecRef()); + do_get(vec_info.at(index), inst, TrackingType::Q); + break; + } + case IR::Opcode::A64GetSP: { + do_get(sp_info, inst, TrackingType::SP); + break; + } + case IR::Opcode::A64GetNZCVRaw: { + do_get(nzcv_info, inst, TrackingType::NZCVRaw); + break; + } + case IR::Opcode::A64SetW: { + const size_t index = A64::RegNumber(inst->GetArg(0).GetA64RegRef()); + do_set(reg_info.at(index), inst->GetArg(1), inst, TrackingType::W); + break; + } + case IR::Opcode::A64SetX: { + const size_t index = A64::RegNumber(inst->GetArg(0).GetA64RegRef()); + do_set(reg_info.at(index), inst->GetArg(1), inst, TrackingType::X); + break; + } + case IR::Opcode::A64SetS: { + const size_t index = A64::VecNumber(inst->GetArg(0).GetA64VecRef()); + do_set(vec_info.at(index), inst->GetArg(1), inst, TrackingType::S); + break; + } + case IR::Opcode::A64SetD: { + const size_t index = A64::VecNumber(inst->GetArg(0).GetA64VecRef()); + do_set(vec_info.at(index), inst->GetArg(1), inst, TrackingType::D); + break; + } + case IR::Opcode::A64SetQ: { + const size_t index = A64::VecNumber(inst->GetArg(0).GetA64VecRef()); + do_set(vec_info.at(index), inst->GetArg(1), inst, TrackingType::Q); + break; + } + case IR::Opcode::A64SetSP: { + do_set(sp_info, inst->GetArg(0), inst, TrackingType::SP); + break; + } + case IR::Opcode::A64SetNZCV: { + do_set(nzcv_info, inst->GetArg(0), inst, TrackingType::NZCV); + break; + } + case IR::Opcode::A64SetNZCVRaw: { + do_set(nzcv_info, inst->GetArg(0), inst, TrackingType::NZCVRaw); + break; + } + default: { + if (inst->ReadsFromCPSR() || inst->WritesToCPSR()) { + nzcv_info = {}; + } + if (inst->ReadsFromCoreRegister() || inst->WritesToCoreRegister()) { + reg_info = {}; + vec_info = {}; + sp_info = {}; + } + break; + } + } + } +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/a64_merge_interpret_blocks.cpp b/externals/dynarmic/src/dynarmic/ir/opt/a64_merge_interpret_blocks.cpp new file mode 100755 index 000000000..ccf15c595 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/a64_merge_interpret_blocks.cpp @@ -0,0 +1,52 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2018 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A64/location_descriptor.h" +#include "dynarmic/frontend/A64/translate/translate.h" +#include "dynarmic/interface/A64/config.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opt/passes.h" + +namespace Dynarmic::Optimization { + +void A64MergeInterpretBlocksPass(IR::Block& block, A64::UserCallbacks* cb) { + const auto is_interpret_instruction = [cb](A64::LocationDescriptor location) { + const u32 instruction = cb->MemoryReadCode(location.PC()); + + IR::Block new_block{location}; + A64::TranslateSingleInstruction(new_block, location, instruction); + + if (!new_block.Instructions().empty()) + return false; + + const IR::Terminal terminal = new_block.GetTerminal(); + if (auto term = boost::get(&terminal)) { + return term->next == location; + } + + return false; + }; + + IR::Terminal terminal = block.GetTerminal(); + auto term = boost::get(&terminal); + if (!term) + return; + + A64::LocationDescriptor location{term->next}; + size_t num_instructions = 1; + + while (is_interpret_instruction(location.AdvancePC(static_cast(num_instructions * 4)))) { + num_instructions++; + } + + term->num_instructions = num_instructions; + block.ReplaceTerminal(terminal); + block.CycleCount() += num_instructions - 1; +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/constant_propagation_pass.cpp b/externals/dynarmic/src/dynarmic/ir/opt/constant_propagation_pass.cpp new file mode 100755 index 000000000..f4eeba0a4 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/constant_propagation_pass.cpp @@ -0,0 +1,541 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/safe_ops.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/ir_emitter.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/opt/passes.h" + +namespace Dynarmic::Optimization { + +using Op = Dynarmic::IR::Opcode; + +namespace { + +// Tiny helper to avoid the need to store based off the opcode +// bit size all over the place within folding functions. +void ReplaceUsesWith(IR::Inst& inst, bool is_32_bit, u64 value) { + if (is_32_bit) { + inst.ReplaceUsesWith(IR::Value{static_cast(value)}); + } else { + inst.ReplaceUsesWith(IR::Value{value}); + } +} + +IR::Value Value(bool is_32_bit, u64 value) { + return is_32_bit ? IR::Value{static_cast(value)} : IR::Value{value}; +} + +template +bool FoldCommutative(IR::Inst& inst, bool is_32_bit, ImmFn imm_fn) { + const auto lhs = inst.GetArg(0); + const auto rhs = inst.GetArg(1); + + const bool is_lhs_immediate = lhs.IsImmediate(); + const bool is_rhs_immediate = rhs.IsImmediate(); + + if (is_lhs_immediate && is_rhs_immediate) { + const u64 result = imm_fn(lhs.GetImmediateAsU64(), rhs.GetImmediateAsU64()); + ReplaceUsesWith(inst, is_32_bit, result); + return false; + } + + if (is_lhs_immediate && !is_rhs_immediate) { + const IR::Inst* rhs_inst = rhs.GetInstRecursive(); + if (rhs_inst->GetOpcode() == inst.GetOpcode() && rhs_inst->GetArg(1).IsImmediate()) { + const u64 combined = imm_fn(lhs.GetImmediateAsU64(), rhs_inst->GetArg(1).GetImmediateAsU64()); + inst.SetArg(0, rhs_inst->GetArg(0)); + inst.SetArg(1, Value(is_32_bit, combined)); + } else { + // Normalize + inst.SetArg(0, rhs); + inst.SetArg(1, lhs); + } + } + + if (!is_lhs_immediate && is_rhs_immediate) { + const IR::Inst* lhs_inst = lhs.GetInstRecursive(); + if (lhs_inst->GetOpcode() == inst.GetOpcode() && lhs_inst->GetArg(1).IsImmediate()) { + const u64 combined = imm_fn(rhs.GetImmediateAsU64(), lhs_inst->GetArg(1).GetImmediateAsU64()); + inst.SetArg(0, lhs_inst->GetArg(0)); + inst.SetArg(1, Value(is_32_bit, combined)); + } + } + + return true; +} + +void FoldAdd(IR::Inst& inst, bool is_32_bit) { + const auto lhs = inst.GetArg(0); + const auto rhs = inst.GetArg(1); + const auto carry = inst.GetArg(2); + + if (lhs.IsImmediate() && !rhs.IsImmediate()) { + // Normalize + inst.SetArg(0, rhs); + inst.SetArg(1, lhs); + FoldAdd(inst, is_32_bit); + return; + } + + if (inst.HasAssociatedPseudoOperation()) { + return; + } + + if (!lhs.IsImmediate() && rhs.IsImmediate()) { + const IR::Inst* lhs_inst = lhs.GetInstRecursive(); + if (lhs_inst->GetOpcode() == inst.GetOpcode() && lhs_inst->GetArg(1).IsImmediate() && lhs_inst->GetArg(2).IsImmediate()) { + const u64 combined = rhs.GetImmediateAsU64() + lhs_inst->GetArg(1).GetImmediateAsU64() + lhs_inst->GetArg(2).GetU1(); + inst.SetArg(0, lhs_inst->GetArg(0)); + inst.SetArg(1, Value(is_32_bit, combined)); + return; + } + } + + if (inst.AreAllArgsImmediates()) { + const u64 result = lhs.GetImmediateAsU64() + rhs.GetImmediateAsU64() + carry.GetU1(); + ReplaceUsesWith(inst, is_32_bit, result); + return; + } +} + +// Folds AND operations based on the following: +// +// 1. imm_x & imm_y -> result +// 2. x & 0 -> 0 +// 3. 0 & y -> 0 +// 4. x & y -> y (where x has all bits set to 1) +// 5. x & y -> x (where y has all bits set to 1) +// +void FoldAND(IR::Inst& inst, bool is_32_bit) { + if (FoldCommutative(inst, is_32_bit, [](u64 a, u64 b) { return a & b; })) { + const auto rhs = inst.GetArg(1); + if (rhs.IsZero()) { + ReplaceUsesWith(inst, is_32_bit, 0); + } else if (rhs.HasAllBitsSet()) { + inst.ReplaceUsesWith(inst.GetArg(0)); + } + } +} + +// Folds byte reversal opcodes based on the following: +// +// 1. imm -> swap(imm) +// +void FoldByteReverse(IR::Inst& inst, Op op) { + const auto operand = inst.GetArg(0); + + if (!operand.IsImmediate()) { + return; + } + + if (op == Op::ByteReverseWord) { + const u32 result = Common::SwapBytes32(static_cast(operand.GetImmediateAsU64())); + inst.ReplaceUsesWith(IR::Value{result}); + } else if (op == Op::ByteReverseHalf) { + const u16 result = Common::SwapBytes16(static_cast(operand.GetImmediateAsU64())); + inst.ReplaceUsesWith(IR::Value{result}); + } else { + const u64 result = Common::SwapBytes64(operand.GetImmediateAsU64()); + inst.ReplaceUsesWith(IR::Value{result}); + } +} + +// Folds division operations based on the following: +// +// 1. x / 0 -> 0 (NOTE: This is an ARM-specific behavior defined in the architecture reference manual) +// 2. imm_x / imm_y -> result +// 3. x / 1 -> x +// +void FoldDivide(IR::Inst& inst, bool is_32_bit, bool is_signed) { + const auto rhs = inst.GetArg(1); + + if (rhs.IsZero()) { + ReplaceUsesWith(inst, is_32_bit, 0); + return; + } + + const auto lhs = inst.GetArg(0); + if (lhs.IsImmediate() && rhs.IsImmediate()) { + if (is_signed) { + const s64 result = lhs.GetImmediateAsS64() / rhs.GetImmediateAsS64(); + ReplaceUsesWith(inst, is_32_bit, static_cast(result)); + } else { + const u64 result = lhs.GetImmediateAsU64() / rhs.GetImmediateAsU64(); + ReplaceUsesWith(inst, is_32_bit, result); + } + } else if (rhs.IsUnsignedImmediate(1)) { + inst.ReplaceUsesWith(IR::Value{lhs}); + } +} + +// Folds EOR operations based on the following: +// +// 1. imm_x ^ imm_y -> result +// 2. x ^ 0 -> x +// 3. 0 ^ y -> y +// +void FoldEOR(IR::Inst& inst, bool is_32_bit) { + if (FoldCommutative(inst, is_32_bit, [](u64 a, u64 b) { return a ^ b; })) { + const auto rhs = inst.GetArg(1); + if (rhs.IsZero()) { + inst.ReplaceUsesWith(inst.GetArg(0)); + } + } +} + +void FoldLeastSignificantByte(IR::Inst& inst) { + if (!inst.AreAllArgsImmediates()) { + return; + } + + const auto operand = inst.GetArg(0); + inst.ReplaceUsesWith(IR::Value{static_cast(operand.GetImmediateAsU64())}); +} + +void FoldLeastSignificantHalf(IR::Inst& inst) { + if (!inst.AreAllArgsImmediates()) { + return; + } + + const auto operand = inst.GetArg(0); + inst.ReplaceUsesWith(IR::Value{static_cast(operand.GetImmediateAsU64())}); +} + +void FoldLeastSignificantWord(IR::Inst& inst) { + if (!inst.AreAllArgsImmediates()) { + return; + } + + const auto operand = inst.GetArg(0); + inst.ReplaceUsesWith(IR::Value{static_cast(operand.GetImmediateAsU64())}); +} + +void FoldMostSignificantBit(IR::Inst& inst) { + if (!inst.AreAllArgsImmediates()) { + return; + } + + const auto operand = inst.GetArg(0); + inst.ReplaceUsesWith(IR::Value{(operand.GetImmediateAsU64() >> 31) != 0}); +} + +void FoldMostSignificantWord(IR::Inst& inst) { + IR::Inst* carry_inst = inst.GetAssociatedPseudoOperation(Op::GetCarryFromOp); + + if (!inst.AreAllArgsImmediates()) { + return; + } + + const auto operand = inst.GetArg(0); + if (carry_inst) { + carry_inst->ReplaceUsesWith(IR::Value{Common::Bit<31>(operand.GetImmediateAsU64())}); + } + inst.ReplaceUsesWith(IR::Value{static_cast(operand.GetImmediateAsU64() >> 32)}); +} + +// Folds multiplication operations based on the following: +// +// 1. imm_x * imm_y -> result +// 2. x * 0 -> 0 +// 3. 0 * y -> 0 +// 4. x * 1 -> x +// 5. 1 * y -> y +// +void FoldMultiply(IR::Inst& inst, bool is_32_bit) { + if (FoldCommutative(inst, is_32_bit, [](u64 a, u64 b) { return a * b; })) { + const auto rhs = inst.GetArg(1); + if (rhs.IsZero()) { + ReplaceUsesWith(inst, is_32_bit, 0); + } else if (rhs.IsUnsignedImmediate(1)) { + inst.ReplaceUsesWith(inst.GetArg(0)); + } + } +} + +// Folds NOT operations if the contained value is an immediate. +void FoldNOT(IR::Inst& inst, bool is_32_bit) { + const auto operand = inst.GetArg(0); + + if (!operand.IsImmediate()) { + return; + } + + const u64 result = ~operand.GetImmediateAsU64(); + ReplaceUsesWith(inst, is_32_bit, result); +} + +// Folds OR operations based on the following: +// +// 1. imm_x | imm_y -> result +// 2. x | 0 -> x +// 3. 0 | y -> y +// +void FoldOR(IR::Inst& inst, bool is_32_bit) { + if (FoldCommutative(inst, is_32_bit, [](u64 a, u64 b) { return a | b; })) { + const auto rhs = inst.GetArg(1); + if (rhs.IsZero()) { + inst.ReplaceUsesWith(inst.GetArg(0)); + } + } +} + +bool FoldShifts(IR::Inst& inst) { + IR::Inst* carry_inst = inst.GetAssociatedPseudoOperation(Op::GetCarryFromOp); + + // The 32-bit variants can contain 3 arguments, while the + // 64-bit variants only contain 2. + if (inst.NumArgs() == 3 && !carry_inst) { + inst.SetArg(2, IR::Value(false)); + } + + const auto shift_amount = inst.GetArg(1); + if (shift_amount.IsZero()) { + if (carry_inst) { + carry_inst->ReplaceUsesWith(inst.GetArg(2)); + } + inst.ReplaceUsesWith(inst.GetArg(0)); + return false; + } + + if (!inst.AreAllArgsImmediates() || carry_inst) { + return false; + } + + return true; +} + +void FoldSignExtendXToWord(IR::Inst& inst) { + if (!inst.AreAllArgsImmediates()) { + return; + } + + const s64 value = inst.GetArg(0).GetImmediateAsS64(); + inst.ReplaceUsesWith(IR::Value{static_cast(value)}); +} + +void FoldSignExtendXToLong(IR::Inst& inst) { + if (!inst.AreAllArgsImmediates()) { + return; + } + + const s64 value = inst.GetArg(0).GetImmediateAsS64(); + inst.ReplaceUsesWith(IR::Value{static_cast(value)}); +} + +void FoldSub(IR::Inst& inst, bool is_32_bit) { + if (!inst.AreAllArgsImmediates() || inst.HasAssociatedPseudoOperation()) { + return; + } + + const auto lhs = inst.GetArg(0); + const auto rhs = inst.GetArg(1); + const auto carry = inst.GetArg(2); + + const u64 result = lhs.GetImmediateAsU64() + (~rhs.GetImmediateAsU64()) + carry.GetU1(); + ReplaceUsesWith(inst, is_32_bit, result); +} + +void FoldZeroExtendXToWord(IR::Inst& inst) { + if (!inst.AreAllArgsImmediates()) { + return; + } + + const u64 value = inst.GetArg(0).GetImmediateAsU64(); + inst.ReplaceUsesWith(IR::Value{static_cast(value)}); +} + +void FoldZeroExtendXToLong(IR::Inst& inst) { + if (!inst.AreAllArgsImmediates()) { + return; + } + + const u64 value = inst.GetArg(0).GetImmediateAsU64(); + inst.ReplaceUsesWith(IR::Value{value}); +} +} // Anonymous namespace + +void ConstantPropagation(IR::Block& block) { + for (auto& inst : block) { + const auto opcode = inst.GetOpcode(); + + switch (opcode) { + case Op::LeastSignificantWord: + FoldLeastSignificantWord(inst); + break; + case Op::MostSignificantWord: + FoldMostSignificantWord(inst); + break; + case Op::LeastSignificantHalf: + FoldLeastSignificantHalf(inst); + break; + case Op::LeastSignificantByte: + FoldLeastSignificantByte(inst); + break; + case Op::MostSignificantBit: + FoldMostSignificantBit(inst); + break; + case Op::IsZero32: + if (inst.AreAllArgsImmediates()) { + inst.ReplaceUsesWith(IR::Value{inst.GetArg(0).GetU32() == 0}); + } + break; + case Op::IsZero64: + if (inst.AreAllArgsImmediates()) { + inst.ReplaceUsesWith(IR::Value{inst.GetArg(0).GetU64() == 0}); + } + break; + case Op::LogicalShiftLeft32: + if (FoldShifts(inst)) { + ReplaceUsesWith(inst, true, Safe::LogicalShiftLeft(inst.GetArg(0).GetU32(), inst.GetArg(1).GetU8())); + } + break; + case Op::LogicalShiftLeft64: + if (FoldShifts(inst)) { + ReplaceUsesWith(inst, false, Safe::LogicalShiftLeft(inst.GetArg(0).GetU64(), inst.GetArg(1).GetU8())); + } + break; + case Op::LogicalShiftRight32: + if (FoldShifts(inst)) { + ReplaceUsesWith(inst, true, Safe::LogicalShiftRight(inst.GetArg(0).GetU32(), inst.GetArg(1).GetU8())); + } + break; + case Op::LogicalShiftRight64: + if (FoldShifts(inst)) { + ReplaceUsesWith(inst, false, Safe::LogicalShiftRight(inst.GetArg(0).GetU64(), inst.GetArg(1).GetU8())); + } + break; + case Op::ArithmeticShiftRight32: + if (FoldShifts(inst)) { + ReplaceUsesWith(inst, true, Safe::ArithmeticShiftRight(inst.GetArg(0).GetU32(), inst.GetArg(1).GetU8())); + } + break; + case Op::ArithmeticShiftRight64: + if (FoldShifts(inst)) { + ReplaceUsesWith(inst, false, Safe::ArithmeticShiftRight(inst.GetArg(0).GetU64(), inst.GetArg(1).GetU8())); + } + break; + case Op::RotateRight32: + if (FoldShifts(inst)) { + ReplaceUsesWith(inst, true, Common::RotateRight(inst.GetArg(0).GetU32(), inst.GetArg(1).GetU8())); + } + break; + case Op::RotateRight64: + if (FoldShifts(inst)) { + ReplaceUsesWith(inst, false, Common::RotateRight(inst.GetArg(0).GetU64(), inst.GetArg(1).GetU8())); + } + break; + case Op::LogicalShiftLeftMasked32: + if (inst.AreAllArgsImmediates()) { + ReplaceUsesWith(inst, true, inst.GetArg(0).GetU32() << (inst.GetArg(1).GetU32() & 0x1f)); + } + break; + case Op::LogicalShiftLeftMasked64: + if (inst.AreAllArgsImmediates()) { + ReplaceUsesWith(inst, false, inst.GetArg(0).GetU64() << (inst.GetArg(1).GetU64() & 0x3f)); + } + break; + case Op::LogicalShiftRightMasked32: + if (inst.AreAllArgsImmediates()) { + ReplaceUsesWith(inst, true, inst.GetArg(0).GetU32() >> (inst.GetArg(1).GetU32() & 0x1f)); + } + break; + case Op::LogicalShiftRightMasked64: + if (inst.AreAllArgsImmediates()) { + ReplaceUsesWith(inst, false, inst.GetArg(0).GetU64() >> (inst.GetArg(1).GetU64() & 0x3f)); + } + break; + case Op::ArithmeticShiftRightMasked32: + if (inst.AreAllArgsImmediates()) { + ReplaceUsesWith(inst, true, static_cast(inst.GetArg(0).GetU32()) >> (inst.GetArg(1).GetU32() & 0x1f)); + } + break; + case Op::ArithmeticShiftRightMasked64: + if (inst.AreAllArgsImmediates()) { + ReplaceUsesWith(inst, false, static_cast(inst.GetArg(0).GetU64()) >> (inst.GetArg(1).GetU64() & 0x3f)); + } + break; + case Op::RotateRightMasked32: + if (inst.AreAllArgsImmediates()) { + ReplaceUsesWith(inst, true, Common::RotateRight(inst.GetArg(0).GetU32(), inst.GetArg(1).GetU32())); + } + break; + case Op::RotateRightMasked64: + if (inst.AreAllArgsImmediates()) { + ReplaceUsesWith(inst, false, Common::RotateRight(inst.GetArg(0).GetU64(), inst.GetArg(1).GetU64())); + } + break; + case Op::Add32: + case Op::Add64: + FoldAdd(inst, opcode == Op::Add32); + break; + case Op::Sub32: + case Op::Sub64: + FoldSub(inst, opcode == Op::Sub32); + break; + case Op::Mul32: + case Op::Mul64: + FoldMultiply(inst, opcode == Op::Mul32); + break; + case Op::SignedDiv32: + case Op::SignedDiv64: + FoldDivide(inst, opcode == Op::SignedDiv32, true); + break; + case Op::UnsignedDiv32: + case Op::UnsignedDiv64: + FoldDivide(inst, opcode == Op::UnsignedDiv32, false); + break; + case Op::And32: + case Op::And64: + FoldAND(inst, opcode == Op::And32); + break; + case Op::Eor32: + case Op::Eor64: + FoldEOR(inst, opcode == Op::Eor32); + break; + case Op::Or32: + case Op::Or64: + FoldOR(inst, opcode == Op::Or32); + break; + case Op::Not32: + case Op::Not64: + FoldNOT(inst, opcode == Op::Not32); + break; + case Op::SignExtendByteToWord: + case Op::SignExtendHalfToWord: + FoldSignExtendXToWord(inst); + break; + case Op::SignExtendByteToLong: + case Op::SignExtendHalfToLong: + case Op::SignExtendWordToLong: + FoldSignExtendXToLong(inst); + break; + case Op::ZeroExtendByteToWord: + case Op::ZeroExtendHalfToWord: + FoldZeroExtendXToWord(inst); + break; + case Op::ZeroExtendByteToLong: + case Op::ZeroExtendHalfToLong: + case Op::ZeroExtendWordToLong: + FoldZeroExtendXToLong(inst); + break; + case Op::ByteReverseWord: + case Op::ByteReverseHalf: + case Op::ByteReverseDual: + FoldByteReverse(inst, opcode); + break; + default: + break; + } + } +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/dead_code_elimination_pass.cpp b/externals/dynarmic/src/dynarmic/ir/opt/dead_code_elimination_pass.cpp new file mode 100755 index 000000000..4f8820778 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/dead_code_elimination_pass.cpp @@ -0,0 +1,22 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/common/iterator_util.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opt/passes.h" + +namespace Dynarmic::Optimization { + +void DeadCodeElimination(IR::Block& block) { + // We iterate over the instructions in reverse order. + // This is because removing an instruction reduces the number of uses for earlier instructions. + for (auto& inst : Common::Reverse(block)) { + if (!inst.HasUses() && !inst.MayHaveSideEffects()) { + inst.Invalidate(); + } + } +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/identity_removal_pass.cpp b/externals/dynarmic/src/dynarmic/ir/opt/identity_removal_pass.cpp new file mode 100755 index 000000000..2b79b8a72 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/identity_removal_pass.cpp @@ -0,0 +1,45 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include + +#include "dynarmic/common/iterator_util.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/opt/passes.h" + +namespace Dynarmic::Optimization { + +void IdentityRemovalPass(IR::Block& block) { + std::vector to_invalidate; + + auto iter = block.begin(); + while (iter != block.end()) { + IR::Inst& inst = *iter; + + const size_t num_args = inst.NumArgs(); + for (size_t i = 0; i < num_args; i++) { + while (true) { + IR::Value arg = inst.GetArg(i); + if (!arg.IsIdentity()) + break; + inst.SetArg(i, arg.GetInst()->GetArg(0)); + } + } + + if (inst.GetOpcode() == IR::Opcode::Identity || inst.GetOpcode() == IR::Opcode::Void) { + iter = block.Instructions().erase(inst); + to_invalidate.push_back(&inst); + } else { + ++iter; + } + } + + for (IR::Inst* inst : to_invalidate) { + inst->Invalidate(); + } +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/ir_matcher.h b/externals/dynarmic/src/dynarmic/ir/opt/ir_matcher.h new file mode 100755 index 000000000..5eb1a5510 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/ir_matcher.h @@ -0,0 +1,127 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2020 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/value.h" + +namespace Dynarmic::Optimization::IRMatcher { + +struct CaptureValue { + using ReturnType = std::tuple; + + static std::optional Match(IR::Value value) { + return std::tuple(value); + } +}; + +struct CaptureInst { + using ReturnType = std::tuple; + + static std::optional Match(IR::Value value) { + if (value.IsImmediate()) + return std::nullopt; + return std::tuple(value.GetInstRecursive()); + } +}; + +struct CaptureUImm { + using ReturnType = std::tuple; + + static std::optional Match(IR::Value value) { + return std::tuple(value.GetImmediateAsU64()); + } +}; + +struct CaptureSImm { + using ReturnType = std::tuple; + + static std::optional Match(IR::Value value) { + return std::tuple(value.GetImmediateAsS64()); + } +}; + +template +struct UImm { + using ReturnType = std::tuple<>; + + static std::optional> Match(IR::Value value) { + if (value.GetImmediateAsU64() == Value) + return std::tuple(); + return std::nullopt; + } +}; + +template +struct SImm { + using ReturnType = std::tuple<>; + + static std::optional> Match(IR::Value value) { + if (value.GetImmediateAsS64() == Value) + return std::tuple(); + return std::nullopt; + } +}; + +template +struct Inst { +public: + using ReturnType = mp::concat, typename Args::ReturnType...>; + + static std::optional Match(const IR::Inst& inst) { + if (inst.GetOpcode() != Opcode) + return std::nullopt; + if (inst.HasAssociatedPseudoOperation()) + return std::nullopt; + return MatchArgs<0>(inst); + } + + static std::optional Match(IR::Value value) { + if (value.IsImmediate()) + return std::nullopt; + return Match(*value.GetInstRecursive()); + } + +private: + template + static auto MatchArgs(const IR::Inst& inst) -> std::optional>, std::tuple<>>>> { + if constexpr (I >= sizeof...(Args)) { + return std::tuple(); + } else { + using Arg = mp::get>; + + if (const auto arg = Arg::Match(inst.GetArg(I))) { + if (const auto rest = MatchArgs(inst)) { + return std::tuple_cat(*arg, *rest); + } + } + + return std::nullopt; + } + } +}; + +inline bool IsSameInst(std::tuple t) { + return std::get<0>(t) == std::get<1>(t); +} + +inline bool IsSameInst(std::tuple t) { + return std::get<0>(t) == std::get<1>(t) && std::get<0>(t) == std::get<2>(t); +} + +} // namespace Dynarmic::Optimization::IRMatcher diff --git a/externals/dynarmic/src/dynarmic/ir/opt/passes.h b/externals/dynarmic/src/dynarmic/ir/opt/passes.h new file mode 100755 index 000000000..fb19017cf --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/passes.h @@ -0,0 +1,33 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +namespace Dynarmic::A32 { +struct UserCallbacks; +} + +namespace Dynarmic::A64 { +struct UserCallbacks; +struct UserConfig; +} // namespace Dynarmic::A64 + +namespace Dynarmic::IR { +class Block; +} + +namespace Dynarmic::Optimization { + +void A32ConstantMemoryReads(IR::Block& block, A32::UserCallbacks* cb); +void A32GetSetElimination(IR::Block& block); +void A64CallbackConfigPass(IR::Block& block, const A64::UserConfig& conf); +void A64GetSetElimination(IR::Block& block); +void A64MergeInterpretBlocksPass(IR::Block& block, A64::UserCallbacks* cb); +void ConstantPropagation(IR::Block& block); +void DeadCodeElimination(IR::Block& block); +void IdentityRemovalPass(IR::Block& block); +void VerificationPass(const IR::Block& block); + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/opt/verification_pass.cpp b/externals/dynarmic/src/dynarmic/ir/opt/verification_pass.cpp new file mode 100755 index 000000000..0a391f115 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/opt/verification_pass.cpp @@ -0,0 +1,46 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/opt/passes.h" +#include "dynarmic/ir/type.h" + +namespace Dynarmic::Optimization { + +void VerificationPass(const IR::Block& block) { + for (const auto& inst : block) { + for (size_t i = 0; i < inst.NumArgs(); i++) { + const IR::Type t1 = inst.GetArg(i).GetType(); + const IR::Type t2 = IR::GetArgTypeOf(inst.GetOpcode(), i); + if (!IR::AreTypesCompatible(t1, t2)) { + std::puts(IR::DumpBlock(block).c_str()); + ASSERT_FALSE("above block failed validation"); + } + } + } + + std::map actual_uses; + for (const auto& inst : block) { + for (size_t i = 0; i < inst.NumArgs(); i++) { + const auto arg = inst.GetArg(i); + if (!arg.IsImmediate()) { + actual_uses[arg.GetInst()]++; + } + } + } + + for (const auto& pair : actual_uses) { + ASSERT(pair.first->UseCount() == pair.second); + } +} + +} // namespace Dynarmic::Optimization diff --git a/externals/dynarmic/src/dynarmic/ir/terminal.h b/externals/dynarmic/src/dynarmic/ir/terminal.h new file mode 100755 index 000000000..6a017e356 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/terminal.h @@ -0,0 +1,131 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/cond.h" +#include "dynarmic/ir/location_descriptor.h" + +namespace Dynarmic::IR { +namespace Term { + +struct Invalid {}; + +/** + * This terminal instruction calls the interpreter, starting at `next`. + * The interpreter must interpret exactly `num_instructions` instructions. + */ +struct Interpret { + explicit Interpret(const LocationDescriptor& next_) + : next(next_) {} + LocationDescriptor next; ///< Location at which interpretation starts. + size_t num_instructions = 1; +}; + +/** + * This terminal instruction returns control to the dispatcher. + * The dispatcher will use the current cpu state to determine what comes next. + */ +struct ReturnToDispatch {}; + +/** + * This terminal instruction jumps to the basic block described by `next` if we have enough + * cycles remaining. If we do not have enough cycles remaining, we return to the + * dispatcher, which will return control to the host. + */ +struct LinkBlock { + explicit LinkBlock(const LocationDescriptor& next_) + : next(next_) {} + LocationDescriptor next; ///< Location descriptor for next block. +}; + +/** + * This terminal instruction jumps to the basic block described by `next` unconditionally. + * This is an optimization and MUST only be emitted when this is guaranteed not to result + * in hanging, even in the face of other optimizations. (In practice, this means that only + * forward jumps to short-ish blocks would use this instruction.) + * A backend that doesn't support this optimization may choose to implement this exactly + * as LinkBlock. + */ +struct LinkBlockFast { + explicit LinkBlockFast(const LocationDescriptor& next_) + : next(next_) {} + LocationDescriptor next; ///< Location descriptor for next block. +}; + +/** + * This terminal instruction checks the top of the Return Stack Buffer against the current + * location descriptor. If RSB lookup fails, control is returned to the dispatcher. + * This is an optimization for faster function calls. A backend that doesn't support + * this optimization or doesn't have a RSB may choose to implement this exactly as + * ReturnToDispatch. + */ +struct PopRSBHint {}; + +/** + * This terminal instruction performs a lookup of the current location descriptor in the + * fast dispatch lookup table. A backend that doesn't support this optimization may choose + * to implement this exactly as ReturnToDispatch. + */ +struct FastDispatchHint {}; + +struct If; +struct CheckBit; +struct CheckHalt; +/// A Terminal is the terminal instruction in a MicroBlock. +using Terminal = boost::variant< + Invalid, + Interpret, + ReturnToDispatch, + LinkBlock, + LinkBlockFast, + PopRSBHint, + FastDispatchHint, + boost::recursive_wrapper, + boost::recursive_wrapper, + boost::recursive_wrapper>; + +/** + * This terminal instruction conditionally executes one terminal or another depending + * on the run-time state of the ARM flags. + */ +struct If { + If(Cond if_, Terminal then_, Terminal else_) + : if_(if_), then_(std::move(then_)), else_(std::move(else_)) {} + Cond if_; + Terminal then_; + Terminal else_; +}; + +/** + * This terminal instruction conditionally executes one terminal or another depending + * on the run-time state of the check bit. + * then_ is executed if the check bit is non-zero, otherwise else_ is executed. + */ +struct CheckBit { + CheckBit(Terminal then_, Terminal else_) + : then_(std::move(then_)), else_(std::move(else_)) {} + Terminal then_; + Terminal else_; +}; + +/** + * This terminal instruction checks if a halt was requested. If it wasn't, else_ is + * executed. + */ +struct CheckHalt { + explicit CheckHalt(Terminal else_) + : else_(std::move(else_)) {} + Terminal else_; +}; + +} // namespace Term + +using Term::Terminal; + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/type.cpp b/externals/dynarmic/src/dynarmic/ir/type.cpp new file mode 100755 index 000000000..bf1a35c49 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/type.cpp @@ -0,0 +1,50 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/ir/type.h" + +#include +#include +#include + +namespace Dynarmic::IR { + +std::string GetNameOf(Type type) { + static constexpr std::array names{ + "A32Reg", "A32ExtReg", + "A64Reg", "A64Vec", + "Opaque", + "U1", "U8", "U16", "U32", "U64", "U128", + "CoprocInfo", + "NZCVFlags", + "Cond", + "Table"}; + + const size_t bits = static_cast(type); + if (bits == 0) { + return "Void"; + } + + std::string result; + for (size_t i = 0; i < names.size(); i++) { + if ((bits & (size_t(1) << i)) != 0) { + if (!result.empty()) { + result += '|'; + } + result += names[i]; + } + } + return result; +} + +bool AreTypesCompatible(Type t1, Type t2) { + return t1 == t2 || t1 == Type::Opaque || t2 == Type::Opaque; +} + +std::ostream& operator<<(std::ostream& o, Type type) { + return o << GetNameOf(type); +} + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/type.h b/externals/dynarmic/src/dynarmic/ir/type.h new file mode 100755 index 000000000..0c9eda9fe --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/type.h @@ -0,0 +1,53 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include "dynarmic/common/common_types.h" + +namespace Dynarmic::IR { + +/** + * The intermediate representation is typed. These are the used by our IR. + */ +enum class Type { + Void = 0, + A32Reg = 1 << 0, + A32ExtReg = 1 << 1, + A64Reg = 1 << 2, + A64Vec = 1 << 3, + Opaque = 1 << 4, + U1 = 1 << 5, + U8 = 1 << 6, + U16 = 1 << 7, + U32 = 1 << 8, + U64 = 1 << 9, + U128 = 1 << 10, + CoprocInfo = 1 << 11, + NZCVFlags = 1 << 12, + Cond = 1 << 13, + Table = 1 << 14, +}; + +constexpr Type operator|(Type a, Type b) { + return static_cast(static_cast(a) | static_cast(b)); +} + +constexpr Type operator&(Type a, Type b) { + return static_cast(static_cast(a) & static_cast(b)); +} + +/// Get the name of a type. +std::string GetNameOf(Type type); + +/// @returns true if t1 and t2 are compatible types +bool AreTypesCompatible(Type t1, Type t2); + +std::ostream& operator<<(std::ostream& o, Type type); + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/value.cpp b/externals/dynarmic/src/dynarmic/ir/value.cpp new file mode 100755 index 000000000..2132b5beb --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/value.cpp @@ -0,0 +1,235 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include "dynarmic/ir/value.h" + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/ir/microinstruction.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/type.h" + +namespace Dynarmic::IR { + +Value::Value(Inst* value) + : type(Type::Opaque) { + inner.inst = value; +} + +Value::Value(A32::Reg value) + : type(Type::A32Reg) { + inner.imm_a32regref = value; +} + +Value::Value(A32::ExtReg value) + : type(Type::A32ExtReg) { + inner.imm_a32extregref = value; +} + +Value::Value(A64::Reg value) + : type(Type::A64Reg) { + inner.imm_a64regref = value; +} + +Value::Value(A64::Vec value) + : type(Type::A64Vec) { + inner.imm_a64vecref = value; +} + +Value::Value(bool value) + : type(Type::U1) { + inner.imm_u1 = value; +} + +Value::Value(u8 value) + : type(Type::U8) { + inner.imm_u8 = value; +} + +Value::Value(u16 value) + : type(Type::U16) { + inner.imm_u16 = value; +} + +Value::Value(u32 value) + : type(Type::U32) { + inner.imm_u32 = value; +} + +Value::Value(u64 value) + : type(Type::U64) { + inner.imm_u64 = value; +} + +Value::Value(CoprocessorInfo value) + : type(Type::CoprocInfo) { + inner.imm_coproc = value; +} + +Value::Value(Cond value) + : type(Type::Cond) { + inner.imm_cond = value; +} + +bool Value::IsIdentity() const { + if (type == Type::Opaque) + return inner.inst->GetOpcode() == Opcode::Identity; + return false; +} + +bool Value::IsImmediate() const { + if (IsIdentity()) + return inner.inst->GetArg(0).IsImmediate(); + return type != Type::Opaque; +} + +bool Value::IsEmpty() const { + return type == Type::Void; +} + +Type Value::GetType() const { + if (IsIdentity()) + return inner.inst->GetArg(0).GetType(); + if (type == Type::Opaque) + return inner.inst->GetType(); + return type; +} + +A32::Reg Value::GetA32RegRef() const { + ASSERT(type == Type::A32Reg); + return inner.imm_a32regref; +} + +A32::ExtReg Value::GetA32ExtRegRef() const { + ASSERT(type == Type::A32ExtReg); + return inner.imm_a32extregref; +} + +A64::Reg Value::GetA64RegRef() const { + ASSERT(type == Type::A64Reg); + return inner.imm_a64regref; +} + +A64::Vec Value::GetA64VecRef() const { + ASSERT(type == Type::A64Vec); + return inner.imm_a64vecref; +} + +Inst* Value::GetInst() const { + ASSERT(type == Type::Opaque); + return inner.inst; +} + +Inst* Value::GetInstRecursive() const { + ASSERT(type == Type::Opaque); + if (IsIdentity()) + return inner.inst->GetArg(0).GetInstRecursive(); + return inner.inst; +} + +bool Value::GetU1() const { + if (IsIdentity()) + return inner.inst->GetArg(0).GetU1(); + ASSERT(type == Type::U1); + return inner.imm_u1; +} + +u8 Value::GetU8() const { + if (IsIdentity()) + return inner.inst->GetArg(0).GetU8(); + ASSERT(type == Type::U8); + return inner.imm_u8; +} + +u16 Value::GetU16() const { + if (IsIdentity()) + return inner.inst->GetArg(0).GetU16(); + ASSERT(type == Type::U16); + return inner.imm_u16; +} + +u32 Value::GetU32() const { + if (IsIdentity()) + return inner.inst->GetArg(0).GetU32(); + ASSERT(type == Type::U32); + return inner.imm_u32; +} + +u64 Value::GetU64() const { + if (IsIdentity()) + return inner.inst->GetArg(0).GetU64(); + ASSERT(type == Type::U64); + return inner.imm_u64; +} + +Value::CoprocessorInfo Value::GetCoprocInfo() const { + if (IsIdentity()) + return inner.inst->GetArg(0).GetCoprocInfo(); + ASSERT(type == Type::CoprocInfo); + return inner.imm_coproc; +} + +Cond Value::GetCond() const { + if (IsIdentity()) + return inner.inst->GetArg(0).GetCond(); + ASSERT(type == Type::Cond); + return inner.imm_cond; +} + +s64 Value::GetImmediateAsS64() const { + ASSERT(IsImmediate()); + + switch (GetType()) { + case IR::Type::U1: + return s64(GetU1()); + case IR::Type::U8: + return s64(Common::SignExtend<8, u64>(GetU8())); + case IR::Type::U16: + return s64(Common::SignExtend<16, u64>(GetU16())); + case IR::Type::U32: + return s64(Common::SignExtend<32, u64>(GetU32())); + case IR::Type::U64: + return s64(GetU64()); + default: + ASSERT_FALSE("GetImmediateAsS64 called on an incompatible Value type."); + } +} + +u64 Value::GetImmediateAsU64() const { + ASSERT(IsImmediate()); + + switch (GetType()) { + case IR::Type::U1: + return u64(GetU1()); + case IR::Type::U8: + return u64(GetU8()); + case IR::Type::U16: + return u64(GetU16()); + case IR::Type::U32: + return u64(GetU32()); + case IR::Type::U64: + return u64(GetU64()); + default: + ASSERT_FALSE("GetImmediateAsU64 called on an incompatible Value type."); + } +} + +bool Value::IsSignedImmediate(s64 value) const { + return IsImmediate() && GetImmediateAsS64() == value; +} + +bool Value::IsUnsignedImmediate(u64 value) const { + return IsImmediate() && GetImmediateAsU64() == value; +} + +bool Value::HasAllBitsSet() const { + return IsSignedImmediate(-1); +} + +bool Value::IsZero() const { + return IsUnsignedImmediate(0); +} + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/src/dynarmic/ir/value.h b/externals/dynarmic/src/dynarmic/ir/value.h new file mode 100755 index 000000000..e907614d9 --- /dev/null +++ b/externals/dynarmic/src/dynarmic/ir/value.h @@ -0,0 +1,180 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2016 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#pragma once + +#include +#include + +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/ir/type.h" + +namespace Dynarmic::A32 { +enum class ExtReg; +enum class Reg; +} // namespace Dynarmic::A32 + +namespace Dynarmic::A64 { +enum class Reg; +enum class Vec; +} // namespace Dynarmic::A64 + +namespace Dynarmic::IR { + +class Inst; +enum class Cond; + +/** + * A representation of a value in the IR. + * A value may either be an immediate or the result of a microinstruction. + */ +class Value { +public: + using CoprocessorInfo = std::array; + + Value() + : type(Type::Void) {} + explicit Value(Inst* value); + explicit Value(A32::Reg value); + explicit Value(A32::ExtReg value); + explicit Value(A64::Reg value); + explicit Value(A64::Vec value); + explicit Value(bool value); + explicit Value(u8 value); + explicit Value(u16 value); + explicit Value(u32 value); + explicit Value(u64 value); + explicit Value(CoprocessorInfo value); + explicit Value(Cond value); + + bool IsIdentity() const; + bool IsEmpty() const; + bool IsImmediate() const; + Type GetType() const; + + Inst* GetInst() const; + Inst* GetInstRecursive() const; + A32::Reg GetA32RegRef() const; + A32::ExtReg GetA32ExtRegRef() const; + A64::Reg GetA64RegRef() const; + A64::Vec GetA64VecRef() const; + bool GetU1() const; + u8 GetU8() const; + u16 GetU16() const; + u32 GetU32() const; + u64 GetU64() const; + CoprocessorInfo GetCoprocInfo() const; + Cond GetCond() const; + + /** + * Retrieves the immediate of a Value instance as a signed 64-bit value. + * + * @pre The value contains either a U1, U8, U16, U32, or U64 value. + * Breaking this precondition will cause an assertion to be invoked. + */ + s64 GetImmediateAsS64() const; + + /** + * Retrieves the immediate of a Value instance as an unsigned 64-bit value. + * + * @pre The value contains either a U1, U8, U16, U32, or U64 value. + * Breaking this precondition will cause an assertion to be invoked. + */ + u64 GetImmediateAsU64() const; + + /** + * Determines whether or not the contained value matches the provided signed one. + * + * Note that this function will always return false if the contained + * value is not a a constant value. In other words, if IsImmediate() + * would return false on an instance, then so will this function. + * + * @param value The value to check against the contained value. + */ + bool IsSignedImmediate(s64 value) const; + + /** + * Determines whether or not the contained value matches the provided unsigned one. + * + * Note that this function will always return false if the contained + * value is not a a constant value. In other words, if IsImmediate() + * would return false on an instance, then so will this function. + * + * @param value The value to check against the contained value. + */ + bool IsUnsignedImmediate(u64 value) const; + + /** + * Determines whether or not the contained constant value has all bits set. + * + * @pre The value contains either a U1, U8, U16, U32, or U64 value. + * Breaking this precondition will cause an assertion to be invoked. + */ + bool HasAllBitsSet() const; + + /** + * Whether or not the current value contains a representation of zero. + * + * Note that this function will always return false if the contained + * value is not a a constant value. In other words, if IsImmediate() + * would return false on an instance, then so will this function. + */ + bool IsZero() const; + +private: + Type type; + + union { + Inst* inst; // type == Type::Opaque + A32::Reg imm_a32regref; + A32::ExtReg imm_a32extregref; + A64::Reg imm_a64regref; + A64::Vec imm_a64vecref; + bool imm_u1; + u8 imm_u8; + u16 imm_u16; + u32 imm_u32; + u64 imm_u64; + CoprocessorInfo imm_coproc; + Cond imm_cond; + } inner; +}; +static_assert(sizeof(Value) <= 2 * sizeof(u64), "IR::Value should be kept small in size"); + +template +class TypedValue final : public Value { +public: + TypedValue() = default; + + template> + /* implicit */ TypedValue(const TypedValue& value) + : Value(value) { + ASSERT((value.GetType() & type_) != Type::Void); + } + + explicit TypedValue(const Value& value) + : Value(value) { + ASSERT((value.GetType() & type_) != Type::Void); + } + + explicit TypedValue(Inst* inst) + : TypedValue(Value(inst)) {} +}; + +using U1 = TypedValue; +using U8 = TypedValue; +using U16 = TypedValue; +using U32 = TypedValue; +using U64 = TypedValue; +using U128 = TypedValue; +using U32U64 = TypedValue; +using U16U32U64 = TypedValue; +using UAny = TypedValue; +using UAnyU128 = TypedValue; +using NZCV = TypedValue; +using Table = TypedValue; + +} // namespace Dynarmic::IR diff --git a/externals/dynarmic/tests/A32/fuzz_arm.cpp b/externals/dynarmic/tests/A32/fuzz_arm.cpp index 311b6bb3a..c25eb9f81 100755 --- a/externals/dynarmic/tests/A32/fuzz_arm.cpp +++ b/externals/dynarmic/tests/A32/fuzz_arm.cpp @@ -11,24 +11,24 @@ #include #include -#include -#include "common/common_types.h" -#include "common/fp/fpcr.h" -#include "common/fp/fpsr.h" -#include "common/llvm_disassemble.h" -#include "common/scope_exit.h" -#include "frontend/A32/ITState.h" -#include "frontend/A32/location_descriptor.h" -#include "frontend/A32/translate/translate.h" -#include "frontend/A32/types.h" -#include "frontend/ir/basic_block.h" -#include "frontend/ir/location_descriptor.h" -#include "frontend/ir/opcodes.h" -#include "fuzz_util.h" -#include "rand_int.h" -#include "testenv.h" -#include "unicorn_emu/a32_unicorn.h" +#include "../fuzz_util.h" +#include "../rand_int.h" +#include "../unicorn_emu/a32_unicorn.h" +#include "./testenv.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/llvm_disassemble.h" +#include "dynarmic/common/scope_exit.h" +#include "dynarmic/frontend/A32/ITState.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/frontend/A32/translate/translate.h" +#include "dynarmic/frontend/A32/types.h" +#include "dynarmic/interface/A32/a32.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/location_descriptor.h" +#include "dynarmic/ir/opcodes.h" // Must be declared last for all necessary operator<< to be declared prior to this. #include @@ -79,12 +79,12 @@ u32 GenRandomArmInst(u32 pc, bool is_last_inst) { static const struct InstructionGeneratorInfo { std::vector generators; std::vector invalid; - } instructions = []{ - const std::vector> list { + } instructions = [] { + const std::vector> list{ #define INST(fn, name, bitstring) {#fn, bitstring}, -#include "frontend/A32/decoder/arm.inc" -#include "frontend/A32/decoder/asimd.inc" -#include "frontend/A32/decoder/vfp.inc" +#include "dynarmic/frontend/A32/decoder/arm.inc" +#include "dynarmic/frontend/A32/decoder/asimd.inc" +#include "dynarmic/frontend/A32/decoder/vfp.inc" #undef INST }; @@ -92,7 +92,7 @@ u32 GenRandomArmInst(u32 pc, bool is_last_inst) { std::vector invalid; // List of instructions not to test - static constexpr std::array do_not_test { + static constexpr std::array do_not_test{ // Translating load/stores "arm_LDRBT", "arm_LDRBT", "arm_LDRHT", "arm_LDRHT", "arm_LDRSBT", "arm_LDRSBT", "arm_LDRSHT", "arm_LDRSHT", "arm_LDRT", "arm_LDRT", "arm_STRBT", "arm_STRBT", "arm_STRHT", "arm_STRHT", "arm_STRT", "arm_STRT", @@ -117,9 +117,9 @@ u32 GenRandomArmInst(u32 pc, bool is_last_inst) { // FPSCR is inaccurate "vfp_VMRS", // Incorrect Unicorn implementations - "asimd_VRECPS", // Unicorn does not fuse the multiply and subtraction, resulting in being off by 1ULP. - "asimd_VRSQRTS", // Unicorn does not fuse the multiply and subtraction, resulting in being off by 1ULP. - "vfp_VCVT_from_fixed", // Unicorn does not do round-to-nearest-even for this instruction correctly. + "asimd_VRECPS", // Unicorn does not fuse the multiply and subtraction, resulting in being off by 1ULP. + "asimd_VRSQRTS", // Unicorn does not fuse the multiply and subtraction, resulting in being off by 1ULP. + "vfp_VCVT_from_fixed", // Unicorn does not do round-to-nearest-even for this instruction correctly. }; for (const auto& [fn, bitstring] : list) { @@ -150,11 +150,23 @@ std::vector GenRandomThumbInst(u32 pc, bool is_last_inst, A32::ITState it_s static const struct InstructionGeneratorInfo { std::vector generators; std::vector invalid; - } instructions = []{ - const std::vector> list { + } instructions = [] { + const std::vector> list{ #define INST(fn, name, bitstring) {#fn, bitstring}, -#include "frontend/A32/decoder/thumb16.inc" -#include "frontend/A32/decoder/thumb32.inc" +#include "dynarmic/frontend/A32/decoder/thumb16.inc" +#include "dynarmic/frontend/A32/decoder/thumb32.inc" +#undef INST + }; + + const std::vector> vfp_list{ +#define INST(fn, name, bitstring) {#fn, bitstring}, +#include "dynarmic/frontend/A32/decoder/vfp.inc" +#undef INST + }; + + const std::vector> asimd_list{ +#define INST(fn, name, bitstring) {#fn, bitstring}, +#include "dynarmic/frontend/A32/decoder/asimd.inc" #undef INST }; @@ -162,16 +174,41 @@ std::vector GenRandomThumbInst(u32 pc, bool is_last_inst, A32::ITState it_s std::vector invalid; // List of instructions not to test - static constexpr std::array do_not_test { + static constexpr std::array do_not_test{ "thumb16_BKPT", "thumb16_IT", "thumb16_SETEND", // Exclusive load/stores + "thumb32_LDREX", + "thumb32_LDREXB", + "thumb32_LDREXD", + "thumb32_LDREXH", "thumb32_STREX", "thumb32_STREXB", "thumb32_STREXD", "thumb32_STREXH", + + // FPSCR is inaccurate + "vfp_VMRS", + + // Unicorn is incorrect? + "thumb32_MRS_reg", + + // Unicorn has incorrect implementation (incorrect rounding and unsets CPSR.T??) + "vfp_VCVT_to_fixed", + "vfp_VCVT_from_fixed", + "asimd_VRECPS", // Unicorn does not fuse the multiply and subtraction, resulting in being off by 1ULP. + "asimd_VRSQRTS", // Unicorn does not fuse the multiply and subtraction, resulting in being off by 1ULP. + + // Coprocessor + "thumb32_CDP", + "thumb32_LDC", + "thumb32_MCR", + "thumb32_MCRR", + "thumb32_MRC", + "thumb32_MRRC", + "thumb32_STC", }; for (const auto& [fn, bitstring] : list) { @@ -181,6 +218,34 @@ std::vector GenRandomThumbInst(u32 pc, bool is_last_inst, A32::ITState it_s } generators.emplace_back(InstructionGenerator{bitstring}); } + for (const auto& [fn, bs] : vfp_list) { + std::string bitstring = bs; + if (bitstring.substr(0, 4) == "cccc" || bitstring.substr(0, 4) == "----") { + bitstring.replace(0, 4, "1110"); + } + if (std::find(do_not_test.begin(), do_not_test.end(), fn) != do_not_test.end()) { + invalid.emplace_back(InstructionGenerator{bitstring.c_str()}); + continue; + } + generators.emplace_back(InstructionGenerator{bitstring.c_str()}); + } + for (const auto& [fn, bs] : asimd_list) { + std::string bitstring = bs; + if (bitstring.substr(0, 7) == "1111001") { + const char U = bitstring[7]; + bitstring.replace(0, 8, "111-1111"); + bitstring[3] = U; + } else if (bitstring.substr(0, 8) == "11110100") { + bitstring.replace(0, 8, "11111001"); + } else { + ASSERT_FALSE("Unhandled ASIMD instruction: {} {}", fn, bs); + } + if (std::find(do_not_test.begin(), do_not_test.end(), fn) != do_not_test.end()) { + invalid.emplace_back(InstructionGenerator{bitstring.c_str()}); + continue; + } + generators.emplace_back(InstructionGenerator{bitstring.c_str()}); + } return InstructionGeneratorInfo{generators, invalid}; }(); @@ -191,13 +256,13 @@ std::vector GenRandomThumbInst(u32 pc, bool is_last_inst, A32::ITState it_s if (ShouldTestInst(is_four_bytes ? Common::SwapHalves32(inst) : inst, pc, true, is_last_inst, it_state)) { if (is_four_bytes) - return { static_cast(inst >> 16), static_cast(inst) }; - return { static_cast(inst) }; + return {static_cast(inst >> 16), static_cast(inst)}; + return {static_cast(inst)}; } } } -template +template Dynarmic::A32::UserConfig GetUserConfig(TestEnv& testenv) { Dynarmic::A32::UserConfig user_config; user_config.optimizations &= ~OptimizationFlag::FastDispatch; @@ -206,7 +271,7 @@ Dynarmic::A32::UserConfig GetUserConfig(TestEnv& testenv) { return user_config; } -template +template static void RunTestInstance(Dynarmic::A32::Jit& jit, A32Unicorn& uni, TestEnv& jit_env, @@ -250,7 +315,7 @@ static void RunTestInstance(Dynarmic::A32::Jit& jit, jit_env.ticks_left = ticks_left; jit.Run(); - uni_env.ticks_left = instructions.size(); // Unicorn counts thumb instructions weirdly. + uni_env.ticks_left = instructions.size(); // Unicorn counts thumb instructions weirdly. uni.Run(); SCOPE_FAIL { @@ -335,7 +400,7 @@ static void RunTestInstance(Dynarmic::A32::Jit& jit, REQUIRE(uni_env.modified_memory == jit_env.modified_memory); REQUIRE(uni_env.interrupts.empty()); } -} // Anonymous namespace +} // Anonymous namespace TEST_CASE("A32: Single random arm instruction", "[arm]") { ArmTestEnv jit_env{}; @@ -515,7 +580,7 @@ TEST_CASE("A32: Test thumb IT instruction", "[thumb]") { } // Emit IT instruction - A32::ITState it_state = [&]{ + A32::ITState it_state = [&] { while (true) { const u16 imm8 = RandInt(0, 0xFF); if (Common::Bits<0, 3>(imm8) == 0b0000 || Common::Bits<4, 7>(imm8) == 0b1111 || (Common::Bits<4, 7>(imm8) == 0b1110 && Common::BitCount(Common::Bits<0, 3>(imm8)) != 1)) { diff --git a/externals/dynarmic/tests/A32/fuzz_thumb.cpp b/externals/dynarmic/tests/A32/fuzz_thumb.cpp index 5b6b62440..85094c794 100755 --- a/externals/dynarmic/tests/A32/fuzz_thumb.cpp +++ b/externals/dynarmic/tests/A32/fuzz_thumb.cpp @@ -14,20 +14,19 @@ #include -#include - -#include "common/bit_util.h" -#include "common/common_types.h" -#include "frontend/A32/disassembler/disassembler.h" -#include "frontend/A32/FPSCR.h" -#include "frontend/A32/location_descriptor.h" -#include "frontend/A32/PSR.h" -#include "frontend/A32/translate/translate.h" -#include "frontend/ir/basic_block.h" -#include "ir_opt/passes.h" -#include "rand_int.h" -#include "testenv.h" -#include "unicorn_emu/a32_unicorn.h" +#include "../rand_int.h" +#include "../unicorn_emu/a32_unicorn.h" +#include "./testenv.h" +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/frontend/A32/FPSCR.h" +#include "dynarmic/frontend/A32/PSR.h" +#include "dynarmic/frontend/A32/disassembler/disassembler.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/frontend/A32/translate/translate.h" +#include "dynarmic/interface/A32/a32.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opt/passes.h" using namespace Dynarmic; @@ -42,7 +41,9 @@ using WriteRecords = std::map; struct ThumbInstGen final { public: - ThumbInstGen(std::string_view format, std::function is_valid = [](u32){ return true; }) : is_valid(is_valid) { + ThumbInstGen( + std::string_view format, std::function is_valid = [](u32) { return true; }) + : is_valid(is_valid) { REQUIRE((format.size() == 16 || format.size() == 32)); const auto bit_size = format.size(); @@ -96,18 +97,14 @@ private: std::function is_valid; }; -static bool DoesBehaviorMatch(const A32Unicorn& uni, const A32::Jit& jit, - const WriteRecords& interp_write_records, const WriteRecords& jit_write_records) { +static bool DoesBehaviorMatch(const A32Unicorn& uni, const A32::Jit& jit, const WriteRecords& interp_write_records, const WriteRecords& jit_write_records) { const auto interp_regs = uni.GetRegisters(); const auto jit_regs = jit.Regs(); - return std::equal(interp_regs.begin(), interp_regs.end(), jit_regs.begin(), jit_regs.end()) && - uni.GetCpsr() == jit.Cpsr() && - interp_write_records == jit_write_records; + return std::equal(interp_regs.begin(), interp_regs.end(), jit_regs.begin(), jit_regs.end()) && uni.GetCpsr() == jit.Cpsr() && interp_write_records == jit_write_records; } -static void RunInstance(size_t run_number, ThumbTestEnv& test_env, A32Unicorn& uni, A32::Jit& jit, const ThumbTestEnv::RegisterArray& initial_regs, - size_t instruction_count, size_t instructions_to_execute_count) { +static void RunInstance(size_t run_number, ThumbTestEnv& test_env, A32Unicorn& uni, A32::Jit& jit, const ThumbTestEnv::RegisterArray& initial_regs, size_t instruction_count, size_t instructions_to_execute_count) { uni.ClearPageCache(); jit.ClearCache(); @@ -178,7 +175,7 @@ static void RunInstance(size_t run_number, ThumbTestEnv& test_env, A32Unicorn
(0, 0xFFFFFFFF); }); + std::generate_n(initial_regs.begin(), initial_regs.size() - 1, [] { return RandInt(0, 0xFFFFFFFF); }); initial_regs[15] = 0; std::generate_n(test_env.code_mem.begin(), instruction_count, instruction_generator); @@ -225,7 +222,7 @@ void FuzzJitThumb32(const size_t instruction_count, const size_t instructions_to // Prepare memory. // A Thumb-32 instruction is 32-bits so we multiply our count test_env.code_mem.resize(instruction_count * 2 + 1); - test_env.code_mem.back() = 0xE7FE; // b +#0 + test_env.code_mem.back() = 0xE7FE; // b +#0 // Prepare test subjects A32Unicorn uni{test_env}; @@ -233,7 +230,7 @@ void FuzzJitThumb32(const size_t instruction_count, const size_t instructions_to for (size_t run_number = 0; run_number < run_count; run_number++) { ThumbTestEnv::RegisterArray initial_regs; - std::generate_n(initial_regs.begin(), initial_regs.size() - 1, []{ return RandInt(0, 0xFFFFFFFF); }); + std::generate_n(initial_regs.begin(), initial_regs.size() - 1, [] { return RandInt(0, 0xFFFFFFFF); }); initial_regs[15] = 0; for (size_t i = 0; i < instruction_count; i++) { @@ -251,44 +248,44 @@ void FuzzJitThumb32(const size_t instruction_count, const size_t instructions_to TEST_CASE("Fuzz Thumb instructions set 1", "[JitX64][Thumb][Thumb16]") { const std::array instructions = { - ThumbInstGen("00000xxxxxxxxxxx"), // LSL , , # - ThumbInstGen("00001xxxxxxxxxxx"), // LSR , , # - ThumbInstGen("00010xxxxxxxxxxx"), // ASR , , # - ThumbInstGen("000110oxxxxxxxxx"), // ADD/SUB_reg - ThumbInstGen("000111oxxxxxxxxx"), // ADD/SUB_imm - ThumbInstGen("001ooxxxxxxxxxxx"), // ADD/SUB/CMP/MOV_imm - ThumbInstGen("010000ooooxxxxxx"), // Data Processing - ThumbInstGen("010001000hxxxxxx"), // ADD (high registers) - ThumbInstGen("0100010101xxxxxx", // CMP (high registers) - [](u32 inst){ return Common::Bits<3, 5>(inst) != 0b111; }), // R15 is UNPREDICTABLE - ThumbInstGen("0100010110xxxxxx", // CMP (high registers) - [](u32 inst){ return Common::Bits<0, 2>(inst) != 0b111; }), // R15 is UNPREDICTABLE - ThumbInstGen("010001100hxxxxxx"), // MOV (high registers) - ThumbInstGen("10110000oxxxxxxx"), // Adjust stack pointer - ThumbInstGen("10110010ooxxxxxx"), // SXT/UXT - ThumbInstGen("1011101000xxxxxx"), // REV - ThumbInstGen("1011101001xxxxxx"), // REV16 - ThumbInstGen("1011101011xxxxxx"), // REVSH - ThumbInstGen("01001xxxxxxxxxxx"), // LDR Rd, [PC, #] - ThumbInstGen("0101oooxxxxxxxxx"), // LDR/STR Rd, [Rn, Rm] - ThumbInstGen("011xxxxxxxxxxxxx"), // LDR(B)/STR(B) Rd, [Rn, #] - ThumbInstGen("1000xxxxxxxxxxxx"), // LDRH/STRH Rd, [Rn, #offset] - ThumbInstGen("1001xxxxxxxxxxxx"), // LDR/STR Rd, [SP, #] - ThumbInstGen("1011010xxxxxxxxx", // PUSH - [](u32 inst){ return Common::Bits<0, 7>(inst) != 0; }), // Empty reg_list is UNPREDICTABLE - ThumbInstGen("10111100xxxxxxxx", // POP (P = 0) - [](u32 inst){ return Common::Bits<0, 7>(inst) != 0; }), // Empty reg_list is UNPREDICTABLE - ThumbInstGen("1100xxxxxxxxxxxx", // STMIA/LDMIA + ThumbInstGen("00000xxxxxxxxxxx"), // LSL , , # + ThumbInstGen("00001xxxxxxxxxxx"), // LSR , , # + ThumbInstGen("00010xxxxxxxxxxx"), // ASR , , # + ThumbInstGen("000110oxxxxxxxxx"), // ADD/SUB_reg + ThumbInstGen("000111oxxxxxxxxx"), // ADD/SUB_imm + ThumbInstGen("001ooxxxxxxxxxxx"), // ADD/SUB/CMP/MOV_imm + ThumbInstGen("010000ooooxxxxxx"), // Data Processing + ThumbInstGen("010001000hxxxxxx"), // ADD (high registers) + ThumbInstGen("0100010101xxxxxx", // CMP (high registers) + [](u32 inst) { return Common::Bits<3, 5>(inst) != 0b111; }), // R15 is UNPREDICTABLE + ThumbInstGen("0100010110xxxxxx", // CMP (high registers) + [](u32 inst) { return Common::Bits<0, 2>(inst) != 0b111; }), // R15 is UNPREDICTABLE + ThumbInstGen("010001100hxxxxxx"), // MOV (high registers) + ThumbInstGen("10110000oxxxxxxx"), // Adjust stack pointer + ThumbInstGen("10110010ooxxxxxx"), // SXT/UXT + ThumbInstGen("1011101000xxxxxx"), // REV + ThumbInstGen("1011101001xxxxxx"), // REV16 + ThumbInstGen("1011101011xxxxxx"), // REVSH + ThumbInstGen("01001xxxxxxxxxxx"), // LDR Rd, [PC, #] + ThumbInstGen("0101oooxxxxxxxxx"), // LDR/STR Rd, [Rn, Rm] + ThumbInstGen("011xxxxxxxxxxxxx"), // LDR(B)/STR(B) Rd, [Rn, #] + ThumbInstGen("1000xxxxxxxxxxxx"), // LDRH/STRH Rd, [Rn, #offset] + ThumbInstGen("1001xxxxxxxxxxxx"), // LDR/STR Rd, [SP, #] + ThumbInstGen("1011010xxxxxxxxx", // PUSH + [](u32 inst) { return Common::Bits<0, 7>(inst) != 0; }), // Empty reg_list is UNPREDICTABLE + ThumbInstGen("10111100xxxxxxxx", // POP (P = 0) + [](u32 inst) { return Common::Bits<0, 7>(inst) != 0; }), // Empty reg_list is UNPREDICTABLE + ThumbInstGen("1100xxxxxxxxxxxx", // STMIA/LDMIA [](u32 inst) { // Ensure that the architecturally undefined case of // the base register being within the list isn't hit. const u32 rn = Common::Bits<8, 10>(inst); return (inst & (1U << rn)) == 0 && Common::Bits<0, 7>(inst) != 0; }), - // TODO: We should properly test against swapped - // endianness cases, however Unicorn doesn't - // expose the intended endianness of a load/store - // operation to memory through its hooks. + // TODO: We should properly test against swapped + // endianness cases, however Unicorn doesn't + // expose the intended endianness of a load/store + // operation to memory through its hooks. #if 0 ThumbInstGen("101101100101x000"), // SETEND #endif @@ -319,11 +316,11 @@ TEST_CASE("Fuzz Thumb instructions set 1", "[JitX64][Thumb][Thumb16]") { TEST_CASE("Fuzz Thumb instructions set 2 (affects PC)", "[JitX64][Thumb][Thumb16]") { const std::array instructions = { - // TODO: We currently can't test BX/BLX as we have - // no way of preventing the unpredictable - // condition from occurring with the current interface. - // (bits zero and one within the specified register - // must not be address<1:0> == '10'. + // TODO: We currently can't test BX/BLX as we have + // no way of preventing the unpredictable + // condition from occurring with the current interface. + // (bits zero and one within the specified register + // must not be address<1:0> == '10'. #if 0 ThumbInstGen("01000111xmmmm000", // BLX/BX [](u32 inst){ @@ -331,21 +328,21 @@ TEST_CASE("Fuzz Thumb instructions set 2 (affects PC)", "[JitX64][Thumb][Thumb16 return Rm != 15; }), #endif - ThumbInstGen("1010oxxxxxxxxxxx"), // add to pc/sp - ThumbInstGen("11100xxxxxxxxxxx"), // B - ThumbInstGen("01000100h0xxxxxx"), // ADD (high registers) - ThumbInstGen("01000110h0xxxxxx"), // MOV (high registers) - ThumbInstGen("1101ccccxxxxxxxx", // B - [](u32 inst){ + ThumbInstGen("1010oxxxxxxxxxxx"), // add to pc/sp + ThumbInstGen("11100xxxxxxxxxxx"), // B + ThumbInstGen("01000100h0xxxxxx"), // ADD (high registers) + ThumbInstGen("01000110h0xxxxxx"), // MOV (high registers) + ThumbInstGen("1101ccccxxxxxxxx", // B + [](u32 inst) { const u32 c = Common::Bits<9, 12>(inst); - return c < 0b1110; // Don't want SWI or undefined instructions. + return c < 0b1110; // Don't want SWI or undefined instructions. }), - ThumbInstGen("1011o0i1iiiiinnn"), // CBZ/CBNZ - ThumbInstGen("10110110011x0xxx"), // CPS + ThumbInstGen("1011o0i1iiiiinnn"), // CBZ/CBNZ + ThumbInstGen("10110110011x0xxx"), // CPS - // TODO: We currently have no control over the generated - // values when creating new pages, so we can't - // reliably test this yet. + // TODO: We currently have no control over the generated + // values when creating new pages, so we can't + // reliably test this yet. #if 0 ThumbInstGen("10111101xxxxxxxx"), // POP (R = 1) #endif @@ -369,122 +366,122 @@ TEST_CASE("Fuzz Thumb32 instructions set", "[JitX64][Thumb][Thumb32]") { }; const std::array instructions = { - ThumbInstGen("111110101011nnnn1111dddd1000mmmm", // CLZ + ThumbInstGen("111110101011nnnn1111dddd1000mmmm", // CLZ [](u32 inst) { const auto d = Common::Bits<8, 11>(inst); const auto m = Common::Bits<0, 3>(inst); const auto n = Common::Bits<16, 19>(inst); return m == n && d != 15 && m != 15; }), - ThumbInstGen("111110101000nnnn1111dddd1000mmmm", // QADD + ThumbInstGen("111110101000nnnn1111dddd1000mmmm", // QADD three_reg_not_r15), - ThumbInstGen("111110101000nnnn1111dddd0001mmmm", // QADD8 + ThumbInstGen("111110101000nnnn1111dddd0001mmmm", // QADD8 three_reg_not_r15), - ThumbInstGen("111110101001nnnn1111dddd0001mmmm", // QADD16 + ThumbInstGen("111110101001nnnn1111dddd0001mmmm", // QADD16 three_reg_not_r15), - ThumbInstGen("111110101010nnnn1111dddd0001mmmm", // QASX + ThumbInstGen("111110101010nnnn1111dddd0001mmmm", // QASX three_reg_not_r15), - ThumbInstGen("111110101000nnnn1111dddd1001mmmm", // QDADD + ThumbInstGen("111110101000nnnn1111dddd1001mmmm", // QDADD three_reg_not_r15), - ThumbInstGen("111110101000nnnn1111dddd1011mmmm", // QDSUB + ThumbInstGen("111110101000nnnn1111dddd1011mmmm", // QDSUB three_reg_not_r15), - ThumbInstGen("111110101110nnnn1111dddd0001mmmm", // QSAX + ThumbInstGen("111110101110nnnn1111dddd0001mmmm", // QSAX three_reg_not_r15), - ThumbInstGen("111110101000nnnn1111dddd1010mmmm", // QSUB + ThumbInstGen("111110101000nnnn1111dddd1010mmmm", // QSUB three_reg_not_r15), - ThumbInstGen("111110101100nnnn1111dddd0001mmmm", // QSUB8 + ThumbInstGen("111110101100nnnn1111dddd0001mmmm", // QSUB8 three_reg_not_r15), - ThumbInstGen("111110101101nnnn1111dddd0001mmmm", // QSUB16 + ThumbInstGen("111110101101nnnn1111dddd0001mmmm", // QSUB16 three_reg_not_r15), - ThumbInstGen("111110101001nnnn1111dddd1010mmmm", // RBIT + ThumbInstGen("111110101001nnnn1111dddd1010mmmm", // RBIT [](u32 inst) { const auto d = Common::Bits<8, 11>(inst); const auto m = Common::Bits<0, 3>(inst); const auto n = Common::Bits<16, 19>(inst); return m == n && d != 15 && m != 15; }), - ThumbInstGen("111110101001nnnn1111dddd1000mmmm", // REV + ThumbInstGen("111110101001nnnn1111dddd1000mmmm", // REV [](u32 inst) { const auto d = Common::Bits<8, 11>(inst); const auto m = Common::Bits<0, 3>(inst); const auto n = Common::Bits<16, 19>(inst); return m == n && d != 15 && m != 15; }), - ThumbInstGen("111110101001nnnn1111dddd1001mmmm", // REV16 + ThumbInstGen("111110101001nnnn1111dddd1001mmmm", // REV16 [](u32 inst) { const auto d = Common::Bits<8, 11>(inst); const auto m = Common::Bits<0, 3>(inst); const auto n = Common::Bits<16, 19>(inst); return m == n && d != 15 && m != 15; }), - ThumbInstGen("111110101001nnnn1111dddd1011mmmm", // REVSH + ThumbInstGen("111110101001nnnn1111dddd1011mmmm", // REVSH [](u32 inst) { const auto d = Common::Bits<8, 11>(inst); const auto m = Common::Bits<0, 3>(inst); const auto n = Common::Bits<16, 19>(inst); return m == n && d != 15 && m != 15; }), - ThumbInstGen("111110101000nnnn1111dddd0000mmmm", // SADD8 + ThumbInstGen("111110101000nnnn1111dddd0000mmmm", // SADD8 three_reg_not_r15), - ThumbInstGen("111110101001nnnn1111dddd0000mmmm", // SADD16 + ThumbInstGen("111110101001nnnn1111dddd0000mmmm", // SADD16 three_reg_not_r15), - ThumbInstGen("111110101010nnnn1111dddd0000mmmm", // SASX + ThumbInstGen("111110101010nnnn1111dddd0000mmmm", // SASX three_reg_not_r15), - ThumbInstGen("111110101010nnnn1111dddd1000mmmm", // SEL + ThumbInstGen("111110101010nnnn1111dddd1000mmmm", // SEL three_reg_not_r15), - ThumbInstGen("111110101000nnnn1111dddd0010mmmm", // SHADD8 + ThumbInstGen("111110101000nnnn1111dddd0010mmmm", // SHADD8 three_reg_not_r15), - ThumbInstGen("111110101001nnnn1111dddd0010mmmm", // SHADD16 + ThumbInstGen("111110101001nnnn1111dddd0010mmmm", // SHADD16 three_reg_not_r15), - ThumbInstGen("111110101010nnnn1111dddd0010mmmm", // SHASX + ThumbInstGen("111110101010nnnn1111dddd0010mmmm", // SHASX three_reg_not_r15), - ThumbInstGen("111110101110nnnn1111dddd0010mmmm", // SHSAX + ThumbInstGen("111110101110nnnn1111dddd0010mmmm", // SHSAX three_reg_not_r15), - ThumbInstGen("111110101100nnnn1111dddd0010mmmm", // SHSUB8 + ThumbInstGen("111110101100nnnn1111dddd0010mmmm", // SHSUB8 three_reg_not_r15), - ThumbInstGen("111110101101nnnn1111dddd0010mmmm", // SHSUB16 + ThumbInstGen("111110101101nnnn1111dddd0010mmmm", // SHSUB16 three_reg_not_r15), - ThumbInstGen("111110101110nnnn1111dddd0000mmmm", // SSAX + ThumbInstGen("111110101110nnnn1111dddd0000mmmm", // SSAX three_reg_not_r15), - ThumbInstGen("111110101100nnnn1111dddd0000mmmm", // SSUB8 + ThumbInstGen("111110101100nnnn1111dddd0000mmmm", // SSUB8 three_reg_not_r15), - ThumbInstGen("111110101101nnnn1111dddd0000mmmm", // SSUB16 + ThumbInstGen("111110101101nnnn1111dddd0000mmmm", // SSUB16 three_reg_not_r15), - ThumbInstGen("111110101000nnnn1111dddd0100mmmm", // UADD8 + ThumbInstGen("111110101000nnnn1111dddd0100mmmm", // UADD8 three_reg_not_r15), - ThumbInstGen("111110101001nnnn1111dddd0100mmmm", // UADD16 + ThumbInstGen("111110101001nnnn1111dddd0100mmmm", // UADD16 three_reg_not_r15), - ThumbInstGen("111110101010nnnn1111dddd0100mmmm", // UASX + ThumbInstGen("111110101010nnnn1111dddd0100mmmm", // UASX three_reg_not_r15), - ThumbInstGen("111110101000nnnn1111dddd0110mmmm", // UHADD8 + ThumbInstGen("111110101000nnnn1111dddd0110mmmm", // UHADD8 three_reg_not_r15), - ThumbInstGen("111110101001nnnn1111dddd0110mmmm", // UHADD16 + ThumbInstGen("111110101001nnnn1111dddd0110mmmm", // UHADD16 three_reg_not_r15), - ThumbInstGen("111110101010nnnn1111dddd0110mmmm", // UHASX + ThumbInstGen("111110101010nnnn1111dddd0110mmmm", // UHASX three_reg_not_r15), - ThumbInstGen("111110101110nnnn1111dddd0110mmmm", // UHSAX + ThumbInstGen("111110101110nnnn1111dddd0110mmmm", // UHSAX three_reg_not_r15), - ThumbInstGen("111110101100nnnn1111dddd0110mmmm", // UHSUB8 + ThumbInstGen("111110101100nnnn1111dddd0110mmmm", // UHSUB8 three_reg_not_r15), - ThumbInstGen("111110101101nnnn1111dddd0110mmmm", // UHSUB16 + ThumbInstGen("111110101101nnnn1111dddd0110mmmm", // UHSUB16 three_reg_not_r15), - ThumbInstGen("111110101000nnnn1111dddd0101mmmm", // UQADD8 + ThumbInstGen("111110101000nnnn1111dddd0101mmmm", // UQADD8 three_reg_not_r15), - ThumbInstGen("111110101001nnnn1111dddd0101mmmm", // UQADD16 + ThumbInstGen("111110101001nnnn1111dddd0101mmmm", // UQADD16 three_reg_not_r15), - ThumbInstGen("111110101010nnnn1111dddd0101mmmm", // UQASX + ThumbInstGen("111110101010nnnn1111dddd0101mmmm", // UQASX three_reg_not_r15), - ThumbInstGen("111110101110nnnn1111dddd0101mmmm", // UQSAX + ThumbInstGen("111110101110nnnn1111dddd0101mmmm", // UQSAX three_reg_not_r15), - ThumbInstGen("111110101100nnnn1111dddd0101mmmm", // UQSUB8 + ThumbInstGen("111110101100nnnn1111dddd0101mmmm", // UQSUB8 three_reg_not_r15), - ThumbInstGen("111110101101nnnn1111dddd0101mmmm", // UQSUB16 + ThumbInstGen("111110101101nnnn1111dddd0101mmmm", // UQSUB16 three_reg_not_r15), - ThumbInstGen("111110101110nnnn1111dddd0100mmmm", // USAX + ThumbInstGen("111110101110nnnn1111dddd0100mmmm", // USAX three_reg_not_r15), - ThumbInstGen("111110101100nnnn1111dddd0100mmmm", // USUB8 + ThumbInstGen("111110101100nnnn1111dddd0100mmmm", // USUB8 three_reg_not_r15), - ThumbInstGen("111110101101nnnn1111dddd0100mmmm", // USUB16 + ThumbInstGen("111110101101nnnn1111dddd0100mmmm", // USUB16 three_reg_not_r15), }; @@ -510,7 +507,7 @@ TEST_CASE("Verify fix for off by one error in MemoryRead32 worked", "[Thumb][Thu A32Unicorn uni{test_env}; A32::Jit jit{GetUserConfig(&test_env)}; - constexpr ThumbTestEnv::RegisterArray initial_regs { + constexpr ThumbTestEnv::RegisterArray initial_regs{ 0xe90ecd70, 0x3e3b73c3, 0x571616f9, @@ -530,12 +527,12 @@ TEST_CASE("Verify fix for off by one error in MemoryRead32 worked", "[Thumb][Thu }; test_env.code_mem = { - 0x40B8, // lsls r0, r7, #0 - 0x01CA, // lsls r2, r1, #7 - 0x83A1, // strh r1, [r4, #28] - 0x708A, // strb r2, [r1, #2] - 0xBCC4, // pop {r2, r6, r7} - 0xE7FE, // b +#0 + 0x40B8, // lsls r0, r7, #0 + 0x01CA, // lsls r2, r1, #7 + 0x83A1, // strh r1, [r4, #28] + 0x708A, // strb r2, [r1, #2] + 0xBCC4, // pop {r2, r6, r7} + 0xE7FE, // b +#0 }; RunInstance(1, test_env, uni, jit, initial_regs, 5, 5); diff --git a/externals/dynarmic/tests/A32/test_arm_disassembler.cpp b/externals/dynarmic/tests/A32/test_arm_disassembler.cpp index 4e4b0badb..f4fe9b805 100755 --- a/externals/dynarmic/tests/A32/test_arm_disassembler.cpp +++ b/externals/dynarmic/tests/A32/test_arm_disassembler.cpp @@ -5,7 +5,7 @@ #include -#include "frontend/A32/disassembler/disassembler.h" +#include "dynarmic/frontend/A32/disassembler/disassembler.h" using Dynarmic::A32::DisassembleArm; diff --git a/externals/dynarmic/tests/A32/test_arm_instructions.cpp b/externals/dynarmic/tests/A32/test_arm_instructions.cpp index c8e5eac40..fcfdf07be 100755 --- a/externals/dynarmic/tests/A32/test_arm_instructions.cpp +++ b/externals/dynarmic/tests/A32/test_arm_instructions.cpp @@ -4,10 +4,10 @@ */ #include -#include -#include "A32/testenv.h" -#include "frontend/A32/location_descriptor.h" +#include "./testenv.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/interface/A32/a32.h" using namespace Dynarmic; @@ -27,15 +27,15 @@ TEST_CASE("arm: Opt Failure: Const folding in MostSignificantWord", "[arm][A32]" ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xe30ad071, // movw, sp, #41073 - 0xe75efd3d, // smmulr lr, sp, sp - 0xa637af1e, // shadd16ge r10, r7, lr - 0xf57ff01f, // clrex - 0x86b98879, // sxtahhi r8, r9, r9, ror #16 - 0xeafffffe, // b +#0 + 0xe30ad071, // movw, sp, #41073 + 0xe75efd3d, // smmulr lr, sp, sp + 0xa637af1e, // shadd16ge r10, r7, lr + 0xf57ff01f, // clrex + 0x86b98879, // sxtahhi r8, r9, r9, ror #16 + 0xeafffffe, // b +#0 }; - jit.SetCpsr(0x000001d0); // User-mode + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 6; jit.Run(); @@ -69,19 +69,18 @@ TEST_CASE("arm: Unintended modification in SetCFlag", "[arm][A32]") { ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xe35f0cd9, // cmp pc, #55552 - 0xe11c0474, // tst r12, r4, ror r4 - 0xe1a006a7, // mov r0, r7, lsr #13 - 0xe35107fa, // cmp r1, #0x3E80000 - 0xe2a54c8a, // adc r4, r5, #35328 - 0xeafffffe, // b +#0 + 0xe35f0cd9, // cmp pc, #55552 + 0xe11c0474, // tst r12, r4, ror r4 + 0xe1a006a7, // mov r0, r7, lsr #13 + 0xe35107fa, // cmp r1, #0x3E80000 + 0xe2a54c8a, // adc r4, r5, #35328 + 0xeafffffe, // b +#0 }; jit.Regs() = { - 0x6973b6bb, 0x267ea626, 0x69debf49, 0x8f976895, 0x4ecd2d0d, 0xcf89b8c7, 0xb6713f85, 0x15e2aa5, - 0xcd14336a, 0xafca0f3e, 0xace2efd9, 0x68fb82cd, 0x775447c0, 0xc9e1f8cd, 0xebe0e626, 0x0 - }; - jit.SetCpsr(0x000001d0); // User-mode + 0x6973b6bb, 0x267ea626, 0x69debf49, 0x8f976895, 0x4ecd2d0d, 0xcf89b8c7, 0xb6713f85, 0x15e2aa5, + 0xcd14336a, 0xafca0f3e, 0xace2efd9, 0x68fb82cd, 0x775447c0, 0xc9e1f8cd, 0xebe0e626, 0x0}; + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 6; jit.Run(); @@ -105,7 +104,7 @@ TEST_CASE("arm: Unintended modification in SetCFlag", "[arm][A32]") { REQUIRE(jit.Cpsr() == 0x200001d0); } -TEST_CASE( "arm: shsax (Edge-case)", "[arm][A32]" ) { +TEST_CASE("arm: shsax (Edge-case)", "[arm][A32]") { // This was a randomized test-case that was failing. // // The issue here was one of the words to be subtracted was 0x8000. @@ -114,15 +113,14 @@ TEST_CASE( "arm: shsax (Edge-case)", "[arm][A32]" ) { ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xe63dbf59, // shsax r11, sp, r9 - 0xeafffffe, // b +#0 + 0xe63dbf59, // shsax r11, sp, r9 + 0xeafffffe, // b +#0 }; jit.Regs() = { - 0x3a3b8b18, 0x96156555, 0xffef039f, 0xafb946f2, 0x2030a69a, 0xafe09b2a, 0x896823c8, 0xabde0ded, - 0x9825d6a6, 0x17498000, 0x999d2c95, 0x8b812a59, 0x209bdb58, 0x2f7fb1d4, 0x0f378107, 0x00000000 - }; - jit.SetCpsr(0x000001d0); // User-mode + 0x3a3b8b18, 0x96156555, 0xffef039f, 0xafb946f2, 0x2030a69a, 0xafe09b2a, 0x896823c8, 0xabde0ded, + 0x9825d6a6, 0x17498000, 0x999d2c95, 0x8b812a59, 0x209bdb58, 0x2f7fb1d4, 0x0f378107, 0x00000000}; + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 2; jit.Run(); @@ -146,7 +144,7 @@ TEST_CASE( "arm: shsax (Edge-case)", "[arm][A32]" ) { REQUIRE(jit.Cpsr() == 0x000001d0); } -TEST_CASE( "arm: uasx (Edge-case)", "[arm][A32]" ) { +TEST_CASE("arm: uasx (Edge-case)", "[arm][A32]") { // UASX's Rm<31:16> == 0x0000. // An implementation that depends on addition overflow to detect // if diff >= 0 will fail this testcase. @@ -154,14 +152,14 @@ TEST_CASE( "arm: uasx (Edge-case)", "[arm][A32]" ) { ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xe6549f35, // uasx r9, r4, r5 - 0xeafffffe, // b +#0 + 0xe6549f35, // uasx r9, r4, r5 + 0xeafffffe, // b +#0 }; jit.Regs()[4] = 0x8ed38f4c; jit.Regs()[5] = 0x0000261d; jit.Regs()[15] = 0x00000000; - jit.SetCpsr(0x000001d0); // User-mode + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 2; jit.Run(); @@ -177,20 +175,29 @@ TEST_CASE("arm: smuad (Edge-case)", "[arm][A32]") { ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xE700F211, // smuad r0, r1, r2 - 0xeafffffe, // b +#0 + 0xE700F211, // smuad r0, r1, r2 + 0xeafffffe, // b +#0 }; jit.Regs() = { - 0, // Rd - 0x80008000, // Rn - 0x80008000, // Rm - 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, + 0, // Rd + 0x80008000, // Rn + 0x80008000, // Rm + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, }; - jit.SetCpsr(0x000001d0); // User-mode + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 2; jit.Run(); @@ -205,14 +212,14 @@ TEST_CASE("arm: Test InvalidateCacheRange", "[arm][A32]") { ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xe3a00005, // mov r0, #5 - 0xe3a0100D, // mov r1, #13 - 0xe0812000, // add r2, r1, r0 - 0xeafffffe, // b +#0 (infinite loop) + 0xe3a00005, // mov r0, #5 + 0xe3a0100D, // mov r1, #13 + 0xe0812000, // add r2, r1, r0 + 0xeafffffe, // b +#0 (infinite loop) }; jit.Regs() = {}; - jit.SetCpsr(0x000001d0); // User-mode + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 4; jit.Run(); @@ -224,7 +231,7 @@ TEST_CASE("arm: Test InvalidateCacheRange", "[arm][A32]") { REQUIRE(jit.Cpsr() == 0x000001d0); // Change the code - test_env.code_mem[1] = 0xe3a01007; // mov r1, #7 + test_env.code_mem[1] = 0xe3a01007; // mov r1, #7 jit.InvalidateCacheRange(/*start_memory_location = */ 4, /* length_in_bytes = */ 4); // Reset position of PC @@ -246,18 +253,18 @@ TEST_CASE("arm: Step blx", "[arm]") { config.optimizations |= OptimizationFlag::FastDispatch; Dynarmic::A32::Jit jit{config}; test_env.code_mem = { - 0xe12fff30, // blx r0 - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xeafffffe, // b +#0 (infinite loop) + 0xe12fff30, // blx r0 + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xeafffffe, // b +#0 (infinite loop) }; jit.Regs()[0] = 8; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x000001d0); // User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 10; jit.Step(); @@ -274,18 +281,18 @@ TEST_CASE("arm: Step bx", "[arm]") { config.optimizations |= OptimizationFlag::FastDispatch; Dynarmic::A32::Jit jit{config}; test_env.code_mem = { - 0xe12fff10, // bx r0 - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xeafffffe, // b +#0 (infinite loop) + 0xe12fff10, // bx r0 + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xeafffffe, // b +#0 (infinite loop) }; jit.Regs()[0] = 8; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x000001d0); // User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 10; jit.Step(); @@ -295,41 +302,40 @@ TEST_CASE("arm: Step bx", "[arm]") { REQUIRE(jit.Cpsr() == 0x000001d0); } - TEST_CASE("arm: Test stepping", "[arm]") { ArmTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xeafffffe, // b +#0 (infinite loop) + 0xeafffffe, // b +#0 (infinite loop) }; jit.Regs()[0] = 8; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x000001d0); // User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x000001d0); // User-mode for (size_t i = 0; i < 5; ++i) { test_env.ticks_left = 10; @@ -350,36 +356,36 @@ TEST_CASE("arm: Test stepping 2", "[arm]") { ArmTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xe12fff10, // bx r0 - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe12fff10, // bx r0 + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xeafffffe, // b +#0 (infinite loop) + 0xeafffffe, // b +#0 (infinite loop) }; jit.Regs()[0] = 4; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x000001d0); // User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x000001d0); // User-mode for (size_t i = 0; i < 5; ++i) { test_env.ticks_left = 10; @@ -400,18 +406,18 @@ TEST_CASE("arm: Test stepping 3", "[arm]") { ArmTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xe12fff10, // bx r0 - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop - 0xe320f000, // nop + 0xe12fff10, // bx r0 + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop + 0xe320f000, // nop - 0xeafffffe, // b +#0 (infinite loop) + 0xeafffffe, // b +#0 (infinite loop) }; jit.Regs()[0] = 4; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x000001d0); // User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 10; jit.Step(); @@ -433,14 +439,28 @@ TEST_CASE("arm: PackedAbsDiffSumS8", "[arm][A32]") { ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0x87414354, // smlsldhi r4, r1, r4, r3 - 0xe7886412, // usad8a r8, r2, r4, r6 - 0xeafffffe, // b +#0 + 0x87414354, // smlsldhi r4, r1, r4, r3 + 0xe7886412, // usad8a r8, r2, r4, r6 + 0xeafffffe, // b +#0 }; jit.Regs() = { - 0xea85297c, 0x417ad918, 0x64f8b70b, 0xcca0373e, 0xbc722361, 0xc528c69e, 0xca926de8, 0xd665d210, - 0xb5650555, 0x4a24b25b, 0xaed44144, 0xe87230b2, 0x98e391de, 0x126efc0c, 0xe591fd11, 0x00000000, + 0xea85297c, + 0x417ad918, + 0x64f8b70b, + 0xcca0373e, + 0xbc722361, + 0xc528c69e, + 0xca926de8, + 0xd665d210, + 0xb5650555, + 0x4a24b25b, + 0xaed44144, + 0xe87230b2, + 0x98e391de, + 0x126efc0c, + 0xe591fd11, + 0x00000000, }; jit.SetCpsr(0xb0000010); @@ -470,14 +490,14 @@ TEST_CASE("arm: vclt.f32 with zero", "[arm][A32]") { ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xf3b93628, // vclt.f32 d3, d24, #0 - 0xeafffffe, // b +#0 + 0xf3b93628, // vclt.f32 d3, d24, #0 + 0xeafffffe, // b +#0 }; jit.ExtRegs()[48] = 0x3a87d9f1; jit.ExtRegs()[49] = 0x80796dc0; - jit.SetCpsr(0x000001d0); // User-mode + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 2; jit.Run(); @@ -490,14 +510,14 @@ TEST_CASE("arm: vcvt.s16.f64", "[arm][A32]") { ArmTestEnv test_env; A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xeebe8b45, // vcvt.s16.f64 d8, d8, #6 - 0xeafffffe, // b +#0 + 0xeebe8b45, // vcvt.s16.f64 d8, d8, #6 + 0xeafffffe, // b +#0 }; jit.ExtRegs()[16] = 0x9a7110b0; jit.ExtRegs()[17] = 0xcd78f4e7; - jit.SetCpsr(0x000001d0); // User-mode + jit.SetCpsr(0x000001d0); // User-mode test_env.ticks_left = 2; jit.Run(); @@ -505,3 +525,37 @@ TEST_CASE("arm: vcvt.s16.f64", "[arm][A32]") { REQUIRE(jit.ExtRegs()[16] == 0xffff8000); REQUIRE(jit.ExtRegs()[17] == 0xffffffff); } + +TEST_CASE("arm: Memory access (fastmem)", "[arm][A32]") { + constexpr size_t address_width = 12; + constexpr size_t memory_size = 1ull << address_width; // 4K + constexpr size_t page_size = 4 * 1024; + constexpr size_t buffer_size = 2 * page_size; + char buffer[buffer_size]; + + void* buffer_ptr = reinterpret_cast(buffer); + size_t buffer_size_nconst = buffer_size; + char* backing_memory = reinterpret_cast(std::align(page_size, memory_size, buffer_ptr, buffer_size_nconst)); + + A32FastmemTestEnv env{backing_memory}; + Dynarmic::A32::UserConfig config{&env}; + config.fastmem_pointer = backing_memory; + config.recompile_on_fastmem_failure = false; + config.processor_id = 0; + + Dynarmic::A32::Jit jit{config}; + memset(backing_memory, 0, memory_size); + memcpy(backing_memory + 0x100, "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 57); + + env.MemoryWrite32(0, 0xE5904000); // LDR R4, [R0] + env.MemoryWrite32(4, 0xE5814000); // STR R4, [R1] + env.MemoryWrite32(8, 0xEAFFFFFE); // B . + jit.Regs()[0] = 0x100; + jit.Regs()[1] = 0x1F0; + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x000001d0); // User-mode + env.ticks_left = 3; + + jit.Run(); + REQUIRE(strncmp(backing_memory + 0x100, backing_memory + 0x1F0, 4) == 0); +} diff --git a/externals/dynarmic/tests/A32/test_thumb_instructions.cpp b/externals/dynarmic/tests/A32/test_thumb_instructions.cpp index 46169839d..48d9e1fc9 100755 --- a/externals/dynarmic/tests/A32/test_thumb_instructions.cpp +++ b/externals/dynarmic/tests/A32/test_thumb_instructions.cpp @@ -5,10 +5,9 @@ #include -#include - -#include "common/common_types.h" -#include "testenv.h" +#include "./testenv.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/interface/A32/a32.h" static Dynarmic::A32::UserConfig GetUserConfig(ThumbTestEnv* testenv) { Dynarmic::A32::UserConfig user_config; @@ -20,14 +19,14 @@ TEST_CASE("thumb: lsls r0, r1, #2", "[thumb]") { ThumbTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0x0088, // lsls r0, r1, #2 - 0xE7FE, // b +#0 + 0x0088, // lsls r0, r1, #2 + 0xE7FE, // b +#0 }; jit.Regs()[0] = 1; jit.Regs()[1] = 2; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x00000030); // Thumb, User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x00000030); // Thumb, User-mode test_env.ticks_left = 1; jit.Run(); @@ -42,14 +41,14 @@ TEST_CASE("thumb: lsls r0, r1, #31", "[thumb]") { ThumbTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0x07C8, // lsls r0, r1, #31 - 0xE7FE, // b +#0 + 0x07C8, // lsls r0, r1, #31 + 0xE7FE, // b +#0 }; jit.Regs()[0] = 1; jit.Regs()[1] = 0xFFFFFFFF; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x00000030); // Thumb, User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x00000030); // Thumb, User-mode test_env.ticks_left = 1; jit.Run(); @@ -57,20 +56,20 @@ TEST_CASE("thumb: lsls r0, r1, #31", "[thumb]") { REQUIRE(jit.Regs()[0] == 0x80000000); REQUIRE(jit.Regs()[1] == 0xffffffff); REQUIRE(jit.Regs()[15] == 2); - REQUIRE(jit.Cpsr() == 0xA0000030); // N, C flags, Thumb, User-mode + REQUIRE(jit.Cpsr() == 0xA0000030); // N, C flags, Thumb, User-mode } TEST_CASE("thumb: revsh r4, r3", "[thumb]") { ThumbTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xBADC, // revsh r4, r3 - 0xE7FE, // b +#0 + 0xBADC, // revsh r4, r3 + 0xE7FE, // b +#0 }; jit.Regs()[3] = 0x12345678; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x00000030); // Thumb, User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x00000030); // Thumb, User-mode test_env.ticks_left = 1; jit.Run(); @@ -78,82 +77,82 @@ TEST_CASE("thumb: revsh r4, r3", "[thumb]") { REQUIRE(jit.Regs()[3] == 0x12345678); REQUIRE(jit.Regs()[4] == 0x00007856); REQUIRE(jit.Regs()[15] == 2); - REQUIRE(jit.Cpsr() == 0x00000030); // Thumb, User-mode + REQUIRE(jit.Cpsr() == 0x00000030); // Thumb, User-mode } TEST_CASE("thumb: ldr r3, [r3, #28]", "[thumb]") { ThumbTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0x69DB, // ldr r3, [r3, #28] - 0xE7FE, // b +#0 + 0x69DB, // ldr r3, [r3, #28] + 0xE7FE, // b +#0 }; jit.Regs()[3] = 0x12345678; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x00000030); // Thumb, User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x00000030); // Thumb, User-mode test_env.ticks_left = 1; jit.Run(); - REQUIRE(jit.Regs()[3] == 0x97969594); // Memory location 0x12345694 + REQUIRE(jit.Regs()[3] == 0x97969594); // Memory location 0x12345694 REQUIRE(jit.Regs()[15] == 2); - REQUIRE(jit.Cpsr() == 0x00000030); // Thumb, User-mode + REQUIRE(jit.Cpsr() == 0x00000030); // Thumb, User-mode } TEST_CASE("thumb: blx +#67712", "[thumb]") { ThumbTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xF010, 0xEC3E, // blx +#67712 - 0xE7FE // b +#0 + 0xF010, 0xEC3E, // blx +#67712 + 0xE7FE // b +#0 }; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x00000030); // Thumb, User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x00000030); // Thumb, User-mode test_env.ticks_left = 1; jit.Run(); REQUIRE(jit.Regs()[14] == (0x4 | 1)); REQUIRE(jit.Regs()[15] == 0x10880); - REQUIRE(jit.Cpsr() == 0x00000010); // User-mode + REQUIRE(jit.Cpsr() == 0x00000010); // User-mode } TEST_CASE("thumb: bl +#234584", "[thumb]") { ThumbTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xF039, 0xFA2A, // bl +#234584 - 0xE7FE // b +#0 + 0xF039, 0xFA2A, // bl +#234584 + 0xE7FE // b +#0 }; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x00000030); // Thumb, User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x00000030); // Thumb, User-mode test_env.ticks_left = 1; jit.Run(); REQUIRE(jit.Regs()[14] == (0x4 | 1)); REQUIRE(jit.Regs()[15] == 0x39458); - REQUIRE(jit.Cpsr() == 0x00000030); // Thumb, User-mode + REQUIRE(jit.Cpsr() == 0x00000030); // Thumb, User-mode } TEST_CASE("thumb: bl -#42", "[thumb]") { ThumbTestEnv test_env; Dynarmic::A32::Jit jit{GetUserConfig(&test_env)}; test_env.code_mem = { - 0xF7FF, 0xFFE9, // bl -#42 - 0xE7FE // b +#0 + 0xF7FF, 0xFFE9, // bl -#42 + 0xE7FE // b +#0 }; - jit.Regs()[15] = 0; // PC = 0 - jit.SetCpsr(0x00000030); // Thumb, User-mode + jit.Regs()[15] = 0; // PC = 0 + jit.SetCpsr(0x00000030); // Thumb, User-mode test_env.ticks_left = 1; jit.Run(); REQUIRE(jit.Regs()[14] == (0x4 | 1)); REQUIRE(jit.Regs()[15] == 0xFFFFFFD6); - REQUIRE(jit.Cpsr() == 0x00000030); // Thumb, User-mode + REQUIRE(jit.Cpsr() == 0x00000030); // Thumb, User-mode } diff --git a/externals/dynarmic/tests/A32/testenv.h b/externals/dynarmic/tests/A32/testenv.h index 1ff0066c3..9a35b885f 100755 --- a/externals/dynarmic/tests/A32/testenv.h +++ b/externals/dynarmic/tests/A32/testenv.h @@ -11,12 +11,11 @@ #include #include -#include +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/interface/A32/a32.h" -#include "common/assert.h" -#include "common/common_types.h" - -template +template class A32TestEnv final : public Dynarmic::A32::UserCallbacks { public: using InstructionType = InstructionType_; @@ -24,12 +23,12 @@ public: using ExtRegsArray = std::array; #ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable:4309) // C4309: 'static_cast': truncation of constant value +# pragma warning(push) +# pragma warning(disable : 4309) // C4309: 'static_cast': truncation of constant value #endif static constexpr InstructionType infinite_loop = static_cast(infinite_loop_u32); #ifdef _MSC_VER -#pragma warning(pop) +# pragma warning(pop) #endif u64 ticks_left = 0; @@ -54,7 +53,7 @@ public: std::memcpy(&value, &code_mem[vaddr / sizeof(InstructionType)], sizeof(u32)); return value; } - return infinite_loop_u32; // B . + return infinite_loop_u32; // B . } std::uint8_t MemoryRead8(u32 vaddr) override { @@ -115,3 +114,86 @@ public: using ArmTestEnv = A32TestEnv; using ThumbTestEnv = A32TestEnv; + +class A32FastmemTestEnv final : public Dynarmic::A32::UserCallbacks { +public: + u64 ticks_left = 0; + char* backing_memory = nullptr; + + explicit A32FastmemTestEnv(char* addr) : backing_memory(addr) {} + + template + T read(std::uint32_t vaddr) { + T value; + memcpy(&value, backing_memory + vaddr, sizeof(T)); + return value; + } + template + void write(std::uint32_t vaddr, const T& value) { + memcpy(backing_memory + vaddr, &value, sizeof(T)); + } + + std::uint32_t MemoryReadCode(std::uint32_t vaddr) override { + return read(vaddr); + } + + std::uint8_t MemoryRead8(std::uint32_t vaddr) override { + return read(vaddr); + } + std::uint16_t MemoryRead16(std::uint32_t vaddr) override { + return read(vaddr); + } + std::uint32_t MemoryRead32(std::uint32_t vaddr) override { + return read(vaddr); + } + std::uint64_t MemoryRead64(std::uint32_t vaddr) override { + return read(vaddr); + } + + void MemoryWrite8(std::uint32_t vaddr, std::uint8_t value) override { + write(vaddr, value); + } + void MemoryWrite16(std::uint32_t vaddr, std::uint16_t value) override { + write(vaddr, value); + } + void MemoryWrite32(std::uint32_t vaddr, std::uint32_t value) override { + write(vaddr, value); + } + void MemoryWrite64(std::uint32_t vaddr, std::uint64_t value) override { + write(vaddr, value); + } + + bool MemoryWriteExclusive8(std::uint32_t vaddr, std::uint8_t value, [[maybe_unused]] std::uint8_t expected) override { + MemoryWrite8(vaddr, value); + return true; + } + bool MemoryWriteExclusive16(std::uint32_t vaddr, std::uint16_t value, [[maybe_unused]] std::uint16_t expected) override { + MemoryWrite16(vaddr, value); + return true; + } + bool MemoryWriteExclusive32(std::uint32_t vaddr, std::uint32_t value, [[maybe_unused]] std::uint32_t expected) override { + MemoryWrite32(vaddr, value); + return true; + } + bool MemoryWriteExclusive64(std::uint32_t vaddr, std::uint64_t value, [[maybe_unused]] std::uint64_t expected) override { + MemoryWrite64(vaddr, value); + return true; + } + + void InterpreterFallback(std::uint32_t pc, size_t num_instructions) override { ASSERT_MSG(false, "InterpreterFallback({:016x}, {})", pc, num_instructions); } + + void CallSVC(std::uint32_t swi) override { ASSERT_MSG(false, "CallSVC({})", swi); } + + void ExceptionRaised(std::uint32_t pc, Dynarmic::A32::Exception) override { ASSERT_MSG(false, "ExceptionRaised({:016x})", pc); } + + void AddTicks(std::uint64_t ticks) override { + if (ticks > ticks_left) { + ticks_left = 0; + return; + } + ticks_left -= ticks; + } + std::uint64_t GetTicksRemaining() override { + return ticks_left; + } +}; diff --git a/externals/dynarmic/tests/A64/a64.cpp b/externals/dynarmic/tests/A64/a64.cpp index 524be36e3..9f82975fd 100755 --- a/externals/dynarmic/tests/A64/a64.cpp +++ b/externals/dynarmic/tests/A64/a64.cpp @@ -5,10 +5,9 @@ #include -#include - -#include "common/fp/fpsr.h" -#include "testenv.h" +#include "./testenv.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/interface/exclusive_monitor.h" using namespace Dynarmic; @@ -16,8 +15,8 @@ TEST_CASE("A64: ADD", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x8b020020); // ADD X0, X1, X2 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x8b020020); // ADD X0, X1, X2 + env.code_mem.emplace_back(0x14000000); // B . jit.SetRegister(0, 0); jit.SetRegister(1, 1); @@ -33,13 +32,75 @@ TEST_CASE("A64: ADD", "[a64]") { REQUIRE(jit.GetPC() == 4); } +TEST_CASE("A64: VQADD", "[a64]") { + A64TestEnv env; + A64::Jit jit{A64::UserConfig{&env}}; + + env.code_mem.emplace_back(0x6e210c02); // UQADD v2.16b, v0.16b, v1.16b + env.code_mem.emplace_back(0x4e210c03); // SQADD v3.16b, v0.16b, v1.16b + env.code_mem.emplace_back(0x6e610c04); // UQADD v4.8h, v0.8h, v1.8h + env.code_mem.emplace_back(0x4e610c05); // SQADD v5.8h, v0.8h, v1.8h + env.code_mem.emplace_back(0x6ea10c06); // UQADD v6.4s, v0.4s, v1.4s + env.code_mem.emplace_back(0x4ea10c07); // SQADD v7.4s, v0.4s, v1.4s + env.code_mem.emplace_back(0x6ee10c08); // UQADD v8.2d, v0.2d, v1.2d + env.code_mem.emplace_back(0x4ee10c09); // SQADD v9.2d, v0.2d, v1.2d + env.code_mem.emplace_back(0x14000000); // B . + + jit.SetVector(0, {0x7F7F7F7F7F7F7F7F, 0x7FFFFFFF7FFF7FFF}); + jit.SetVector(1, {0x8010FF00807F0000, 0x8000000080008000}); + jit.SetPC(0); + + env.ticks_left = 9; + jit.Run(); + + REQUIRE(jit.GetVector(2) == Vector{0xff8fff7ffffe7f7f, 0xffffffffffffffff}); + REQUIRE(jit.GetVector(3) == Vector{0xff7f7e7fff7f7f7f, 0xffffffffffffffff}); + REQUIRE(jit.GetVector(4) == Vector{0xff8ffffffffe7f7f, 0xffffffffffffffff}); + REQUIRE(jit.GetVector(5) == Vector{0xff8f7e7ffffe7f7f, 0xffffffffffffffff}); + REQUIRE(jit.GetVector(6) == Vector{0xff907e7ffffe7f7f, 0xffffffffffffffff}); + REQUIRE(jit.GetVector(7) == Vector{0xff907e7ffffe7f7f, 0xffffffffffffffff}); + REQUIRE(jit.GetVector(8) == Vector{0xff907e7ffffe7f7f, 0xffffffffffffffff}); + REQUIRE(jit.GetVector(9) == Vector{0xff907e7ffffe7f7f, 0xffffffffffffffff}); +} + +TEST_CASE("A64: VQSUB", "[a64]") { + A64TestEnv env; + A64::Jit jit{A64::UserConfig{&env}}; + + env.code_mem.emplace_back(0x6e212c02); // UQSUB v2.16b, v0.16b, v1.16b + env.code_mem.emplace_back(0x4e212c03); // SQSUB v3.16b, v0.16b, v1.16b + env.code_mem.emplace_back(0x6e612c04); // UQSUB v4.8h, v0.8h, v1.8h + env.code_mem.emplace_back(0x4e612c05); // SQSUB v5.8h, v0.8h, v1.8h + env.code_mem.emplace_back(0x6ea12c06); // UQSUB v6.4s, v0.4s, v1.4s + env.code_mem.emplace_back(0x4ea12c07); // SQSUB v7.4s, v0.4s, v1.4s + env.code_mem.emplace_back(0x6ee12c08); // UQSUB v8.2d, v0.2d, v1.2d + env.code_mem.emplace_back(0x4ee12c09); // SQSUB v9.2d, v0.2d, v1.2d + env.code_mem.emplace_back(0x14000000); // B . + + jit.SetVector(0, {0x8010FF00807F0000, 0x8000000080008000}); + jit.SetVector(1, {0x7F7F7F7F7F7F7F7F, 0x7FFFFFFF7FFF7FFF}); + jit.SetPC(0); + + env.ticks_left = 9; + jit.Run(); + + REQUIRE(jit.GetVector(2) == Vector{0x0100800001000000, 0x0100000001000100}); + REQUIRE(jit.GetVector(3) == Vector{0x8091808180008181, 0x8001010180018001}); + REQUIRE(jit.GetVector(4) == Vector{0x00917f8101000000, 0x0001000000010001}); + REQUIRE(jit.GetVector(5) == Vector{0x8000800080008081, 0x8000000180008000}); + REQUIRE(jit.GetVector(6) == Vector{0x00917f8100ff8081, 0x0000000100010001}); + REQUIRE(jit.GetVector(7) == Vector{0x8000000080000000, 0x8000000080000000}); + REQUIRE(jit.GetVector(8) == Vector{0x00917f8100ff8081, 0x0000000100010001}); + REQUIRE(jit.GetVector(9) == Vector{0x8000000000000000, 0x8000000000000000}); +} + TEST_CASE("A64: REV", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0xdac00c00); // REV X0, X0 - env.code_mem.emplace_back(0x5ac00821); // REV W1, W1 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xdac00c00); // REV X0, X0 + env.code_mem.emplace_back(0x5ac00821); // REV W1, W1 + env.code_mem.emplace_back(0x14000000); // B . jit.SetRegister(0, 0xaabbccddeeff1100); jit.SetRegister(1, 0xaabbccdd); @@ -57,8 +118,8 @@ TEST_CASE("A64: REV32", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0xdac00800); // REV32 X0, X0 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xdac00800); // REV32 X0, X0 + env.code_mem.emplace_back(0x14000000); // B . jit.SetRegister(0, 0xaabbccddeeff1100); jit.SetPC(0); @@ -73,9 +134,9 @@ TEST_CASE("A64: REV16", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0xdac00400); // REV16 X0, X0 - env.code_mem.emplace_back(0x5ac00421); // REV16 W1, W1 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xdac00400); // REV16 X0, X0 + env.code_mem.emplace_back(0x5ac00421); // REV16 W1, W1 + env.code_mem.emplace_back(0x14000000); // B . jit.SetRegister(0, 0xaabbccddeeff1100); jit.SetRegister(1, 0xaabbccdd); @@ -89,12 +150,126 @@ TEST_CASE("A64: REV16", "[a64]") { REQUIRE(jit.GetPC() == 8); } +TEST_CASE("A64: XTN", "[a64]") { + A64TestEnv env; + A64::Jit jit{A64::UserConfig{&env}}; + + env.code_mem.emplace_back(0x0e212803); // XTN v3.8b, v0.8h + env.code_mem.emplace_back(0x0e612824); // XTN v4.4h, v1.4s + env.code_mem.emplace_back(0x0ea12845); // XTN v5.2s, v2.2d + env.code_mem.emplace_back(0x14000000); // B . + + jit.SetPC(0); + jit.SetVector(0, {0x3333222211110000, 0x7777666655554444}); + jit.SetVector(1, {0x1111111100000000, 0x3333333322222222}); + jit.SetVector(2, {0x0000000000000000, 0x1111111111111111}); + + env.ticks_left = 4; + jit.Run(); + + REQUIRE(jit.GetVector(3) == Vector{0x7766554433221100, 0x0000000000000000}); + REQUIRE(jit.GetVector(4) == Vector{0x3333222211110000, 0x0000000000000000}); + REQUIRE(jit.GetVector(5) == Vector{0x1111111100000000, 0x0000000000000000}); +} + +TEST_CASE("A64: TBL", "[a64]") { + A64TestEnv env; + A64::Jit jit{A64::UserConfig{&env}}; + + env.code_mem.emplace_back(0x0e000100); // TBL v0.8b, { v8.16b }, v0.8b + env.code_mem.emplace_back(0x4e010101); // TBL v1.16b, { v8.16b }, v1.16b + env.code_mem.emplace_back(0x0e022102); // TBL v2.8b, { v8.16b, v9.16b }, v2.8b + env.code_mem.emplace_back(0x4e032103); // TBL v3.16b, { v8.16b, v9.16b }, v3.16b + env.code_mem.emplace_back(0x0e044104); // TBL v4.8b, { v8.16b, v9.16b, v10.16b }, v4.8b + env.code_mem.emplace_back(0x4e054105); // TBL v5.16b, { v8.16b, v9.16b, v10.16b }, v5.16b + env.code_mem.emplace_back(0x0e066106); // TBL v6.8b, { v8.16b, v9.16b, v10.16b, v11.16b }, v6.8b + env.code_mem.emplace_back(0x4e076107); // TBL v7.16b, { v8.16b, v9.16b, v10.16b, v11.16b }, v7.16b + env.code_mem.emplace_back(0x14000000); // B . + + // Indices + // 'FF' intended to test out-of-index + jit.SetVector(0, {0x000102030405'FF'07, 0x08090a0b0c0d0e0f}); + jit.SetVector(1, {0x000102030405'FF'07, 0x08090a0b0c0d0e0f}); + jit.SetVector(2, {0x100011011202'FF'03, 0x1404150516061707}); + jit.SetVector(3, {0x100011011202'FF'03, 0x1404150516061707}); + jit.SetVector(4, {0x201000211101'FF'12, 0x0233231303241404}); + jit.SetVector(5, {0x201000211101'FF'12, 0x0233231303241404}); + jit.SetVector(6, {0x403010004131'FF'01, 0x4232120243332303}); + jit.SetVector(7, {0x403010004131'FF'01, 0x4232120243332303}); + + // Table + jit.SetVector(8, {0x7766554433221100, 0xffeeddccbbaa9988}); + jit.SetVector(9, {0xffffffffffffffff, 0xffffffffffffffff}); + jit.SetVector(10, {0xeeeeeeeeeeeeeeee, 0xeeeeeeeeeeeeeeee}); + jit.SetVector(11, {0xdddddddddddddddd, 0xdddddddddddddddd}); + + jit.SetPC(0); + + env.ticks_left = 9; + jit.Run(); + + REQUIRE(jit.GetVector(0) == Vector{0x001122334455'00'77, 0x0000000000000000}); + REQUIRE(jit.GetVector(1) == Vector{0x001122334455'00'77, 0x8899aabbccddeeff}); + REQUIRE(jit.GetVector(2) == Vector{0xff00ff11ff22'00'33, 0x0000000000000000}); + REQUIRE(jit.GetVector(3) == Vector{0xff00ff11ff22'00'33, 0xff44ff55ff66ff77}); + REQUIRE(jit.GetVector(4) == Vector{0xeeff00eeff11'00'ff, 0x0000000000000000}); + REQUIRE(jit.GetVector(5) == Vector{0xeeff00eeff11'00'ff, 0x2200eeff33eeff44}); + REQUIRE(jit.GetVector(6) == Vector{0x00ddff0000dd'00'11, 0x0000000000000000}); + REQUIRE(jit.GetVector(7) == Vector{0x00ddff0000dd'00'11, 0x00ddff2200ddee33}); +} + +TEST_CASE("A64: TBX", "[a64]") { + A64TestEnv env; + A64::Jit jit{A64::UserConfig{&env}}; + + env.code_mem.emplace_back(0x0e001100); // TBX v0.8b, { v8.16b }, v0.8b + env.code_mem.emplace_back(0x4e011101); // TBX v1.16b, { v8.16b }, v1.16b + env.code_mem.emplace_back(0x0e023102); // TBX v2.8b, { v8.16b, v9.16b }, v2.8b + env.code_mem.emplace_back(0x4e033103); // TBX v3.16b, { v8.16b, v9.16b }, v3.16b + env.code_mem.emplace_back(0x0e045104); // TBX v4.8b, { v8.16b, v9.16b, v10.16b }, v4.8b + env.code_mem.emplace_back(0x4e055105); // TBX v5.16b, { v8.16b, v9.16b, v10.16b }, v5.16b + env.code_mem.emplace_back(0x0e067106); // TBX v6.8b, { v8.16b, v9.16b, v10.16b, v11.16b }, v6.8b + env.code_mem.emplace_back(0x4e077107); // TBX v7.16b, { v8.16b, v9.16b, v10.16b, v11.16b }, v7.16b + env.code_mem.emplace_back(0x14000000); // B . + + // Indices + // 'FF' intended to test out-of-index + jit.SetVector(0, {0x000102030405'FF'07, 0x08090a0b0c0d0e0f}); + jit.SetVector(1, {0x000102030405'FF'07, 0x08090a0b0c0d0e0f}); + jit.SetVector(2, {0x100011011202'FF'03, 0x1404150516061707}); + jit.SetVector(3, {0x100011011202'FF'03, 0x1404150516061707}); + jit.SetVector(4, {0x201000211101'FF'12, 0x0233231303241404}); + jit.SetVector(5, {0x201000211101'FF'12, 0x0233231303241404}); + jit.SetVector(6, {0x403010004131'FF'01, 0x4232120243332303}); + jit.SetVector(7, {0x403010004131'FF'01, 0x4232120243332303}); + + // Table + jit.SetVector(8, {0x7766554433221100, 0xffeeddccbbaa9988}); + jit.SetVector(9, {0xffffffffffffffff, 0xffffffffffffffff}); + jit.SetVector(10, {0xeeeeeeeeeeeeeeee, 0xeeeeeeeeeeeeeeee}); + jit.SetVector(11, {0xdddddddddddddddd, 0xdddddddddddddddd}); + + jit.SetPC(0); + + env.ticks_left = 9; + jit.Run(); + + REQUIRE(jit.GetVector(0) == Vector{0x001122334455'FF'77, 0x0000000000000000}); + REQUIRE(jit.GetVector(1) == Vector{0x001122334455'FF'77, 0x8899aabbccddeeff}); + REQUIRE(jit.GetVector(2) == Vector{0xff00ff11ff22'FF'33, 0x0000000000000000}); + REQUIRE(jit.GetVector(3) == Vector{0xff00ff11ff22'FF'33, 0xff44ff55ff66ff77}); + REQUIRE(jit.GetVector(4) == Vector{0xeeff00eeff11'FF'ff, 0x0000000000000000}); + REQUIRE(jit.GetVector(5) == Vector{0xeeff00eeff11'FF'ff, 0x2233eeff33eeff44}); + REQUIRE(jit.GetVector(6) == Vector{0x40ddff0041dd'FF'11, 0x0000000000000000}); + REQUIRE(jit.GetVector(7) == Vector{0x40ddff0041dd'FF'11, 0x42ddff2243ddee33}); +} + TEST_CASE("A64: AND", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x8a020020); // AND X0, X1, X2 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x8a020020); // AND X0, X1, X2 + env.code_mem.emplace_back(0x14000000); // B . jit.SetRegister(0, 0); jit.SetRegister(1, 1); @@ -114,10 +289,10 @@ TEST_CASE("A64: Bitmasks", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x3200c3e0); // ORR W0, WZR, #0x01010101 - env.code_mem.emplace_back(0x320c8fe1); // ORR W1, WZR, #0x00F000F0 - env.code_mem.emplace_back(0x320003e2); // ORR W2, WZR, #1 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x3200c3e0); // ORR W0, WZR, #0x01010101 + env.code_mem.emplace_back(0x320c8fe1); // ORR W1, WZR, #0x00F000F0 + env.code_mem.emplace_back(0x320003e2); // ORR W2, WZR, #1 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); @@ -134,8 +309,8 @@ TEST_CASE("A64: ANDS NZCV", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x6a020020); // ANDS W0, W1, W2 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x6a020020); // ANDS W0, W1, W2 + env.code_mem.emplace_back(0x14000000); // B . SECTION("N=1, Z=0") { jit.SetRegister(0, 0); @@ -189,11 +364,11 @@ TEST_CASE("A64: CBZ", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x34000060); // 0x00 : CBZ X0, label - env.code_mem.emplace_back(0x320003e2); // 0x04 : MOV X2, 1 - env.code_mem.emplace_back(0x14000000); // 0x08 : B. - env.code_mem.emplace_back(0x321f03e2); // 0x0C : label: MOV X2, 2 - env.code_mem.emplace_back(0x14000000); // 0x10 : B . + env.code_mem.emplace_back(0x34000060); // 0x00 : CBZ X0, label + env.code_mem.emplace_back(0x320003e2); // 0x04 : MOV X2, 1 + env.code_mem.emplace_back(0x14000000); // 0x08 : B. + env.code_mem.emplace_back(0x321f03e2); // 0x0C : label: MOV X2, 2 + env.code_mem.emplace_back(0x14000000); // 0x10 : B . SECTION("no branch") { jit.SetPC(0); @@ -222,11 +397,11 @@ TEST_CASE("A64: TBZ", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x36180060); // 0x00 : TBZ X0, 3, label - env.code_mem.emplace_back(0x320003e2); // 0x04 : MOV X2, 1 - env.code_mem.emplace_back(0x14000000); // 0x08 : B . - env.code_mem.emplace_back(0x321f03e2); // 0x0C : label: MOV X2, 2 - env.code_mem.emplace_back(0x14000000); // 0x10 : B . + env.code_mem.emplace_back(0x36180060); // 0x00 : TBZ X0, 3, label + env.code_mem.emplace_back(0x320003e2); // 0x04 : MOV X2, 1 + env.code_mem.emplace_back(0x14000000); // 0x08 : B . + env.code_mem.emplace_back(0x321f03e2); // 0x0C : label: MOV X2, 2 + env.code_mem.emplace_back(0x14000000); // 0x10 : B . SECTION("no branch") { jit.SetPC(0); @@ -266,8 +441,8 @@ TEST_CASE("A64: FABD", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x6eb5d556); // FABD.4S V22, V10, V21 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x6eb5d556); // FABD.4S V22, V10, V21 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetVector(10, {0xb4858ac77ff39a87, 0x9fce5e14c4873176}); @@ -293,9 +468,9 @@ TEST_CASE("A64: 128-bit exclusive read/write", "[a64]") { A64::Jit jit{conf}; - env.code_mem.emplace_back(0xc87f0861); // LDXP X1, X2, [X3] - env.code_mem.emplace_back(0xc8241865); // STXP W4, X5, X6, [X3] - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xc87f0861); // LDXP X1, X2, [X3] + env.code_mem.emplace_back(0xc8241865); // STXP W4, X5, X6, [X3] + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetRegister(3, 0x1234567812345678); @@ -317,16 +492,16 @@ TEST_CASE("A64: CNTPCT_EL0", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0xd53be021); // MRS X1, CNTPCT_EL0 - env.code_mem.emplace_back(0xd503201f); // NOP - env.code_mem.emplace_back(0xd503201f); // NOP - env.code_mem.emplace_back(0xd503201f); // NOP - env.code_mem.emplace_back(0xd503201f); // NOP - env.code_mem.emplace_back(0xd503201f); // NOP - env.code_mem.emplace_back(0xd503201f); // NOP - env.code_mem.emplace_back(0xd53be022); // MRS X2, CNTPCT_EL0 - env.code_mem.emplace_back(0xcb010043); // SUB X3, X2, X1 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xd53be021); // MRS X1, CNTPCT_EL0 + env.code_mem.emplace_back(0xd503201f); // NOP + env.code_mem.emplace_back(0xd503201f); // NOP + env.code_mem.emplace_back(0xd503201f); // NOP + env.code_mem.emplace_back(0xd503201f); // NOP + env.code_mem.emplace_back(0xd503201f); // NOP + env.code_mem.emplace_back(0xd503201f); // NOP + env.code_mem.emplace_back(0xd53be022); // MRS X2, CNTPCT_EL0 + env.code_mem.emplace_back(0xcb010043); // SUB X3, X2, X1 + env.code_mem.emplace_back(0x14000000); // B . env.ticks_left = 10; jit.Run(); @@ -338,8 +513,8 @@ TEST_CASE("A64: FNMSUB 1", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x1f618a9c); // FNMSUB D28, D20, D1, D2 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x1f618a9c); // FNMSUB D28, D20, D1, D2 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetVector(20, {0xe73a51346164bd6c, 0x8080000000002b94}); @@ -356,8 +531,8 @@ TEST_CASE("A64: FNMSUB 2", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x1f2ab88e); // FNMSUB S14, S4, S10, S14 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x1f2ab88e); // FNMSUB S14, S4, S10, S14 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetVector(4, {0x3c9623b101398437, 0x7ff0abcd0ba98d27}); @@ -375,8 +550,8 @@ TEST_CASE("A64: FMADD", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x1f5e0e4a); // FMADD D10, D18, D30, D3 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x1f5e0e4a); // FMADD D10, D18, D30, D3 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetVector(18, {0x8000007600800000, 0x7ff812347f800000}); @@ -394,8 +569,8 @@ TEST_CASE("A64: FMLA.4S (denormal)", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x4e2fcccc); // FMLA.4S V12, V6, V15 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x4e2fcccc); // FMLA.4S V12, V6, V15 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetVector(12, {0x3c9623b17ff80000, 0xbff0000080000076}); @@ -413,8 +588,8 @@ TEST_CASE("A64: FMLA.4S (0x80800000)", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x4e38cc2b); // FMLA.4S V11, V1, V24 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x4e38cc2b); // FMLA.4S V11, V1, V24 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetVector(11, {0xc79b271efff05678, 0xffc0000080800000}); @@ -435,8 +610,8 @@ TEST_CASE("A64: FMADD (0x80800000)", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x1f0f7319); // FMADD S25, S24, S15, S28 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x1f0f7319); // FMADD S25, S24, S15, S28 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetVector(24, {0x00800000, 0}); @@ -454,9 +629,9 @@ TEST_CASE("A64: FNEG failed to zero upper", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x2ea0fb50); // FNEG.2S V16, V26 - env.code_mem.emplace_back(0x2e207a1c); // SQNEG.8B V28, V16 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x2ea0fb50); // FNEG.2S V16, V26 + env.code_mem.emplace_back(0x2e207a1c); // SQNEG.8B V28, V16 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetVector(26, {0x071286fde8f34a90, 0x837cffa8be382f60}); @@ -473,8 +648,8 @@ TEST_CASE("A64: FRSQRTS", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x5eb8fcad); // FRSQRTS S13, S5, S24 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x5eb8fcad); // FRSQRTS S13, S5, S24 + env.code_mem.emplace_back(0x14000000); // B . // These particular values result in an intermediate value during // the calculation that is close to infinity. We want to verify @@ -495,8 +670,8 @@ TEST_CASE("A64: SQDMULH.8H (saturate)", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x4e62b420); // SQDMULH.8H V0, V1, V2 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x4e62b420); // SQDMULH.8H V0, V1, V2 + env.code_mem.emplace_back(0x14000000); // B . // Make sure that saturating values are tested @@ -516,8 +691,8 @@ TEST_CASE("A64: SQDMULH.4S (saturate)", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0x4ea2b420); // SQDMULH.4S V0, V1, V2 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x4ea2b420); // SQDMULH.4S V0, V1, V2 + env.code_mem.emplace_back(0x14000000); // B . // Make sure that saturating values are tested @@ -543,8 +718,8 @@ TEST_CASE("A64: This is an infinite loop if fast dispatch is enabled", "[a64]") env.code_mem.emplace_back(0x2ef41c11); env.code_mem.emplace_back(0x0f07fdd8); env.code_mem.emplace_back(0x9ac90d09); - env.code_mem.emplace_back(0xd63f0120); // BLR X9 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xd63f0120); // BLR X9 + env.code_mem.emplace_back(0x14000000); // B . env.ticks_left = 6; jit.Run(); @@ -554,12 +729,12 @@ TEST_CASE("A64: Optimization failure when folding ADD", "[a64]") { A64TestEnv env; A64::Jit jit{A64::UserConfig{&env}}; - env.code_mem.emplace_back(0xbc4f84be); // LDR S30, [X5], #248 - env.code_mem.emplace_back(0x9a0c00ea); // ADC X10, X7, X12 - env.code_mem.emplace_back(0x5a1a0079); // SBC W25, W3, W26 - env.code_mem.emplace_back(0x9b0e2be9); // MADD X9, XZR, X14, X10 - env.code_mem.emplace_back(0xfa5fe8a9); // CCMP X5, #31, #9, AL - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xbc4f84be); // LDR S30, [X5], #248 + env.code_mem.emplace_back(0x9a0c00ea); // ADC X10, X7, X12 + env.code_mem.emplace_back(0x5a1a0079); // SBC W25, W3, W26 + env.code_mem.emplace_back(0x9b0e2be9); // MADD X9, XZR, X14, X10 + env.code_mem.emplace_back(0xfa5fe8a9); // CCMP X5, #31, #9, AL + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetRegister(0, 0x46e15845dba57924); @@ -655,10 +830,53 @@ TEST_CASE("A64: Cache Maintenance Instructions", "[a64]") { jit.SetRegister(0, 0xcafed00d); jit.SetRegister(1, 0xcafebabe); - env.code_mem.emplace_back(0xd50b7520); // ic ivau, x0 - env.code_mem.emplace_back(0xd5087621); // dc ivac, x1 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xd50b7520); // ic ivau, x0 + env.code_mem.emplace_back(0xd5087621); // dc ivac, x1 + env.code_mem.emplace_back(0x14000000); // B . env.ticks_left = 3; jit.Run(); } + +TEST_CASE("A64: Memory access (fastmem)", "[a64]") { + constexpr size_t address_width = 12; + constexpr size_t memory_size = 1ull << address_width; // 4K + constexpr size_t page_size = 4 * 1024; + constexpr size_t buffer_size = 2 * page_size; + char buffer[buffer_size]; + + void* buffer_ptr = reinterpret_cast(buffer); + size_t buffer_size_nconst = buffer_size; + char* backing_memory = reinterpret_cast(std::align(page_size, memory_size, buffer_ptr, buffer_size_nconst)); + + A64FastmemTestEnv env{backing_memory}; + Dynarmic::A64::UserConfig config{&env}; + config.fastmem_pointer = backing_memory; + config.page_table_address_space_bits = address_width; + config.recompile_on_fastmem_failure = false; + config.silently_mirror_page_table = true; + config.processor_id = 0; + + Dynarmic::A64::Jit jit{config}; + memset(backing_memory, 0, memory_size); + memcpy(backing_memory + 0x100, "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", 57); + + env.MemoryWrite32(0, 0xA9401404); // LDP X4, X5, [X0] + env.MemoryWrite32(4, 0xF9400046); // LDR X6, [X2] + env.MemoryWrite32(8, 0xA9001424); // STP X4, X5, [X1] + env.MemoryWrite32(12, 0xF9000066); // STR X6, [X3] + env.MemoryWrite32(16, 0x14000000); // B . + jit.SetRegister(0, 0x100); + jit.SetRegister(1, 0x1F0); + jit.SetRegister(2, 0x10F); + jit.SetRegister(3, 0x1FF); + + jit.SetPC(0); + jit.SetSP(memory_size - 1); + jit.SetFpsr(0x03480000); + jit.SetPstate(0x30000000); + env.ticks_left = 5; + + jit.Run(); + REQUIRE(strncmp(backing_memory + 0x100, backing_memory + 0x1F0, 23) == 0); +} diff --git a/externals/dynarmic/tests/A64/fuzz_with_unicorn.cpp b/externals/dynarmic/tests/A64/fuzz_with_unicorn.cpp index ccafed5f9..ec6e6f8c8 100755 --- a/externals/dynarmic/tests/A64/fuzz_with_unicorn.cpp +++ b/externals/dynarmic/tests/A64/fuzz_with_unicorn.cpp @@ -10,22 +10,22 @@ #include -#include "common/common_types.h" -#include "common/fp/fpcr.h" -#include "common/fp/fpsr.h" -#include "common/llvm_disassemble.h" -#include "common/scope_exit.h" -#include "frontend/A64/decoder/a64.h" -#include "frontend/A64/location_descriptor.h" -#include "frontend/A64/translate/translate.h" -#include "frontend/A64/types.h" -#include "frontend/ir/basic_block.h" -#include "frontend/ir/opcodes.h" -#include "fuzz_util.h" -#include "ir_opt/passes.h" -#include "rand_int.h" -#include "testenv.h" -#include "unicorn_emu/a64_unicorn.h" +#include "../fuzz_util.h" +#include "../rand_int.h" +#include "../unicorn_emu/a64_unicorn.h" +#include "./testenv.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/llvm_disassemble.h" +#include "dynarmic/common/scope_exit.h" +#include "dynarmic/frontend/A64/decoder/a64.h" +#include "dynarmic/frontend/A64/location_descriptor.h" +#include "dynarmic/frontend/A64/translate/translate.h" +#include "dynarmic/frontend/A64/types.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opcodes.h" +#include "dynarmic/ir/opt/passes.h" // Must be declared last for all necessary operator<< to be declared prior to this. #include @@ -59,10 +59,10 @@ static u32 GenRandomInst(u64 pc, bool is_last_inst) { static const struct InstructionGeneratorInfo { std::vector generators; std::vector invalid; - } instructions = []{ - const std::vector> list { + } instructions = [] { + const std::vector> list{ #define INST(fn, name, bitstring) {#fn, bitstring}, -#include "frontend/A64/decoder/a64.inc" +#include "dynarmic/frontend/A64/decoder/a64.inc" #undef INST }; @@ -70,15 +70,24 @@ static u32 GenRandomInst(u64 pc, bool is_last_inst) { std::vector invalid; // List of instructions not to test - const std::vector do_not_test { + const std::vector do_not_test{ // Unimplemented in QEMU "STLLR", // Unimplemented in QEMU "LDLAR", // Dynarmic and QEMU currently differ on how the exclusive monitor's address range works. - "STXR", "STLXR", "STXP", "STLXP", "LDXR", "LDAXR", "LDXP", "LDAXP", + "STXR", + "STLXR", + "STXP", + "STLXP", + "LDXR", + "LDAXR", + "LDXP", + "LDAXP", // Behaviour differs from QEMU - "MSR_reg", "MSR_imm", "MRS", + "MSR_reg", + "MSR_imm", + "MRS", }; for (const auto& [fn, bitstring] : list) { @@ -108,16 +117,15 @@ static u32 GenRandomInst(u64 pc, bool is_last_inst) { } static u32 GenFloatInst(u64 pc, bool is_last_inst) { - static const std::vector instruction_generators = []{ - const std::vector> list { + static const std::vector instruction_generators = [] { + const std::vector> list{ #define INST(fn, name, bitstring) {#fn, #name, bitstring}, -#include "frontend/A64/decoder/a64.inc" +#include "dynarmic/frontend/A64/decoder/a64.inc" #undef INST }; // List of instructions not to test - const std::vector do_not_test { - }; + const std::vector do_not_test{}; std::vector result; @@ -139,7 +147,7 @@ static u32 GenFloatInst(u64 pc, bool is_last_inst) { const size_t index = RandInt(0, instruction_generators.size() - 1); const u32 instruction = instruction_generators[index].Generate(); - if ((instruction & 0x00800000) == 0 && ShouldTestInst(instruction, pc, is_last_inst)) { + if (ShouldTestInst(instruction, pc, is_last_inst)) { return instruction; } } @@ -154,13 +162,11 @@ static Dynarmic::A64::UserConfig GetUserConfig(A64TestEnv& jit_env) { return jit_user_config; } -static void RunTestInstance(Dynarmic::A64::Jit& jit, A64Unicorn& uni, A64TestEnv& jit_env, A64TestEnv& uni_env, - const A64Unicorn::RegisterArray& regs, const A64Unicorn::VectorArray& vecs, const size_t instructions_start, - const std::vector& instructions, const u32 pstate, const u32 fpcr) { +static void RunTestInstance(Dynarmic::A64::Jit& jit, A64Unicorn& uni, A64TestEnv& jit_env, A64TestEnv& uni_env, const A64Unicorn::RegisterArray& regs, const A64Unicorn::VectorArray& vecs, const size_t instructions_start, const std::vector& instructions, const u32 pstate, const u32 fpcr) { jit_env.code_mem = instructions; uni_env.code_mem = instructions; - jit_env.code_mem.emplace_back(0x14000000); // B . - uni_env.code_mem.emplace_back(0x14000000); // B . + jit_env.code_mem.emplace_back(0x14000000); // B . + uni_env.code_mem.emplace_back(0x14000000); // B . jit_env.code_mem_start_address = instructions_start; uni_env.code_mem_start_address = instructions_start; jit_env.modified_memory.clear(); @@ -302,7 +308,7 @@ TEST_CASE("A64: Single random instruction", "[a64]") { std::vector instructions(1); for (size_t iteration = 0; iteration < 100000; ++iteration) { - std::generate(regs.begin(), regs.end(), []{ return RandInt(0, ~u64(0)); }); + std::generate(regs.begin(), regs.end(), [] { return RandInt(0, ~u64(0)); }); std::generate(vecs.begin(), vecs.end(), RandomVector); instructions[0] = GenRandomInst(0, true); @@ -324,49 +330,49 @@ TEST_CASE("A64: Floating point instructions", "[a64]") { Dynarmic::A64::Jit jit{GetUserConfig(jit_env)}; A64Unicorn uni{uni_env}; - static constexpr std::array float_numbers { - 0x00000000, // positive zero - 0x00000001, // smallest positive denormal - 0x00000076, // - 0x00002b94, // - 0x00636d24, // - 0x007fffff, // largest positive denormal - 0x00800000, // smallest positive normalised real - 0x00800002, // - 0x01398437, // - 0x0ba98d27, // - 0x0ba98d7a, // - 0x751f853a, // - 0x7f7ffff0, // - 0x7f7fffff, // largest positive normalised real - 0x7f800000, // positive infinity - 0x7f800001, // first positive SNaN - 0x7f984a37, // - 0x7fbfffff, // last positive SNaN - 0x7fc00000, // first positive QNaN - 0x7fd9ba98, // - 0x7fffffff, // last positive QNaN - 0x80000000, // negative zero - 0x80000001, // smallest negative denormal - 0x80000076, // - 0x80002b94, // - 0x80636d24, // - 0x807fffff, // largest negative denormal - 0x80800000, // smallest negative normalised real - 0x80800002, // - 0x81398437, // - 0x8ba98d27, // - 0x8ba98d7a, // - 0xf51f853a, // - 0xff7ffff0, // - 0xff7fffff, // largest negative normalised real - 0xff800000, // negative infinity - 0xff800001, // first negative SNaN - 0xff984a37, // - 0xffbfffff, // last negative SNaN - 0xffc00000, // first negative QNaN - 0xffd9ba98, // - 0xffffffff, // last negative QNaN + static constexpr std::array float_numbers{ + 0x00000000, // positive zero + 0x00000001, // smallest positive denormal + 0x00000076, // + 0x00002b94, // + 0x00636d24, // + 0x007fffff, // largest positive denormal + 0x00800000, // smallest positive normalised real + 0x00800002, // + 0x01398437, // + 0x0ba98d27, // + 0x0ba98d7a, // + 0x751f853a, // + 0x7f7ffff0, // + 0x7f7fffff, // largest positive normalised real + 0x7f800000, // positive infinity + 0x7f800001, // first positive SNaN + 0x7f984a37, // + 0x7fbfffff, // last positive SNaN + 0x7fc00000, // first positive QNaN + 0x7fd9ba98, // + 0x7fffffff, // last positive QNaN + 0x80000000, // negative zero + 0x80000001, // smallest negative denormal + 0x80000076, // + 0x80002b94, // + 0x80636d24, // + 0x807fffff, // largest negative denormal + 0x80800000, // smallest negative normalised real + 0x80800002, // + 0x81398437, // + 0x8ba98d27, // + 0x8ba98d7a, // + 0xf51f853a, // + 0xff7ffff0, // + 0xff7fffff, // largest negative normalised real + 0xff800000, // negative infinity + 0xff800001, // first negative SNaN + 0xff984a37, // + 0xffbfffff, // last negative SNaN + 0xffc00000, // first negative QNaN + 0xffd9ba98, // + 0xffffffff, // last negative QNaN // some random numbers follow 0x4f3495cb, 0xe73a5134, @@ -397,23 +403,26 @@ TEST_CASE("A64: Floating point instructions", "[a64]") { 0xc79b271e, 0x460e8c84, // some 64-bit-float upper-halves - 0x7ff00000, // +SNaN / +Inf - 0x7ff0abcd, // +SNaN - 0x7ff80000, // +QNaN - 0x7ff81234, // +QNaN - 0xfff00000, // -SNaN / -Inf - 0xfff05678, // -SNaN - 0xfff80000, // -QNaN - 0xfff809ef, // -QNaN - 0x3ff00000, // Number near +1.0 - 0xbff00000, // Number near -1.0 + 0x7ff00000, // +SNaN / +Inf + 0x7ff0abcd, // +SNaN + 0x7ff80000, // +QNaN + 0x7ff81234, // +QNaN + 0xfff00000, // -SNaN / -Inf + 0xfff05678, // -SNaN + 0xfff80000, // -QNaN + 0xfff809ef, // -QNaN + 0x3ff00000, // Number near +1.0 + 0xbff00000, // Number near -1.0 }; - const auto gen_float = [&]{ + const auto gen_float = [&] { + if (RandInt(0, 1) == 0) { + return RandInt(0, 0xffffffff); + } return float_numbers[RandInt(0, float_numbers.size() - 1)]; }; - const auto gen_vector = [&]{ + const auto gen_vector = [&] { u64 upper = (gen_float() << 32) | gen_float(); u64 lower = (gen_float() << 32) | gen_float(); return Vector{lower, upper}; @@ -474,7 +483,6 @@ TEST_CASE("A64: Small random block", "[a64]") { } } - TEST_CASE("A64: Large random block", "[a64]") { A64TestEnv jit_env{}; A64TestEnv uni_env{}; diff --git a/externals/dynarmic/tests/A64/misaligned_page_table.cpp b/externals/dynarmic/tests/A64/misaligned_page_table.cpp index 45633764a..896f1a46f 100755 --- a/externals/dynarmic/tests/A64/misaligned_page_table.cpp +++ b/externals/dynarmic/tests/A64/misaligned_page_table.cpp @@ -5,9 +5,8 @@ #include -#include - -#include "testenv.h" +#include "./testenv.h" +#include "dynarmic/interface/A64/a64.h" TEST_CASE("misaligned load/store do not use page_table when detect_misaligned_access_via_page_table is set", "[a64]") { A64TestEnv env; @@ -17,8 +16,8 @@ TEST_CASE("misaligned load/store do not use page_table when detect_misaligned_ac conf.only_detect_misalignment_via_page_table_on_page_boundary = true; Dynarmic::A64::Jit jit{conf}; - env.code_mem.emplace_back(0x3c800400); // STR Q0, [X0], #0 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x3c800400); // STR Q0, [X0], #0 + env.code_mem.emplace_back(0x14000000); // B . jit.SetPC(0); jit.SetRegister(0, 0x000000000b0afff8); diff --git a/externals/dynarmic/tests/A64/testenv.h b/externals/dynarmic/tests/A64/testenv.h index 0eaf68edd..79a2bff03 100755 --- a/externals/dynarmic/tests/A64/testenv.h +++ b/externals/dynarmic/tests/A64/testenv.h @@ -8,10 +8,9 @@ #include #include -#include - -#include "common/assert.h" -#include "common/common_types.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/interface/A64/a64.h" using Vector = Dynarmic::A64::Vector; @@ -32,7 +31,7 @@ public: std::uint32_t MemoryReadCode(u64 vaddr) override { if (!IsInCodeMem(vaddr)) { - return 0x14000000; // B . + return 0x14000000; // B . } const size_t index = (vaddr - code_mem_start_address) / 4; @@ -125,3 +124,99 @@ public: return 0x10000000000 - ticks_left; } }; + +class A64FastmemTestEnv final : public Dynarmic::A64::UserCallbacks { +public: + u64 ticks_left = 0; + char* backing_memory = nullptr; + + explicit A64FastmemTestEnv(char* addr) : backing_memory(addr) {} + + template + T read(u64 vaddr) { + T value; + memcpy(&value, backing_memory + vaddr, sizeof(T)); + return value; + } + template + void write(u64 vaddr, const T& value) { + memcpy(backing_memory + vaddr, &value, sizeof(T)); + } + + std::uint32_t MemoryReadCode(u64 vaddr) override { + return read(vaddr); + } + + std::uint8_t MemoryRead8(u64 vaddr) override { + return read(vaddr); + } + std::uint16_t MemoryRead16(u64 vaddr) override { + return read(vaddr); + } + std::uint32_t MemoryRead32(u64 vaddr) override { + return read(vaddr); + } + std::uint64_t MemoryRead64(u64 vaddr) override { + return read(vaddr); + } + Vector MemoryRead128(u64 vaddr) override { + return read(vaddr); + } + + void MemoryWrite8(u64 vaddr, std::uint8_t value) override { + write(vaddr, value); + } + void MemoryWrite16(u64 vaddr, std::uint16_t value) override { + write(vaddr, value); + } + void MemoryWrite32(u64 vaddr, std::uint32_t value) override { + write(vaddr, value); + } + void MemoryWrite64(u64 vaddr, std::uint64_t value) override { + write(vaddr, value); + } + void MemoryWrite128(u64 vaddr, Vector value) override { + write(vaddr, value); + } + + bool MemoryWriteExclusive8(u64 vaddr, std::uint8_t value, [[maybe_unused]] std::uint8_t expected) override { + MemoryWrite8(vaddr, value); + return true; + } + bool MemoryWriteExclusive16(u64 vaddr, std::uint16_t value, [[maybe_unused]] std::uint16_t expected) override { + MemoryWrite16(vaddr, value); + return true; + } + bool MemoryWriteExclusive32(u64 vaddr, std::uint32_t value, [[maybe_unused]] std::uint32_t expected) override { + MemoryWrite32(vaddr, value); + return true; + } + bool MemoryWriteExclusive64(u64 vaddr, std::uint64_t value, [[maybe_unused]] std::uint64_t expected) override { + MemoryWrite64(vaddr, value); + return true; + } + bool MemoryWriteExclusive128(u64 vaddr, Vector value, [[maybe_unused]] Vector expected) override { + MemoryWrite128(vaddr, value); + return true; + } + + void InterpreterFallback(u64 pc, size_t num_instructions) override { ASSERT_MSG(false, "InterpreterFallback({:016x}, {})", pc, num_instructions); } + + void CallSVC(std::uint32_t swi) override { ASSERT_MSG(false, "CallSVC({})", swi); } + + void ExceptionRaised(u64 pc, Dynarmic::A64::Exception) override { ASSERT_MSG(false, "ExceptionRaised({:016x})", pc); } + + void AddTicks(std::uint64_t ticks) override { + if (ticks > ticks_left) { + ticks_left = 0; + return; + } + ticks_left -= ticks; + } + std::uint64_t GetTicksRemaining() override { + return ticks_left; + } + std::uint64_t GetCNTPCT() override { + return 0x10000000000 - ticks_left; + } +}; diff --git a/externals/dynarmic/tests/A64/verify_unicorn.cpp b/externals/dynarmic/tests/A64/verify_unicorn.cpp index afcb820a2..1ac30031c 100755 --- a/externals/dynarmic/tests/A64/verify_unicorn.cpp +++ b/externals/dynarmic/tests/A64/verify_unicorn.cpp @@ -7,24 +7,23 @@ #include -#include "rand_int.h" -#include "testenv.h" -#include "unicorn_emu/a64_unicorn.h" +#include "../rand_int.h" +#include "../unicorn_emu/a64_unicorn.h" +#include "./testenv.h" using namespace Dynarmic; TEST_CASE("Unicorn: Sanity test", "[a64]") { A64TestEnv env; - env.code_mem.emplace_back(0x8b020020); // ADD X0, X1, X2 - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x8b020020); // ADD X0, X1, X2 + env.code_mem.emplace_back(0x14000000); // B . constexpr A64Unicorn::RegisterArray regs{ 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0 - }; + 0, 0, 0, 0, 0, 0, 0}; A64Unicorn unicorn{env}; @@ -43,8 +42,8 @@ TEST_CASE("Unicorn: Sanity test", "[a64]") { TEST_CASE("Unicorn: Ensure 0xFFFF'FFFF'FFFF'FFFF is readable", "[a64]") { A64TestEnv env; - env.code_mem.emplace_back(0x385fed99); // LDRB W25, [X12, #0xfffffffffffffffe]! - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0x385fed99); // LDRB W25, [X12, #0xfffffffffffffffe]! + env.code_mem.emplace_back(0x14000000); // B . A64Unicorn::RegisterArray regs{}; regs[12] = 1; @@ -63,8 +62,8 @@ TEST_CASE("Unicorn: Ensure 0xFFFF'FFFF'FFFF'FFFF is readable", "[a64]") { TEST_CASE("Unicorn: Ensure is able to read across page boundaries", "[a64]") { A64TestEnv env; - env.code_mem.emplace_back(0xb85f93d9); // LDUR W25, [X30, #0xfffffffffffffff9] - env.code_mem.emplace_back(0x14000000); // B . + env.code_mem.emplace_back(0xb85f93d9); // LDUR W25, [X30, #0xfffffffffffffff9] + env.code_mem.emplace_back(0x14000000); // B . A64Unicorn::RegisterArray regs{}; regs[30] = 4; diff --git a/externals/dynarmic/tests/CMakeLists.txt b/externals/dynarmic/tests/CMakeLists.txt index f4a596c2a..105a4a004 100755 --- a/externals/dynarmic/tests/CMakeLists.txt +++ b/externals/dynarmic/tests/CMakeLists.txt @@ -19,6 +19,13 @@ add_executable(dynarmic_tests rand_int.h ) +if (NOT MSVC) + target_sources(dynarmic_tests PRIVATE + rsqrt_test.cpp + rsqrt_test_fn.s + ) +endif() + if (DYNARMIC_TESTS_USE_UNICORN) target_sources(dynarmic_tests PRIVATE A32/fuzz_arm.cpp @@ -47,7 +54,7 @@ create_target_directory_groups(dynarmic_print_info) target_link_libraries(dynarmic_tests PRIVATE dynarmic boost catch fmt mp xbyak) target_include_directories(dynarmic_tests PRIVATE . ../src) target_compile_options(dynarmic_tests PRIVATE ${DYNARMIC_CXX_FLAGS}) -target_compile_definitions(dynarmic_tests PRIVATE FMT_USE_USER_DEFINED_LITERALS=0) +target_compile_definitions(dynarmic_tests PRIVATE FMT_USE_USER_DEFINED_LITERALS=0 CATCH_CONFIG_ENABLE_BENCHMARKING=1) target_link_libraries(dynarmic_print_info PRIVATE dynarmic boost catch fmt mp) target_include_directories(dynarmic_print_info PRIVATE . ../src) diff --git a/externals/dynarmic/tests/cpu_info.cpp b/externals/dynarmic/tests/cpu_info.cpp index e70fc8fcb..a3cfe902e 100755 --- a/externals/dynarmic/tests/cpu_info.cpp +++ b/externals/dynarmic/tests/cpu_info.cpp @@ -7,76 +7,93 @@ #include #include -#include #include TEST_CASE("Host CPU supports", "[a64]") { Xbyak::util::Cpu cpu_info; + + std::array cpu_name; + for (uint32_t i = 2; i < 5; ++i) { + cpu_info.getCpuid(0x80000000 | i, cpu_name.data()); + std::printf("%.16s", reinterpret_cast(cpu_name.data())); + } + std::putchar('\n'); + + cpu_info.putFamily(); static constexpr std::array types{ + std::make_pair(Xbyak::util::Cpu::t3DN, "3DN"), + std::make_pair(Xbyak::util::Cpu::tADX, "ADX"), + std::make_pair(Xbyak::util::Cpu::tAESNI, "AESNI"), + std::make_pair(Xbyak::util::Cpu::tAMD, "AMD"), + std::make_pair(Xbyak::util::Cpu::tAVX, "AVX"), + std::make_pair(Xbyak::util::Cpu::tAVX2, "AVX2"), + std::make_pair(Xbyak::util::Cpu::tAVX512_4FMAPS, "AVX5124FMAPS"), + std::make_pair(Xbyak::util::Cpu::tAVX512_4VNNIW, "AVX5124VNNIW"), + std::make_pair(Xbyak::util::Cpu::tAVX512_BITALG, "AVX512BITALG"), + std::make_pair(Xbyak::util::Cpu::tAVX512_VBMI2, "AVX512VBMI2"), + std::make_pair(Xbyak::util::Cpu::tAVX512_VNNI, "AVX512VNNI"), + std::make_pair(Xbyak::util::Cpu::tAVX512_VPOPCNTDQ, "AVX512VPOPCNTDQ"), + std::make_pair(Xbyak::util::Cpu::tAVX512BW, "AVX512BW"), + std::make_pair(Xbyak::util::Cpu::tAVX512CD, "AVX512CD"), + std::make_pair(Xbyak::util::Cpu::tAVX512DQ, "AVX512DQ"), + std::make_pair(Xbyak::util::Cpu::tAVX512ER, "AVX512ER"), + std::make_pair(Xbyak::util::Cpu::tAVX512F, "AVX512F"), + std::make_pair(Xbyak::util::Cpu::tAVX512IFMA, "AVX512IFMA"), + std::make_pair(Xbyak::util::Cpu::tAVX512PF, "AVX512PF"), + std::make_pair(Xbyak::util::Cpu::tAVX512VBMI, "AVX512VBMI"), + std::make_pair(Xbyak::util::Cpu::tAVX512VL, "AVX512VL"), + std::make_pair(Xbyak::util::Cpu::tBMI1, "BMI1"), + std::make_pair(Xbyak::util::Cpu::tBMI2, "BMI2"), + std::make_pair(Xbyak::util::Cpu::tCMOV, "CMOV"), + std::make_pair(Xbyak::util::Cpu::tE3DN, "E3DN"), + std::make_pair(Xbyak::util::Cpu::tENHANCED_REP, "ENHANCED_REP"), + std::make_pair(Xbyak::util::Cpu::tF16C, "F16C"), + std::make_pair(Xbyak::util::Cpu::tFMA, "FMA"), + std::make_pair(Xbyak::util::Cpu::tGFNI, "GFNI"), + std::make_pair(Xbyak::util::Cpu::tHLE, "HLE"), + std::make_pair(Xbyak::util::Cpu::tINTEL, "INTEL"), + std::make_pair(Xbyak::util::Cpu::tLZCNT, "LZCNT"), std::make_pair(Xbyak::util::Cpu::tMMX, "MMX"), std::make_pair(Xbyak::util::Cpu::tMMX2, "MMX2"), - std::make_pair(Xbyak::util::Cpu::tCMOV, "CMOV"), + std::make_pair(Xbyak::util::Cpu::tMOVBE, "MOVBE"), + std::make_pair(Xbyak::util::Cpu::tMPX, "MPX"), + std::make_pair(Xbyak::util::Cpu::tOSXSAVE, "OSXSAVE"), + std::make_pair(Xbyak::util::Cpu::tPCLMULQDQ, "PCLMULQDQ"), + std::make_pair(Xbyak::util::Cpu::tPOPCNT, "POPCNT"), + std::make_pair(Xbyak::util::Cpu::tPREFETCHW, "PREFETCHW"), + std::make_pair(Xbyak::util::Cpu::tPREFETCHWT1, "PREFETCHWT1"), + std::make_pair(Xbyak::util::Cpu::tRDRAND, "RDRAND"), + std::make_pair(Xbyak::util::Cpu::tRDSEED, "RDSEED"), + std::make_pair(Xbyak::util::Cpu::tRDTSCP, "RDTSCP"), + std::make_pair(Xbyak::util::Cpu::tRTM, "RTM"), + std::make_pair(Xbyak::util::Cpu::tSHA, "SHA"), + std::make_pair(Xbyak::util::Cpu::tSMAP, "SMAP"), std::make_pair(Xbyak::util::Cpu::tSSE, "SSE"), std::make_pair(Xbyak::util::Cpu::tSSE2, "SSE2"), std::make_pair(Xbyak::util::Cpu::tSSE3, "SSE3"), - std::make_pair(Xbyak::util::Cpu::tSSSE3, "SSSE3"), std::make_pair(Xbyak::util::Cpu::tSSE41, "SSE41"), std::make_pair(Xbyak::util::Cpu::tSSE42, "SSE42"), - std::make_pair(Xbyak::util::Cpu::tPOPCNT, "POPCNT"), - std::make_pair(Xbyak::util::Cpu::tAESNI, "AESNI"), - std::make_pair(Xbyak::util::Cpu::tSSE5, "SSE5"), - std::make_pair(Xbyak::util::Cpu::tOSXSAVE, "OSXSAVE"), - std::make_pair(Xbyak::util::Cpu::tPCLMULQDQ, "PCLMULQDQ"), - std::make_pair(Xbyak::util::Cpu::tAVX, "AVX"), - std::make_pair(Xbyak::util::Cpu::tFMA, "FMA"), - std::make_pair(Xbyak::util::Cpu::t3DN, "3DN"), - std::make_pair(Xbyak::util::Cpu::tE3DN, "E3DN"), std::make_pair(Xbyak::util::Cpu::tSSE4a, "SSE4a"), - std::make_pair(Xbyak::util::Cpu::tRDTSCP, "RDTSCP"), - std::make_pair(Xbyak::util::Cpu::tAVX2, "AVX2"), - std::make_pair(Xbyak::util::Cpu::tBMI1, "BMI1"), - std::make_pair(Xbyak::util::Cpu::tBMI2, "BMI2"), - std::make_pair(Xbyak::util::Cpu::tLZCNT, "LZCNT"), - std::make_pair(Xbyak::util::Cpu::tINTEL, "INTEL"), - std::make_pair(Xbyak::util::Cpu::tAMD, "AMD"), - std::make_pair(Xbyak::util::Cpu::tENHANCED_REP, "ENHANCED_REP"), - std::make_pair(Xbyak::util::Cpu::tRDRAND, "RDRAND"), - std::make_pair(Xbyak::util::Cpu::tADX, "ADX"), - std::make_pair(Xbyak::util::Cpu::tRDSEED, "RDSEED"), - std::make_pair(Xbyak::util::Cpu::tSMAP, "SMAP"), - std::make_pair(Xbyak::util::Cpu::tHLE, "HLE"), - std::make_pair(Xbyak::util::Cpu::tRTM, "RTM"), - std::make_pair(Xbyak::util::Cpu::tF16C, "F16C"), - std::make_pair(Xbyak::util::Cpu::tMOVBE, "MOVBE"), - std::make_pair(Xbyak::util::Cpu::tAVX512F, "AVX512F"), - std::make_pair(Xbyak::util::Cpu::tAVX512DQ, "AVX512DQ"), - std::make_pair(Xbyak::util::Cpu::tAVX512_IFMA, "AVX512_IFMA"), - std::make_pair(Xbyak::util::Cpu::tAVX512IFMA, "AVX512IFMA"), - std::make_pair(Xbyak::util::Cpu::tAVX512PF, "AVX512PF"), - std::make_pair(Xbyak::util::Cpu::tAVX512ER, "AVX512ER"), - std::make_pair(Xbyak::util::Cpu::tAVX512CD, "AVX512CD"), - std::make_pair(Xbyak::util::Cpu::tAVX512BW, "AVX512BW"), - std::make_pair(Xbyak::util::Cpu::tAVX512VL, "AVX512VL"), - std::make_pair(Xbyak::util::Cpu::tAVX512_VBMI, "AVX512_VBMI"), - std::make_pair(Xbyak::util::Cpu::tAVX512VBMI, "AVX512VBMI"), - std::make_pair(Xbyak::util::Cpu::tAVX512_4VNNIW, "AVX512_4VNNIW"), - std::make_pair(Xbyak::util::Cpu::tAVX512_4FMAPS, "AVX512_4FMAPS"), - std::make_pair(Xbyak::util::Cpu::tPREFETCHWT1, "PREFETCHWT1"), - std::make_pair(Xbyak::util::Cpu::tPREFETCHW, "PREFETCHW"), - std::make_pair(Xbyak::util::Cpu::tSHA, "SHA"), - std::make_pair(Xbyak::util::Cpu::tMPX, "MPX"), - std::make_pair(Xbyak::util::Cpu::tAVX512_VBMI2, "AVX512_VBMI2"), - std::make_pair(Xbyak::util::Cpu::tGFNI, "GFNI"), + std::make_pair(Xbyak::util::Cpu::tSSE5, "SSE5"), + std::make_pair(Xbyak::util::Cpu::tSSSE3, "SSSE3"), std::make_pair(Xbyak::util::Cpu::tVAES, "VAES"), std::make_pair(Xbyak::util::Cpu::tVPCLMULQDQ, "VPCLMULQDQ"), - std::make_pair(Xbyak::util::Cpu::tAVX512_VNNI, "AVX512_VNNI"), - std::make_pair(Xbyak::util::Cpu::tAVX512_BITALG, "AVX512_BITALG"), - std::make_pair(Xbyak::util::Cpu::tAVX512_VPOPCNTDQ, "AVX512_VPOPCNTDQ"), }; + constexpr size_t line_max = 80; + size_t line_length = 0; for (const auto& [type, name] : types) { if (cpu_info.has(type)) { - fmt::print("CPU has {}\n", name); + const size_t name_length = std::strlen(name) + 1; + if ((line_length + name_length) >= line_max) { + line_length = name_length; + std::putchar('\n'); + } else if (line_length) { + std::putchar(' '); + } + std::fputs(name, stdout); + line_length += name_length; } } + std::putchar('\n'); } diff --git a/externals/dynarmic/tests/decoder_tests.cpp b/externals/dynarmic/tests/decoder_tests.cpp index afc4ebae7..e4ea2b460 100755 --- a/externals/dynarmic/tests/decoder_tests.cpp +++ b/externals/dynarmic/tests/decoder_tests.cpp @@ -4,34 +4,34 @@ */ #include -#include #include +#include #include -#include -#include "common/assert.h" -#include "frontend/A32/decoder/asimd.h" -#include "frontend/A32/translate/impl/translate_arm.h" -#include "frontend/ir/opcodes.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/frontend/A32/decoder/asimd.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" +#include "dynarmic/interface/A32/config.h" +#include "dynarmic/ir/opcodes.h" using namespace Dynarmic; -TEST_CASE("ASIMD Decoder: Ensure table order correctness", "[decode][a32]") { - const auto table = A32::GetASIMDDecodeTable(); +TEST_CASE("ASIMD Decoder: Ensure table order correctness", "[decode][a32][.]") { + const auto table = A32::GetASIMDDecodeTable(); - const auto get_ir = [](const A32::ASIMDMatcher& matcher, u32 instruction) { + const auto get_ir = [](const A32::ASIMDMatcher& matcher, u32 instruction) { ASSERT(matcher.Matches(instruction)); const A32::LocationDescriptor location{0, {}, {}}; IR::Block block{location}; - A32::ArmTranslatorVisitor visitor{block, location, {}}; + A32::TranslatorVisitor visitor{block, location, {}}; matcher.call(visitor, instruction); return block; }; - const auto is_decode_error = [&get_ir](const A32::ASIMDMatcher& matcher, u32 instruction){ + const auto is_decode_error = [&get_ir](const A32::ASIMDMatcher& matcher, u32 instruction) { const auto block = get_ir(matcher, instruction); for (const auto& ir_inst : block) { diff --git a/externals/dynarmic/tests/fp/FPToFixed.cpp b/externals/dynarmic/tests/fp/FPToFixed.cpp index 896b73106..547e58c67 100755 --- a/externals/dynarmic/tests/fp/FPToFixed.cpp +++ b/externals/dynarmic/tests/fp/FPToFixed.cpp @@ -8,18 +8,18 @@ #include -#include "common/common_types.h" -#include "common/fp/fpcr.h" -#include "common/fp/fpsr.h" -#include "common/fp/op.h" -#include "common/fp/rounding_mode.h" -#include "rand_int.h" +#include "../rand_int.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/op.h" +#include "dynarmic/common/fp/rounding_mode.h" using namespace Dynarmic; using namespace Dynarmic::FP; TEST_CASE("FPToFixed", "[fp]") { - const std::vector> test_cases { + const std::vector> test_cases{ {0x447A0000, 64, 0x000003E8, 0x00}, {0xC47A0000, 32, 0xFFFFFC18, 0x00}, {0x4479E000, 64, 0x000003E8, 0x10}, diff --git a/externals/dynarmic/tests/fp/FPValue.cpp b/externals/dynarmic/tests/fp/FPValue.cpp index 378595054..b90f5f70f 100755 --- a/externals/dynarmic/tests/fp/FPValue.cpp +++ b/externals/dynarmic/tests/fp/FPValue.cpp @@ -3,7 +3,7 @@ * SPDX-License-Identifier: 0BSD */ -#include "common/fp/info.h" +#include "dynarmic/common/fp/info.h" using namespace Dynarmic::FP; diff --git a/externals/dynarmic/tests/fp/mantissa_util_tests.cpp b/externals/dynarmic/tests/fp/mantissa_util_tests.cpp index d075849dc..8cec4a19f 100755 --- a/externals/dynarmic/tests/fp/mantissa_util_tests.cpp +++ b/externals/dynarmic/tests/fp/mantissa_util_tests.cpp @@ -8,16 +8,16 @@ #include -#include "common/common_types.h" -#include "common/fp/mantissa_util.h" -#include "common/safe_ops.h" -#include "rand_int.h" +#include "../rand_int.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/mantissa_util.h" +#include "dynarmic/common/safe_ops.h" using namespace Dynarmic; using namespace Dynarmic::FP; TEST_CASE("ResidualErrorOnRightShift", "[fp]") { - const std::vector> test_cases { + const std::vector> test_cases{ {0x00000001, 1, ResidualError::Half}, {0x00000002, 1, ResidualError::Zero}, {0x00000001, 2, ResidualError::LessThanHalf}, @@ -43,7 +43,7 @@ TEST_CASE("ResidualErrorOnRightShift Randomized", "[fp]") { const ResidualError result = ResidualErrorOnRightShift(mantissa, shift); const u64 calculated_error = Safe::ArithmeticShiftRightDouble(mantissa, u64(0), shift); - const ResidualError expected_result = [&]{ + const ResidualError expected_result = [&] { constexpr u64 half_error = 0x8000'0000'0000'0000ull; if (calculated_error == 0) { return ResidualError::Zero; diff --git a/externals/dynarmic/tests/fp/unpacked_tests.cpp b/externals/dynarmic/tests/fp/unpacked_tests.cpp index 795271a8c..0998aae3d 100755 --- a/externals/dynarmic/tests/fp/unpacked_tests.cpp +++ b/externals/dynarmic/tests/fp/unpacked_tests.cpp @@ -8,17 +8,17 @@ #include -#include "common/common_types.h" -#include "common/fp/fpcr.h" -#include "common/fp/fpsr.h" -#include "common/fp/unpacked.h" -#include "rand_int.h" +#include "../rand_int.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/unpacked.h" using namespace Dynarmic; using namespace Dynarmic::FP; TEST_CASE("FPUnpack Tests", "[fp]") { - const static std::vector, u32>> test_cases { + const static std::vector, u32>> test_cases{ {0x00000000, {FPType::Zero, false, ToNormalized(false, 0, 0)}, 0}, {0x7F800000, {FPType::Infinity, false, ToNormalized(false, 1000000, 1)}, 0}, {0xFF800000, {FPType::Infinity, true, ToNormalized(true, 1000000, 1)}, 0}, @@ -26,8 +26,8 @@ TEST_CASE("FPUnpack Tests", "[fp]") { {0xFF800001, {FPType::SNaN, true, ToNormalized(true, 0, 0)}, 0}, {0x7FC00001, {FPType::QNaN, false, ToNormalized(false, 0, 0)}, 0}, {0xFFC00001, {FPType::QNaN, true, ToNormalized(true, 0, 0)}, 0}, - {0x00000001, {FPType::Nonzero, false, ToNormalized(false, -149, 1)}, 0}, // Smallest single precision denormal is 2^-149. - {0x3F7FFFFF, {FPType::Nonzero, false, ToNormalized(false, -24, 0xFFFFFF)}, 0}, // 1.0 - epsilon + {0x00000001, {FPType::Nonzero, false, ToNormalized(false, -149, 1)}, 0}, // Smallest single precision denormal is 2^-149. + {0x3F7FFFFF, {FPType::Nonzero, false, ToNormalized(false, -24, 0xFFFFFF)}, 0}, // 1.0 - epsilon }; const FPCR fpcr; @@ -49,12 +49,12 @@ TEST_CASE("FPUnpack Tests", "[fp]") { } TEST_CASE("FPRound Tests", "[fp]") { - const static std::vector, u32>> test_cases { + const static std::vector, u32>> test_cases{ {0x7F800000, {FPType::Infinity, false, ToNormalized(false, 1000000, 1)}, 0x14}, {0xFF800000, {FPType::Infinity, true, ToNormalized(true, 1000000, 1)}, 0x14}, - {0x00000001, {FPType::Nonzero, false, ToNormalized(false, -149, 1)}, 0}, // Smallest single precision denormal is 2^-149. - {0x3F7FFFFF, {FPType::Nonzero, false, ToNormalized(false, -24, 0xFFFFFF)}, 0}, // 1.0 - epsilon - {0x3F800000, {FPType::Nonzero, false, ToNormalized(false, -28, 0xFFFFFFF)}, 0x10}, // rounds to 1.0 + {0x00000001, {FPType::Nonzero, false, ToNormalized(false, -149, 1)}, 0}, // Smallest single precision denormal is 2^-149. + {0x3F7FFFFF, {FPType::Nonzero, false, ToNormalized(false, -24, 0xFFFFFF)}, 0}, // 1.0 - epsilon + {0x3F800000, {FPType::Nonzero, false, ToNormalized(false, -28, 0xFFFFFFF)}, 0x10}, // rounds to 1.0 }; const FPCR fpcr; diff --git a/externals/dynarmic/tests/fuzz_util.cpp b/externals/dynarmic/tests/fuzz_util.cpp index 3acbc0dd5..1de6c29f2 100755 --- a/externals/dynarmic/tests/fuzz_util.cpp +++ b/externals/dynarmic/tests/fuzz_util.cpp @@ -3,16 +3,17 @@ * SPDX-License-Identifier: 0BSD */ +#include "./fuzz_util.h" + #include #include #include -#include "common/assert.h" -#include "common/fp/fpcr.h" -#include "common/fp/rounding_mode.h" -#include "fuzz_util.h" -#include "rand_int.h" +#include "./rand_int.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/rounding_mode.h" using namespace Dynarmic; @@ -34,7 +35,7 @@ u32 RandomFpcr() { return fpcr.Value(); } -InstructionGenerator::InstructionGenerator(const char* format){ +InstructionGenerator::InstructionGenerator(const char* format) { const size_t format_len = std::strlen(format); ASSERT(format_len == 16 || format_len == 32); diff --git a/externals/dynarmic/tests/fuzz_util.h b/externals/dynarmic/tests/fuzz_util.h index 04bf0f3a3..043342727 100755 --- a/externals/dynarmic/tests/fuzz_util.h +++ b/externals/dynarmic/tests/fuzz_util.h @@ -8,7 +8,7 @@ #include #include -#include "common/common_types.h" +#include "dynarmic/common/common_types.h" using Vector = std::array; diff --git a/externals/dynarmic/tests/print_info.cpp b/externals/dynarmic/tests/print_info.cpp index 48cbf5870..ac108b5ee 100755 --- a/externals/dynarmic/tests/print_info.cpp +++ b/externals/dynarmic/tests/print_info.cpp @@ -12,35 +12,35 @@ #include #include -#include -#include - -#include "common/common_types.h" -#include "common/llvm_disassemble.h" -#include "frontend/A32/decoder/arm.h" -#include "frontend/A32/decoder/asimd.h" -#include "frontend/A32/decoder/vfp.h" -#include "frontend/A32/location_descriptor.h" -#include "frontend/A32/translate/impl/translate_arm.h" -#include "frontend/A32/translate/translate.h" -#include "frontend/A64/decoder/a64.h" -#include "frontend/A64/location_descriptor.h" -#include "frontend/A64/translate/impl/impl.h" -#include "frontend/A64/translate/translate.h" -#include "frontend/ir/basic_block.h" -#include "ir_opt/passes.h" - #include #include +#include "dynarmic/common/bit_util.h" +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/llvm_disassemble.h" +#include "dynarmic/frontend/A32/decoder/arm.h" +#include "dynarmic/frontend/A32/decoder/asimd.h" +#include "dynarmic/frontend/A32/decoder/vfp.h" +#include "dynarmic/frontend/A32/location_descriptor.h" +#include "dynarmic/frontend/A32/translate/impl/translate.h" +#include "dynarmic/frontend/A32/translate/translate.h" +#include "dynarmic/frontend/A64/decoder/a64.h" +#include "dynarmic/frontend/A64/location_descriptor.h" +#include "dynarmic/frontend/A64/translate/impl/impl.h" +#include "dynarmic/frontend/A64/translate/translate.h" +#include "dynarmic/interface/A32/a32.h" +#include "dynarmic/interface/A32/disassembler.h" +#include "dynarmic/ir/basic_block.h" +#include "dynarmic/ir/opt/passes.h" + using namespace Dynarmic; const char* GetNameOfA32Instruction(u32 instruction) { - if (auto vfp_decoder = A32::DecodeVFP(instruction)) { + if (auto vfp_decoder = A32::DecodeVFP(instruction)) { return vfp_decoder->get().GetName(); - } else if (auto asimd_decoder = A32::DecodeASIMD(instruction)) { + } else if (auto asimd_decoder = A32::DecodeASIMD(instruction)) { return asimd_decoder->get().GetName(); - } else if (auto decoder = A32::DecodeArm(instruction)) { + } else if (auto decoder = A32::DecodeArm(instruction)) { return decoder->get().GetName(); } return ""; @@ -95,6 +95,30 @@ void PrintA64Instruction(u32 instruction) { fmt::print("{}\n", IR::DumpBlock(block)); } +void PrintThumbInstruction(u32 instruction) { + const size_t inst_size = (instruction >> 16) == 0 ? 2 : 4; + if (inst_size == 4) + instruction = Common::SwapHalves32(instruction); + + fmt::print("{:08x} {}\n", instruction, Common::DisassembleAArch32(true, 0, (u8*)&instruction, inst_size)); + + const A32::LocationDescriptor location{0, A32::PSR{0x1F0}, {}}; + IR::Block block{location}; + const bool should_continue = A32::TranslateSingleInstruction(block, location, instruction); + fmt::print("should_continue: {}\n\n", should_continue); + fmt::print("IR:\n"); + fmt::print("{}\n", IR::DumpBlock(block)); + + Optimization::A32GetSetElimination(block); + Optimization::DeadCodeElimination(block); + Optimization::ConstantPropagation(block); + Optimization::DeadCodeElimination(block); + Optimization::IdentityRemovalPass(block); + + fmt::print("Optimized IR:\n"); + fmt::print("{}\n", IR::DumpBlock(block)); +} + class ExecEnv final : public Dynarmic::A32::UserCallbacks { public: u64 ticks_left = 0; @@ -164,7 +188,7 @@ void ExecuteA32Instruction(u32 instruction) { u32 cpsr = 0; u32 fpscr = 0; - const std::map name_map = [®s, &ext_regs, &cpsr, &fpscr]{ + const std::map name_map = [®s, &ext_regs, &cpsr, &fpscr] { std::map name_map; for (size_t i = 0; i < regs.size(); i++) { name_map[fmt::format("r{}", i)] = ®s[i]; @@ -180,7 +204,7 @@ void ExecuteA32Instruction(u32 instruction) { return name_map; }(); - const auto get_line = [](){ + const auto get_line = []() { std::string line; std::getline(std::cin, line); std::transform(line.begin(), line.end(), line.begin(), [](unsigned char c) { return static_cast(std::tolower(c)); }); @@ -189,12 +213,15 @@ void ExecuteA32Instruction(u32 instruction) { const auto get_value = [&get_line]() -> std::optional { std::string line = get_line(); - if (line.length() > 2 && line[0] == '0' && line[1] == 'x') line = line.substr(2); - if (line.length() > 8) return std::nullopt; + if (line.length() > 2 && line[0] == '0' && line[1] == 'x') + line = line.substr(2); + if (line.length() > 8) + return std::nullopt; char* endptr; const u32 value = strtol(line.c_str(), &endptr, 16); - if (line.c_str() + line.length() != endptr) return std::nullopt; + if (line.c_str() + line.length() != endptr) + return std::nullopt; return value; }; @@ -230,7 +257,7 @@ void ExecuteA32Instruction(u32 instruction) { const u32 initial_pc = regs[15]; env.MemoryWrite32(initial_pc + 0, instruction); - env.MemoryWrite32(initial_pc + 4, 0xEAFFFFFE); // B +0 + env.MemoryWrite32(initial_pc + 4, 0xEAFFFFFE); // B +0 cpu.Run(); @@ -259,11 +286,11 @@ void ExecuteA32Instruction(u32 instruction) { int main(int argc, char** argv) { if (argc < 3 || argc > 4) { - fmt::print("usage: {} [-exec]\n", argv[0]); + fmt::print("usage: {} [-exec]\n", argv[0]); return 1; } - const char* const hex_instruction = [argv]{ + const char* const hex_instruction = [argv] { if (strlen(argv[2]) > 2 && argv[2][0] == '0' && argv[2][1] == 'x') { return argv[2] + 2; } @@ -281,8 +308,10 @@ int main(int argc, char** argv) { PrintA32Instruction(instruction); } else if (strcmp(argv[1], "a64") == 0) { PrintA64Instruction(instruction); + } else if (strcmp(argv[1], "t32") == 0 || strcmp(argv[1], "t16") == 0 || strcmp(argv[1], "thumb") == 0) { + PrintThumbInstruction(instruction); } else { - fmt::print("Invalid mode: {}\nValid values: a32, a64\n", argv[1]); + fmt::print("Invalid mode: {}\nValid values: a32, a64, thumb\n", argv[1]); return 1; } @@ -294,8 +323,8 @@ int main(int argc, char** argv) { if (strcmp(argv[1], "a32") == 0) { ExecuteA32Instruction(instruction); - } else if (strcmp(argv[1], "a64") == 0) { - fmt::print("Executing a64 code not currently supported\n"); + } else { + fmt::print("Executing in this mode not currently supported\n"); return 1; } } diff --git a/externals/dynarmic/tests/rand_int.h b/externals/dynarmic/tests/rand_int.h index ea99e937f..9b4dddb84 100755 --- a/externals/dynarmic/tests/rand_int.h +++ b/externals/dynarmic/tests/rand_int.h @@ -8,7 +8,7 @@ #include #include -template +template T RandInt(T min, T max) { static_assert(std::is_integral_v, "T must be an integral type."); static_assert(!std::is_same_v && !std::is_same_v, diff --git a/externals/dynarmic/tests/rsqrt_test.cpp b/externals/dynarmic/tests/rsqrt_test.cpp new file mode 100755 index 000000000..5c57a6fb9 --- /dev/null +++ b/externals/dynarmic/tests/rsqrt_test.cpp @@ -0,0 +1,151 @@ +/* This file is part of the dynarmic project. + * Copyright (c) 2021 MerryMage + * SPDX-License-Identifier: 0BSD + */ + +#include +#include + +#include "dynarmic/common/common_types.h" +#include "dynarmic/common/fp/fpcr.h" +#include "dynarmic/common/fp/fpsr.h" +#include "dynarmic/common/fp/op/FPRSqrtEstimate.h" + +extern "C" u32 rsqrt_inaccurate(u32); +extern "C" u32 rsqrt_full(u32); +extern "C" u32 rsqrt_full_gpr(u32); +extern "C" u32 rsqrt_full_nb(u32); +extern "C" u32 rsqrt_full_nb2(u32); +extern "C" u32 rsqrt_full_nb_gpr(u32); +extern "C" u32 rsqrt_newton(u32); +extern "C" u32 rsqrt_hack(u32); + +using namespace Dynarmic; + +extern "C" u32 rsqrt_fallback(u32 value) { + FP::FPCR fpcr; + FP::FPSR fpsr; + return FP::FPRSqrtEstimate(value, fpcr, fpsr); +} +extern "C" u32 _rsqrt_fallback(u32 value) { + return rsqrt_fallback(value); +} + +void Test(u32 value) { + FP::FPCR fpcr; + FP::FPSR fpsr; + + const u32 expect = FP::FPRSqrtEstimate(value, fpcr, fpsr); + const u32 full = rsqrt_full(value); + const u32 full_gpr = rsqrt_full_gpr(value); + const u32 newton = rsqrt_newton(value); + const u32 hack = rsqrt_hack(value); + + if (expect != full || expect != full_gpr || expect != newton || expect != hack) { + fmt::print("{:08x} = {:08x} : {:08x} : {:08x} : {:08x} : {:08x}\n", value, expect, full, full_gpr, newton, hack); + + REQUIRE(expect == full); + REQUIRE(expect == full_gpr); + REQUIRE(expect == newton); + REQUIRE(expect == hack); + } +} + +TEST_CASE("RSqrt Tests", "[fp][.]") { + Test(0x00000000); + Test(0x80000000); + Test(0x7f8b7201); + Test(0x7f800000); + Test(0x7fc00000); + Test(0xff800000); + Test(0xffc00000); + Test(0xff800001); + + for (u64 i = 0; i < 0x1'0000'0000; i++) { + const u32 value = static_cast(i); + Test(value); + } +} + +TEST_CASE("Benchmark RSqrt", "[fp][.]") { + BENCHMARK("Inaccurate") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_inaccurate(value); + } + return total; + }; + + BENCHMARK("Full divss") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_full(value); + } + return total; + }; + + BENCHMARK("Full divss (GPR)") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_full_gpr(value); + } + return total; + }; + + BENCHMARK("Full divss (NB)") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_full_nb(value); + } + return total; + }; + + BENCHMARK("Full divss (NB2)") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_full_nb2(value); + } + return total; + }; + + BENCHMARK("Full divss (NB + GPR)") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_full_nb_gpr(value); + } + return total; + }; + + BENCHMARK("One Newton iteration") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_newton(value); + } + return total; + }; + + BENCHMARK("Ugly Hack") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_hack(value); + } + return total; + }; + + BENCHMARK("Softfloat") { + u64 total = 0; + for (u64 i = 0; i < 0x1'0000'0000; i += 0x1234) { + const u32 value = static_cast(i); + total += rsqrt_fallback(value); + } + return total; + }; +} diff --git a/externals/dynarmic/tests/rsqrt_test_fn.s b/externals/dynarmic/tests/rsqrt_test_fn.s new file mode 100755 index 000000000..fa8dadee0 --- /dev/null +++ b/externals/dynarmic/tests/rsqrt_test_fn.s @@ -0,0 +1,303 @@ +.global _rsqrt_inaccurate +.global rsqrt_inaccurate +.global _rsqrt_full +.global rsqrt_full +.global _rsqrt_full_gpr +.global rsqrt_full_gpr +.global _rsqrt_full_nb +.global rsqrt_full_nb +.global _rsqrt_full_nb2 +.global rsqrt_full_nb2 +.global _rsqrt_full_nb_gpr +.global rsqrt_full_nb_gpr +.global _rsqrt_newton +.global rsqrt_newton +.global _rsqrt_hack +.global rsqrt_hack +.global _rsqrt_fallback + +.text +.intel_syntax noprefix + +.align 16 +min_pos_denorm: +.long 0x00800000,0,0,0 +penultimate_bit: +.long 0x00008000,0,0,0 +ultimate_bit: +.long 0x00004000,0,0,0 +top_mask: +.long 0xFFFF8000,0,0,0 +one: +.long 0x3f800000,0,0,0 +half: +.long 0x3f000000,0,0,0 +one_point_five: +.long 0x3fc00000,0,0,0 +magic1: +.long 0x60000000,0,0,0 +magic2: +.long 0x3c000000,0,0,0 +magic3: +.long 0x000047ff,0,0,0 + +_rsqrt_inaccurate: +rsqrt_inaccurate: + movd xmm0, edi + + rsqrtss xmm0, xmm0 + + movd eax, xmm0 + ret + +_rsqrt_full: +rsqrt_full: + movd xmm0, edi + + pand xmm0, [rip + top_mask] + por xmm0, [rip + penultimate_bit] + + vcmpngt_uqss xmm1, xmm0, [rip + min_pos_denorm] + ptest xmm1, xmm1 + jnz rsqrt_full_bad + + sqrtss xmm0, xmm0 + + movd xmm1, [rip + one] + divss xmm1, xmm0 + + paddd xmm1, [rip + ultimate_bit] + pand xmm1, [rip + top_mask] + + movd eax, xmm1 + ret + +_rsqrt_full_gpr: +rsqrt_full_gpr: + movd eax, xmm0 # Emulate regalloc mov + + mov eax, edi + and eax, 0xFFFF8000 + or eax, 0x00008000 + + movd xmm0, eax + vcmpngt_uqss xmm1, xmm0, [rip + min_pos_denorm] + ptest xmm1, xmm1 + jnz rsqrt_full_bad + + sqrtss xmm0, xmm0 + + movd xmm1, [rip + one] + divss xmm1, xmm0 + movd eax, xmm1 + + add eax, 0x00004000 + and eax, 0xffff8000 + + movd xmm0, eax # Emulate regalloc mov + ret + +_rsqrt_full_nb2: +rsqrt_full_nb2: + movd xmm0, edi + + pand xmm0, [rip + top_mask] + por xmm0, [rip + penultimate_bit] + + ucomiss xmm0, [rip + min_pos_denorm] + jna rsqrt_full_bad_new1 + + sqrtss xmm0, xmm0 + + movd xmm1, [rip + one] + divss xmm1, xmm0 + + paddd xmm1, [rip + ultimate_bit] + pand xmm1, [rip + top_mask] + + movd eax, xmm1 + ret + +_rsqrt_full_nb: +rsqrt_full_nb: + movd xmm0, edi + + pand xmm0, [rip + top_mask] + por xmm0, [rip + penultimate_bit] + + vcmpngt_uqss xmm1, xmm0, [rip + min_pos_denorm] + ptest xmm1, xmm1 + jnz rsqrt_full_bad_new1 + + sqrtss xmm0, xmm0 + + movd xmm1, [rip + one] + divss xmm1, xmm0 + + paddd xmm1, [rip + ultimate_bit] + pand xmm1, [rip + top_mask] + + movd eax, xmm1 + ret + +rsqrt_full_bad_new1: + cmp edi, 0x00800000 + jb rsqrt_full_bad_new_fallback1 + + movd xmm0, edi + rsqrtss xmm1, xmm0 + + ucomiss xmm1, xmm1 + jp rsqrt_full_bad_new1_nan + + movd eax, xmm1 + ret + +rsqrt_full_bad_new_fallback1: + call _rsqrt_fallback + ret + +rsqrt_full_bad_new1_nan: + ucomiss xmm0, xmm0 + jp rsqrt_full_bad_new1_nan_ret + + mov eax, 0x7FC00000 + ret + +rsqrt_full_bad_new1_nan_ret: + ret + +_rsqrt_full_nb_gpr: +rsqrt_full_nb_gpr: + movd eax, xmm0 # Emulate regalloc mov + + mov eax, edi + and eax, 0xFFFF8000 + or eax, 0x00008000 + + movd xmm0, eax + vcmpngt_uqss xmm1, xmm0, [rip + min_pos_denorm] + ptest xmm1, xmm1 + jnz rsqrt_full_bad_new2 + + sqrtss xmm0, xmm0 + + movd xmm1, [rip + one] + divss xmm1, xmm0 + movd eax, xmm1 + + add eax, 0x00004000 + and eax, 0xffff8000 + + movd xmm0, eax # Emulate regalloc mov + ret + +rsqrt_full_bad_new2: + cmp edi, 0x00800000 + jb rsqrt_full_bad_new_fallback2 + + movd xmm0, edi + rsqrtss xmm1, xmm0 + + test edi, edi + js rsqrt_full_bad_new2_nan + + movd eax, xmm1 + ret + +rsqrt_full_bad_new_fallback2: + call _rsqrt_fallback + ret + +rsqrt_full_bad_new2_nan: + mov eax, 0x7FC00000 + ret + +rsqrt_full_bad: + xorps xmm1, xmm1 + movd xmm0, edi + ucomiss xmm0, xmm1 + jp rsqrt_full_nan + je rsqrt_full_zero + jc rsqrt_full_neg + + cmp edi, 0x7F800000 + je rsqrt_full_inf + + # TODO: Full Denormal Implementation + call _rsqrt_fallback + ret + +rsqrt_full_neg: + mov eax, 0x7FC00000 + ret + +rsqrt_full_inf: + xor eax, eax + ret + +rsqrt_full_nan: + mov eax, edi + or eax, 0x00400000 + ret + +rsqrt_full_zero: + mov eax, edi + or eax, 0x7F800000 + ret + +_rsqrt_newton: +rsqrt_newton: + movd xmm0, edi + + pand xmm0, [rip + top_mask] + por xmm0, [rip + penultimate_bit] + + vcmpngt_uqss xmm1, xmm0, [rip + min_pos_denorm] + ptest xmm1, xmm1 + jnz rsqrt_full_bad + + rsqrtps xmm1, xmm0 + mulss xmm0, [rip + half] + vmulss xmm2, xmm1, xmm1 + mulss xmm2, xmm0 + movaps xmm0, [rip + one_point_five] + subss xmm0, xmm2 + mulss xmm0, xmm1 + + paddd xmm0, [rip + ultimate_bit] + pand xmm0, [rip + top_mask] + + movd eax, xmm0 + ret + +_rsqrt_hack: +rsqrt_hack: + movd xmm9, edi + + vpand xmm0, xmm9, [rip + top_mask] + por xmm0, [rip + penultimate_bit] + + # detect NaNs, negatives, zeros, denormals and infinities + vcmpngt_uqss xmm1, xmm0, [rip + min_pos_denorm] + ptest xmm1, xmm1 + jnz rsqrt_full_bad + + # calculate x64 estimate + rsqrtps xmm0, xmm0 + + # calculate correction factor + vpslld xmm1, xmm9, 8 + vpsrad xmm2, xmm1, 31 + paddd xmm1, [rip + magic1] + pcmpgtd xmm1, [rip + magic2] + pxor xmm1, xmm2 + movaps xmm2, [rip + magic3] + psubd xmm2, xmm1 + + # correct x64 estimate + paddd xmm0, xmm2 + pand xmm0, [rip + top_mask] + + movd eax, xmm0 + ret diff --git a/externals/dynarmic/tests/unicorn_emu/a32_unicorn.cpp b/externals/dynarmic/tests/unicorn_emu/a32_unicorn.cpp index 16052e4ca..58a8f4026 100755 --- a/externals/dynarmic/tests/unicorn_emu/a32_unicorn.cpp +++ b/externals/dynarmic/tests/unicorn_emu/a32_unicorn.cpp @@ -3,25 +3,28 @@ * SPDX-License-Identifier: 0BSD */ -#include -#include "A32/testenv.h" -#include "a32_unicorn.h" -#include "common/assert.h" -#include "common/bit_util.h" +#include "./a32_unicorn.h" -#define CHECKED(expr) \ - do { \ - if (auto cerr_ = (expr)) { \ - ASSERT_MSG(false, "Call " #expr " failed with error: {} ({})\n", cerr_, \ - uc_strerror(cerr_)); \ - } \ +#include + +#include "../A32/testenv.h" +#include "dynarmic/common/assert.h" +#include "dynarmic/common/bit_util.h" + +#define CHECKED(expr) \ + do { \ + if (auto cerr_ = (expr)) { \ + ASSERT_MSG(false, "Call " #expr " failed with error: {} ({})\n", cerr_, \ + uc_strerror(cerr_)); \ + } \ } while (0) constexpr u32 BEGIN_ADDRESS = 0; constexpr u32 END_ADDRESS = ~u32(0); -template -A32Unicorn::A32Unicorn(TestEnvironment& testenv) : testenv{testenv} { +template +A32Unicorn::A32Unicorn(TestEnvironment& testenv) + : testenv{testenv} { constexpr uc_mode open_mode = std::is_same_v ? UC_MODE_ARM : UC_MODE_THUMB; CHECKED(uc_open(UC_ARCH_ARM, open_mode, &uc)); @@ -30,7 +33,7 @@ A32Unicorn::A32Unicorn(TestEnvironment& testenv) : testenv{test CHECKED(uc_hook_add(uc, &mem_write_prot_hook, UC_HOOK_MEM_WRITE, (void*)MemoryWriteHook, this, BEGIN_ADDRESS, END_ADDRESS)); } -template +template A32Unicorn::~A32Unicorn() { ClearPageCache(); CHECKED(uc_hook_del(uc, intr_hook)); @@ -38,7 +41,7 @@ A32Unicorn::~A32Unicorn() { CHECKED(uc_close(uc)); } -template +template void A32Unicorn::Run() { // Thumb execution mode requires the LSB to be set to 1. constexpr u64 pc_mask = std::is_same_v ? 0 : 1; @@ -61,36 +64,50 @@ void A32Unicorn::Run() { SetPC(new_pc); } -template +template u32 A32Unicorn::GetPC() const { u32 pc; CHECKED(uc_reg_read(uc, UC_ARM_REG_PC, &pc)); return pc; } -template +template void A32Unicorn::SetPC(u32 value) { CHECKED(uc_reg_write(uc, UC_ARM_REG_PC, &value)); } -template +template u32 A32Unicorn::GetSP() const { u32 sp; CHECKED(uc_reg_read(uc, UC_ARM_REG_SP, &sp)); return sp; } -template +template void A32Unicorn::SetSP(u32 value) { CHECKED(uc_reg_write(uc, UC_ARM_REG_SP, &value)); } constexpr std::array gpr_ids{ - UC_ARM_REG_R0, UC_ARM_REG_R1, UC_ARM_REG_R2, UC_ARM_REG_R3, UC_ARM_REG_R4, UC_ARM_REG_R5, UC_ARM_REG_R6, UC_ARM_REG_R7, - UC_ARM_REG_R8, UC_ARM_REG_R9, UC_ARM_REG_R10, UC_ARM_REG_R11, UC_ARM_REG_R12, UC_ARM_REG_R13, UC_ARM_REG_R14, UC_ARM_REG_R15, + UC_ARM_REG_R0, + UC_ARM_REG_R1, + UC_ARM_REG_R2, + UC_ARM_REG_R3, + UC_ARM_REG_R4, + UC_ARM_REG_R5, + UC_ARM_REG_R6, + UC_ARM_REG_R7, + UC_ARM_REG_R8, + UC_ARM_REG_R9, + UC_ARM_REG_R10, + UC_ARM_REG_R11, + UC_ARM_REG_R12, + UC_ARM_REG_R13, + UC_ARM_REG_R14, + UC_ARM_REG_R15, }; -template +template Unicorn::A32::RegisterArray A32Unicorn::GetRegisters() const { Unicorn::A32::RegisterArray regs{}; Unicorn::A32::RegisterPtrArray ptrs; @@ -103,7 +120,7 @@ Unicorn::A32::RegisterArray A32Unicorn::GetRegisters() const { return regs; } -template +template void A32Unicorn::SetRegisters(const RegisterArray& value) { Unicorn::A32::RegisterConstPtrArray ptrs; for (size_t i = 0; i < ptrs.size(); ++i) { @@ -114,22 +131,50 @@ void A32Unicorn::SetRegisters(const RegisterArray& value) { reinterpret_cast(const_cast(ptrs.data())), static_cast(ptrs.size()))); } -using DoubleExtRegPtrArray = std::array; -using DoubleExtRegConstPtrArray = std::array; +using DoubleExtRegPtrArray = std::array; +using DoubleExtRegConstPtrArray = std::array; -constexpr std::array double_ext_reg_ids{ - UC_ARM_REG_D0, UC_ARM_REG_D1, UC_ARM_REG_D2, UC_ARM_REG_D3, UC_ARM_REG_D4, UC_ARM_REG_D5, UC_ARM_REG_D6, UC_ARM_REG_D7, - UC_ARM_REG_D8, UC_ARM_REG_D9, UC_ARM_REG_D10, UC_ARM_REG_D11, UC_ARM_REG_D12, UC_ARM_REG_D13, UC_ARM_REG_D14, UC_ARM_REG_D15, - UC_ARM_REG_D16, UC_ARM_REG_D17, UC_ARM_REG_D18, UC_ARM_REG_D19, UC_ARM_REG_D20, UC_ARM_REG_D21, UC_ARM_REG_D22, UC_ARM_REG_D23, - UC_ARM_REG_D24, UC_ARM_REG_D25, UC_ARM_REG_D26, UC_ARM_REG_D27, UC_ARM_REG_D28, UC_ARM_REG_D29, UC_ARM_REG_D30, UC_ARM_REG_D31, +constexpr std::array double_ext_reg_ids{ + UC_ARM_REG_D0, + UC_ARM_REG_D1, + UC_ARM_REG_D2, + UC_ARM_REG_D3, + UC_ARM_REG_D4, + UC_ARM_REG_D5, + UC_ARM_REG_D6, + UC_ARM_REG_D7, + UC_ARM_REG_D8, + UC_ARM_REG_D9, + UC_ARM_REG_D10, + UC_ARM_REG_D11, + UC_ARM_REG_D12, + UC_ARM_REG_D13, + UC_ARM_REG_D14, + UC_ARM_REG_D15, + UC_ARM_REG_D16, + UC_ARM_REG_D17, + UC_ARM_REG_D18, + UC_ARM_REG_D19, + UC_ARM_REG_D20, + UC_ARM_REG_D21, + UC_ARM_REG_D22, + UC_ARM_REG_D23, + UC_ARM_REG_D24, + UC_ARM_REG_D25, + UC_ARM_REG_D26, + UC_ARM_REG_D27, + UC_ARM_REG_D28, + UC_ARM_REG_D29, + UC_ARM_REG_D30, + UC_ARM_REG_D31, }; -template +template Unicorn::A32::ExtRegArray A32Unicorn::GetExtRegs() const { Unicorn::A32::ExtRegArray ext_regs{}; DoubleExtRegPtrArray ptrs; for (size_t i = 0; i < ptrs.size(); ++i) - ptrs[i] = &ext_regs[i*2]; + ptrs[i] = &ext_regs[i * 2]; CHECKED(uc_reg_read_batch(uc, const_cast(double_ext_reg_ids.data()), reinterpret_cast(ptrs.data()), static_cast(ptrs.size()))); @@ -137,60 +182,60 @@ Unicorn::A32::ExtRegArray A32Unicorn::GetExtRegs() const { return ext_regs; } -template +template void A32Unicorn::SetExtRegs(const ExtRegArray& value) { DoubleExtRegConstPtrArray ptrs; for (size_t i = 0; i < ptrs.size(); ++i) { - ptrs[i] = &value[i*2]; + ptrs[i] = &value[i * 2]; } CHECKED(uc_reg_write_batch(uc, const_cast(double_ext_reg_ids.data()), - reinterpret_cast(const_cast(ptrs.data())), static_cast(ptrs.size()))); + reinterpret_cast(const_cast(ptrs.data())), static_cast(ptrs.size()))); } -template +template u32 A32Unicorn::GetFpscr() const { u32 fpsr; CHECKED(uc_reg_read(uc, UC_ARM_REG_FPSCR, &fpsr)); return fpsr; } -template +template void A32Unicorn::SetFpscr(u32 value) { CHECKED(uc_reg_write(uc, UC_ARM_REG_FPSCR, &value)); } -template +template u32 A32Unicorn::GetFpexc() const { u32 value = 0; CHECKED(uc_reg_read(uc, UC_ARM_REG_FPEXC, &value)); return value; } -template +template void A32Unicorn::SetFpexc(u32 value) { CHECKED(uc_reg_write(uc, UC_ARM_REG_FPEXC, &value)); } -template +template u32 A32Unicorn::GetCpsr() const { u32 pstate; CHECKED(uc_reg_read(uc, UC_ARM_REG_CPSR, &pstate)); return pstate; } -template +template void A32Unicorn::SetCpsr(u32 value) { CHECKED(uc_reg_write(uc, UC_ARM_REG_CPSR, &value)); } -template +template void A32Unicorn::EnableFloatingPointAccess() { const u32 new_fpexc = GetFpexc() | (1U << 30); SetFpexc(new_fpexc); } -template +template void A32Unicorn::ClearPageCache() { for (const auto& page : pages) { CHECKED(uc_mem_unmap(uc, page->address, 4096)); @@ -198,7 +243,7 @@ void A32Unicorn::ClearPageCache() { pages.clear(); } -template +template void A32Unicorn::DumpMemoryInformation() { uc_mem_region* regions; u32 count; @@ -211,7 +256,7 @@ void A32Unicorn::DumpMemoryInformation() { CHECKED(uc_free(regions)); } -template +template void A32Unicorn::InterruptHook(uc_engine* /*uc*/, u32 int_number, void* user_data) { auto* this_ = static_cast(user_data); @@ -222,7 +267,7 @@ void A32Unicorn::InterruptHook(uc_engine* /*uc*/, u32 int_numbe auto iss = esr & 0xFFFFFF; switch (ec) { - case 0x15: // SVC + case 0x15: // SVC this_->testenv.CallSVC(iss); break; default: @@ -231,7 +276,7 @@ void A32Unicorn::InterruptHook(uc_engine* /*uc*/, u32 int_numbe } } -template +template bool A32Unicorn::UnmappedMemoryHook(uc_engine* uc, uc_mem_type /*type*/, u32 start_address, int size, u64 /*value*/, void* user_data) { auto* this_ = static_cast(user_data); @@ -252,7 +297,7 @@ bool A32Unicorn::UnmappedMemoryHook(uc_engine* uc, uc_mem_type uc_err err = uc_mem_map_ptr(uc, base_address, page->data.size(), permissions, page->data.data()); if (err == UC_ERR_MAP) - return; // page already exists + return; // page already exists CHECKED(err); this_->pages.emplace_back(std::move(page)); @@ -260,8 +305,8 @@ bool A32Unicorn::UnmappedMemoryHook(uc_engine* uc, uc_mem_type const auto is_in_range = [](u32 addr, u32 start, u32 end) { if (start <= end) - return addr >= start && addr <= end; // fffff[tttttt]fffff - return addr >= start || addr <= end; // ttttt]ffffff[ttttt + return addr >= start && addr <= end; // fffff[tttttt]fffff + return addr >= start || addr <= end; // ttttt]ffffff[ttttt }; const u32 start_address_page = start_address & ~u32(0xFFF); @@ -276,7 +321,7 @@ bool A32Unicorn::UnmappedMemoryHook(uc_engine* uc, uc_mem_type return true; } -template +template bool A32Unicorn::MemoryWriteHook(uc_engine* /*uc*/, uc_mem_type /*type*/, u32 start_address, int size, u64 value, void* user_data) { auto* this_ = static_cast(user_data); diff --git a/externals/dynarmic/tests/unicorn_emu/a32_unicorn.h b/externals/dynarmic/tests/unicorn_emu/a32_unicorn.h index 1570ffe6b..1cf06a02f 100755 --- a/externals/dynarmic/tests/unicorn_emu/a32_unicorn.h +++ b/externals/dynarmic/tests/unicorn_emu/a32_unicorn.h @@ -9,16 +9,15 @@ #include #ifdef _MSC_VER -#pragma warning(push, 0) -#include -#pragma warning(pop) +# pragma warning(push, 0) +# include +# pragma warning(pop) #else -#include +# include #endif -#include "common/common_types.h" - -#include "A32/testenv.h" +#include "../A32/testenv.h" +#include "dynarmic/common/common_types.h" namespace Unicorn::A32 { static constexpr size_t num_gprs = 16; @@ -28,9 +27,9 @@ using ExtRegArray = std::array; using RegisterArray = std::array; using RegisterPtrArray = std::array; using RegisterConstPtrArray = std::array; -} // namespace Unicorn::A32 +} // namespace Unicorn::A32 -template +template class A32Unicorn final { public: using ExtRegArray = Unicorn::A32::ExtRegArray; diff --git a/externals/dynarmic/tests/unicorn_emu/a64_unicorn.cpp b/externals/dynarmic/tests/unicorn_emu/a64_unicorn.cpp index ae5dd1362..583e04d9a 100755 --- a/externals/dynarmic/tests/unicorn_emu/a64_unicorn.cpp +++ b/externals/dynarmic/tests/unicorn_emu/a64_unicorn.cpp @@ -3,21 +3,23 @@ * SPDX-License-Identifier: 0BSD */ -#include "common/assert.h" -#include "a64_unicorn.h" +#include "./a64_unicorn.h" -#define CHECKED(expr) \ - do { \ - if (auto cerr_ = (expr)) { \ - ASSERT_MSG(false, "Call " #expr " failed with error: {} ({})\n", cerr_, \ - uc_strerror(cerr_)); \ - } \ +#include "dynarmic/common/assert.h" + +#define CHECKED(expr) \ + do { \ + if (auto cerr_ = (expr)) { \ + ASSERT_MSG(false, "Call " #expr " failed with error: {} ({})\n", cerr_, \ + uc_strerror(cerr_)); \ + } \ } while (0) constexpr u64 BEGIN_ADDRESS = 0; constexpr u64 END_ADDRESS = ~u64(0); -A64Unicorn::A64Unicorn(A64TestEnv& testenv) : testenv(testenv) { +A64Unicorn::A64Unicorn(A64TestEnv& testenv) + : testenv(testenv) { CHECKED(uc_open(UC_ARCH_ARM64, UC_MODE_ARM, &uc)); u64 fpv = 3 << 20; CHECKED(uc_reg_write(uc, UC_ARM64_REG_CPACR_EL1, &fpv)); @@ -66,8 +68,7 @@ constexpr std::array gpr_ids{ UC_ARM64_REG_X0, UC_ARM64_REG_X1, UC_ARM64_REG_X2, UC_ARM64_REG_X3, UC_ARM64_REG_X4, UC_ARM64_REG_X5, UC_ARM64_REG_X6, UC_ARM64_REG_X7, UC_ARM64_REG_X8, UC_ARM64_REG_X9, UC_ARM64_REG_X10, UC_ARM64_REG_X11, UC_ARM64_REG_X12, UC_ARM64_REG_X13, UC_ARM64_REG_X14, UC_ARM64_REG_X15, UC_ARM64_REG_X16, UC_ARM64_REG_X17, UC_ARM64_REG_X18, UC_ARM64_REG_X19, UC_ARM64_REG_X20, UC_ARM64_REG_X21, UC_ARM64_REG_X22, UC_ARM64_REG_X23, - UC_ARM64_REG_X24, UC_ARM64_REG_X25, UC_ARM64_REG_X26, UC_ARM64_REG_X27, UC_ARM64_REG_X28, UC_ARM64_REG_X29, UC_ARM64_REG_X30 -}; + UC_ARM64_REG_X24, UC_ARM64_REG_X25, UC_ARM64_REG_X26, UC_ARM64_REG_X27, UC_ARM64_REG_X28, UC_ARM64_REG_X29, UC_ARM64_REG_X30}; A64Unicorn::RegisterArray A64Unicorn::GetRegisters() const { RegisterArray regs{}; @@ -93,8 +94,7 @@ constexpr std::array vec_ids{ UC_ARM64_REG_Q0, UC_ARM64_REG_Q1, UC_ARM64_REG_Q2, UC_ARM64_REG_Q3, UC_ARM64_REG_Q4, UC_ARM64_REG_Q5, UC_ARM64_REG_Q6, UC_ARM64_REG_Q7, UC_ARM64_REG_Q8, UC_ARM64_REG_Q9, UC_ARM64_REG_Q10, UC_ARM64_REG_Q11, UC_ARM64_REG_Q12, UC_ARM64_REG_Q13, UC_ARM64_REG_Q14, UC_ARM64_REG_Q15, UC_ARM64_REG_Q16, UC_ARM64_REG_Q17, UC_ARM64_REG_Q18, UC_ARM64_REG_Q19, UC_ARM64_REG_Q20, UC_ARM64_REG_Q21, UC_ARM64_REG_Q22, UC_ARM64_REG_Q23, - UC_ARM64_REG_Q24, UC_ARM64_REG_Q25, UC_ARM64_REG_Q26, UC_ARM64_REG_Q27, UC_ARM64_REG_Q28, UC_ARM64_REG_Q29, UC_ARM64_REG_Q30, UC_ARM64_REG_Q31 -}; + UC_ARM64_REG_Q24, UC_ARM64_REG_Q25, UC_ARM64_REG_Q26, UC_ARM64_REG_Q27, UC_ARM64_REG_Q28, UC_ARM64_REG_Q29, UC_ARM64_REG_Q30, UC_ARM64_REG_Q31}; A64Unicorn::VectorArray A64Unicorn::GetVectors() const { VectorArray vecs{}; @@ -114,7 +114,7 @@ void A64Unicorn::SetVectors(const VectorArray& value) { ptrs[i] = &value[i]; CHECKED(uc_reg_write_batch(uc, const_cast(vec_ids.data()), - reinterpret_cast(const_cast(ptrs.data())), static_cast(num_vecs))); + reinterpret_cast(const_cast(ptrs.data())), static_cast(num_vecs))); } u32 A64Unicorn::GetFpcr() const { @@ -176,7 +176,7 @@ void A64Unicorn::InterruptHook(uc_engine* uc, u32 int_number, void* user_data) { auto iss = esr & 0xFFFFFF; switch (ec) { - case 0x15: // SVC + case 0x15: // SVC this_->testenv.CallSVC(iss); break; default: @@ -204,7 +204,7 @@ bool A64Unicorn::UnmappedMemoryHook(uc_engine* uc, uc_mem_type /*type*/, u64 sta uc_err err = uc_mem_map_ptr(uc, base_address, page->data.size(), permissions, page->data.data()); if (err == UC_ERR_MAP) - return; // page already exists + return; // page already exists CHECKED(err); this_->pages.emplace_back(std::move(page)); @@ -212,8 +212,8 @@ bool A64Unicorn::UnmappedMemoryHook(uc_engine* uc, uc_mem_type /*type*/, u64 sta const auto is_in_range = [](u64 addr, u64 start, u64 end) { if (start <= end) - return addr >= start && addr <= end; // fffff[tttttt]fffff - return addr >= start || addr <= end; // ttttt]ffffff[ttttt + return addr >= start && addr <= end; // fffff[tttttt]fffff + return addr >= start || addr <= end; // ttttt]ffffff[ttttt }; const u64 start_address_page = start_address & ~u64(0xFFF); diff --git a/externals/dynarmic/tests/unicorn_emu/a64_unicorn.h b/externals/dynarmic/tests/unicorn_emu/a64_unicorn.h index d0f27ada7..580c88a0f 100755 --- a/externals/dynarmic/tests/unicorn_emu/a64_unicorn.h +++ b/externals/dynarmic/tests/unicorn_emu/a64_unicorn.h @@ -9,15 +9,15 @@ #include #ifdef _MSC_VER -#pragma warning(push, 0) -#include -#pragma warning(pop) +# pragma warning(push, 0) +# include +# pragma warning(pop) #else -#include +# include #endif -#include "common/common_types.h" -#include "A64/testenv.h" +#include "../A64/testenv.h" +#include "dynarmic/common/common_types.h" class A64Unicorn final { public: diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index 6ff241cd2..cea7f0fb1 100755 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -4,9 +4,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include "common/assert.h" #include "common/logging/log.h" #include "common/page_table.h" diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.h b/src/core/arm/dynarmic/arm_dynarmic_32.h index fa6f4f430..063605b46 100755 --- a/src/core/arm/dynarmic/arm_dynarmic_32.h +++ b/src/core/arm/dynarmic/arm_dynarmic_32.h @@ -7,9 +7,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include "common/common_types.h" #include "common/hash.h" #include "core/arm/arm_interface.h" diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index 98a6cef62..63193dcb1 100755 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp @@ -4,8 +4,8 @@ #include #include -#include -#include +#include +#include #include "common/assert.h" #include "common/logging/log.h" #include "common/page_table.h" diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.h b/src/core/arm/dynarmic/arm_dynarmic_64.h index 5214a8147..0c4e46c64 100755 --- a/src/core/arm/dynarmic/arm_dynarmic_64.h +++ b/src/core/arm/dynarmic/arm_dynarmic_64.h @@ -7,7 +7,7 @@ #include #include -#include +#include #include "common/common_types.h" #include "common/hash.h" #include "core/arm/arm_interface.h" diff --git a/src/core/arm/dynarmic/arm_dynarmic_cp15.h b/src/core/arm/dynarmic/arm_dynarmic_cp15.h index 8597beddf..7c7ede79e 100755 --- a/src/core/arm/dynarmic/arm_dynarmic_cp15.h +++ b/src/core/arm/dynarmic/arm_dynarmic_cp15.h @@ -7,7 +7,7 @@ #include #include -#include +#include #include "common/common_types.h" namespace Core { diff --git a/src/core/arm/dynarmic/arm_exclusive_monitor.h b/src/core/arm/dynarmic/arm_exclusive_monitor.h index f9f056a59..73d41f223 100755 --- a/src/core/arm/dynarmic/arm_exclusive_monitor.h +++ b/src/core/arm/dynarmic/arm_exclusive_monitor.h @@ -7,7 +7,7 @@ #include #include -#include +#include #include "common/common_types.h" #include "core/arm/dynarmic/arm_dynarmic_32.h" diff --git a/src/core/hle/service/am/applets/software_keyboard.cpp b/src/core/hle/service/am/applets/software_keyboard.cpp index b05a5da04..b1a81810b 100755 --- a/src/core/hle/service/am/applets/software_keyboard.cpp +++ b/src/core/hle/service/am/applets/software_keyboard.cpp @@ -273,8 +273,13 @@ void SoftwareKeyboard::ProcessTextCheck() { std::memcpy(&swkbd_text_check, text_check_data.data(), sizeof(SwkbdTextCheck)); - std::u16string text_check_message = Common::UTF16StringFromFixedZeroTerminatedBuffer( - swkbd_text_check.text_check_message.data(), swkbd_text_check.text_check_message.size()); + std::u16string text_check_message = + swkbd_text_check.text_check_result == SwkbdTextCheckResult::Failure || + swkbd_text_check.text_check_result == SwkbdTextCheckResult::Confirm + ? Common::UTF16StringFromFixedZeroTerminatedBuffer( + swkbd_text_check.text_check_message.data(), + swkbd_text_check.text_check_message.size()) + : u""; LOG_INFO(Service_AM, "\nTextCheckResult: {}\nTextCheckMessage: {}", GetTextCheckResultName(swkbd_text_check.text_check_result), @@ -285,10 +290,10 @@ void SoftwareKeyboard::ProcessTextCheck() { SubmitNormalOutputAndExit(SwkbdResult::Ok, current_text); break; case SwkbdTextCheckResult::Failure: - ShowTextCheckDialog(SwkbdTextCheckResult::Failure, text_check_message); + ShowTextCheckDialog(SwkbdTextCheckResult::Failure, std::move(text_check_message)); break; case SwkbdTextCheckResult::Confirm: - ShowTextCheckDialog(SwkbdTextCheckResult::Confirm, text_check_message); + ShowTextCheckDialog(SwkbdTextCheckResult::Confirm, std::move(text_check_message)); break; case SwkbdTextCheckResult::Silent: default: @@ -482,7 +487,7 @@ void SoftwareKeyboard::InitializeFrontendKeyboard() { max_text_length <= 32 ? SwkbdTextDrawType::Line : SwkbdTextDrawType::Box; Core::Frontend::KeyboardInitializeParameters initialize_parameters{ - .ok_text{ok_text}, + .ok_text{std::move(ok_text)}, .header_text{}, .sub_text{}, .guide_text{}, @@ -558,10 +563,10 @@ void SoftwareKeyboard::InitializeFrontendKeyboard() { : false; Core::Frontend::KeyboardInitializeParameters initialize_parameters{ - .ok_text{ok_text}, - .header_text{header_text}, - .sub_text{sub_text}, - .guide_text{guide_text}, + .ok_text{std::move(ok_text)}, + .header_text{std::move(header_text)}, + .sub_text{std::move(sub_text)}, + .guide_text{std::move(guide_text)}, .initial_text{initial_text}, .max_text_length{max_text_length}, .min_text_length{min_text_length}, @@ -590,7 +595,7 @@ void SoftwareKeyboard::ShowNormalKeyboard() { void SoftwareKeyboard::ShowTextCheckDialog(SwkbdTextCheckResult text_check_result, std::u16string text_check_message) { - frontend.ShowTextCheckDialog(text_check_result, text_check_message); + frontend.ShowTextCheckDialog(text_check_result, std::move(text_check_message)); } void SoftwareKeyboard::ShowInlineKeyboard() { diff --git a/src/core/hle/service/ldn/ldn.cpp b/src/core/hle/service/ldn/ldn.cpp index d160ffe87..c709a8028 100755 --- a/src/core/hle/service/ldn/ldn.cpp +++ b/src/core/hle/service/ldn/ldn.cpp @@ -215,10 +215,151 @@ public: } }; +class INetworkService final : public ServiceFramework { +public: + explicit INetworkService(Core::System& system_) : ServiceFramework{system_, "INetworkService"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, nullptr, "Initialize"}, + {256, nullptr, "AttachNetworkInterfaceStateChangeEvent"}, + {264, nullptr, "GetNetworkInterfaceLastError"}, + {272, nullptr, "GetRole"}, + {280, nullptr, "GetAdvertiseData"}, + {288, nullptr, "GetGroupInfo"}, + {296, nullptr, "GetGroupInfo2"}, + {304, nullptr, "GetGroupOwner"}, + {312, nullptr, "GetIpConfig"}, + {320, nullptr, "GetLinkLevel"}, + {512, nullptr, "Scan"}, + {768, nullptr, "CreateGroup"}, + {776, nullptr, "DestroyGroup"}, + {784, nullptr, "SetAdvertiseData"}, + {1536, nullptr, "SendToOtherGroup"}, + {1544, nullptr, "RecvFromOtherGroup"}, + {1552, nullptr, "AddAcceptableGroupId"}, + {1560, nullptr, "ClearAcceptableGroupId"}, + }; + // clang-format on + + RegisterHandlers(functions); + } +}; + +class INetworkServiceMonitor final : public ServiceFramework { +public: + explicit INetworkServiceMonitor(Core::System& system_) + : ServiceFramework{system_, "INetworkServiceMonitor"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, &INetworkServiceMonitor::Initialize, "Initialize"}, + {256, nullptr, "AttachNetworkInterfaceStateChangeEvent"}, + {264, nullptr, "GetNetworkInterfaceLastError"}, + {272, nullptr, "GetRole"}, + {280, nullptr, "GetAdvertiseData"}, + {281, nullptr, "GetAdvertiseData2"}, + {288, nullptr, "GetGroupInfo"}, + {296, nullptr, "GetGroupInfo2"}, + {304, nullptr, "GetGroupOwner"}, + {312, nullptr, "GetIpConfig"}, + {320, nullptr, "GetLinkLevel"}, + {328, nullptr, "AttachJoinEvent"}, + {336, nullptr, "GetMembers"}, + }; + // clang-format on + + RegisterHandlers(functions); + } + + void Initialize(Kernel::HLERequestContext& ctx) { + LOG_WARNING(Service_LDN, "(STUBBED) called"); + + IPC::ResponseBuilder rb{ctx, 2}; + rb.Push(ERROR_DISABLED); + } +}; + +class LP2PAPP final : public ServiceFramework { +public: + explicit LP2PAPP(Core::System& system_) : ServiceFramework{system_, "lp2p:app"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, &LP2PAPP::CreateMonitorService, "CreateNetworkService"}, + {8, &LP2PAPP::CreateMonitorService, "CreateNetworkServiceMonitor"}, + }; + // clang-format on + + RegisterHandlers(functions); + } + + void CreateNetworkervice(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const u64 reserved_input = rp.Pop(); + const u32 input = rp.Pop(); + + LOG_WARNING(Service_LDN, "(STUBBED) called reserved_input={} input={}", reserved_input, + input); + + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface(system); + } + + void CreateMonitorService(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const u64 reserved_input = rp.Pop(); + + LOG_WARNING(Service_LDN, "(STUBBED) called reserved_input={}", reserved_input); + + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface(system); + } +}; + +class LP2PSYS final : public ServiceFramework { +public: + explicit LP2PSYS(Core::System& system_) : ServiceFramework{system_, "lp2p:sys"} { + // clang-format off + static const FunctionInfo functions[] = { + {0, &LP2PSYS::CreateMonitorService, "CreateNetworkService"}, + {8, &LP2PSYS::CreateMonitorService, "CreateNetworkServiceMonitor"}, + }; + // clang-format on + + RegisterHandlers(functions); + } + + void CreateNetworkervice(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const u64 reserved_input = rp.Pop(); + const u32 input = rp.Pop(); + + LOG_WARNING(Service_LDN, "(STUBBED) called reserved_input={} input={}", reserved_input, + input); + + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface(system); + } + + void CreateMonitorService(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const u64 reserved_input = rp.Pop(); + + LOG_WARNING(Service_LDN, "(STUBBED) called reserved_input={}", reserved_input); + + IPC::ResponseBuilder rb{ctx, 2, 0, 1}; + rb.Push(RESULT_SUCCESS); + rb.PushIpcInterface(system); + } +}; + void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) { std::make_shared(system)->InstallAsService(sm); std::make_shared(system)->InstallAsService(sm); std::make_shared(system)->InstallAsService(sm); + std::make_shared(system)->InstallAsService(sm); + std::make_shared(system)->InstallAsService(sm); } } // namespace Service::LDN diff --git a/src/yuzu/applets/software_keyboard.cpp b/src/yuzu/applets/software_keyboard.cpp index a9a095d58..aa453a79f 100755 --- a/src/yuzu/applets/software_keyboard.cpp +++ b/src/yuzu/applets/software_keyboard.cpp @@ -1101,12 +1101,11 @@ void QtSoftwareKeyboardDialog::NormalKeyboardButtonClicked(QPushButton* button) } if (button == ui->button_ok || button == ui->button_ok_shift || button == ui->button_ok_num) { - if (ui->topOSK->currentIndex() == 1) { - emit SubmitNormalText(SwkbdResult::Ok, - ui->text_edit_osk->toPlainText().toStdU16String()); - } else { - emit SubmitNormalText(SwkbdResult::Ok, ui->line_edit_osk->text().toStdU16String()); - } + auto text = ui->topOSK->currentIndex() == 1 + ? ui->text_edit_osk->toPlainText().toStdU16String() + : ui->line_edit_osk->text().toStdU16String(); + + emit SubmitNormalText(SwkbdResult::Ok, std::move(text)); return; } @@ -1265,13 +1264,11 @@ void QtSoftwareKeyboardDialog::TranslateButtonPress(HIDButton button) { if (is_inline) { emit SubmitInlineText(SwkbdReplyType::DecidedCancel, current_text, cursor_position); } else { - if (ui->topOSK->currentIndex() == 1) { - emit SubmitNormalText(SwkbdResult::Cancel, - ui->text_edit_osk->toPlainText().toStdU16String()); - } else { - emit SubmitNormalText(SwkbdResult::Cancel, - ui->line_edit_osk->text().toStdU16String()); - } + auto text = ui->topOSK->currentIndex() == 1 + ? ui->text_edit_osk->toPlainText().toStdU16String() + : ui->line_edit_osk->text().toStdU16String(); + + emit SubmitNormalText(SwkbdResult::Cancel, std::move(text)); } break; case HIDButton::Y: @@ -1563,7 +1560,7 @@ void QtSoftwareKeyboard::ShowNormalKeyboard() const { void QtSoftwareKeyboard::ShowTextCheckDialog( Service::AM::Applets::SwkbdTextCheckResult text_check_result, std::u16string text_check_message) const { - emit MainWindowShowTextCheckDialog(text_check_result, text_check_message); + emit MainWindowShowTextCheckDialog(text_check_result, std::move(text_check_message)); } void QtSoftwareKeyboard::ShowInlineKeyboard(